'use client'; import { useRef } from 'react'; import { useTranslations } from 'next-intl'; import { motion, useInView } from 'framer-motion'; import { Shield, Lock, Server, Eye, AlertTriangle, CheckCircle, Key, FileCheck, Mail, type LucideIcon, } from 'lucide-react'; import { LandingHeader, LandingFooter } from '@/components/layout'; type FeatureKey = 'encryption' | 'auth' | 'infrastructure' | 'monitoring' | 'audits' | 'continuity'; type CertKey = 'iso' | 'soc2' | 'gdpr' | 'pcidss'; type PracticeKey = 'secureDev' | 'dataProtection' | 'incidentResponse'; const FEATURES: { key: FeatureKey; icon: LucideIcon }[] = [ { key: 'encryption', icon: Lock }, { key: 'auth', icon: Key }, { key: 'infrastructure', icon: Server }, { key: 'monitoring', icon: Eye }, { key: 'audits', icon: FileCheck }, { key: 'continuity', icon: AlertTriangle }, ]; const CERTIFICATIONS: CertKey[] = ['iso', 'soc2', 'gdpr', 'pcidss']; const PRACTICES: PracticeKey[] = ['secureDev', 'dataProtection', 'incidentResponse']; const PRACTICE_ITEM_KEYS = ['item1', 'item2', 'item3', 'item4'] as const; export default function SecurityPage() { const t = useTranslations('marketing.security'); const heroRef = useRef(null); const contentRef = useRef(null); const isHeroInView = useInView(heroRef, { once: true }); const isContentInView = useInView(contentRef, { once: true }); const containerVariants = { hidden: { opacity: 0, y: 50 }, visible: { opacity: 1, y: 0, transition: { duration: 0.6, staggerChildren: 0.1, }, }, }; const itemVariants = { hidden: { opacity: 0, y: 20 }, visible: { opacity: 1, y: 0, transition: { duration: 0.5 }, }, }; return (
{/* Hero Section */}
{t('badge')}

{t('title1')}
{t('title2')}

{t('intro')}

{/* Wave */}
{/* Security Features */}

{t('featuresTitle')}

{t('featuresSubtitle')}

{FEATURES.map((feature) => { const IconComponent = feature.icon; return (

{t(`features.${feature.key}.title`)}

{t(`features.${feature.key}.description`)}

); })}
{/* Certifications */}

{t('certificationsTitle')}

{t('certificationsSubtitle')}

{CERTIFICATIONS.map((key, index) => (

{t(`certifications.${key}.name`)}

{t(`certifications.${key}.description`)}

))}
{/* Security Practices */}

{t('practicesTitle')}

{t('practicesSubtitle')}

{PRACTICES.map((key, index) => (

{t(`practices.${key}.title`)}

    {PRACTICE_ITEM_KEYS.map((itemKey) => (
  • {t(`practices.${key}.${itemKey}` as any)}
  • ))}
))}
{/* Report Vulnerability */}

{t('report.title')}

{t('report.body')}

security@xpeditis.com
); }