'use client'; import { useRef } from 'react'; import { useTranslations } from 'next-intl'; import { Link } from '@/i18n/navigation'; import { motion, useInView } from 'framer-motion'; import { Ship, Target, Eye, Heart, Users, TrendingUp, Linkedin, Calendar, ArrowRight, type LucideIcon, } from 'lucide-react'; import { LandingHeader, LandingFooter } from '@/components/layout'; type ValueKey = 'excellence' | 'transparency' | 'collaboration' | 'innovation'; type TeamKey = 'ceo' | 'cto' | 'coo' | 'vpSales' | 'vpEng' | 'vpProduct'; type TimelineKey = '2023' | '2024' | '2025' | '2026'; type StatKey = 'clients' | 'carriers' | 'countries' | 'bookings'; const VALUES: { key: ValueKey; icon: LucideIcon; color: string }[] = [ { key: 'excellence', icon: Target, color: 'from-blue-500 to-cyan-500' }, { key: 'transparency', icon: Heart, color: 'from-pink-500 to-rose-500' }, { key: 'collaboration', icon: Users, color: 'from-purple-500 to-indigo-500' }, { key: 'innovation', icon: TrendingUp, color: 'from-orange-500 to-amber-500' }, ]; const TEAM: { key: TeamKey; name: string; linkedin: string }[] = [ { key: 'ceo', name: 'Jean-Pierre Durand', linkedin: '#' }, { key: 'cto', name: 'Marie Lefebvre', linkedin: '#' }, { key: 'coo', name: 'Thomas Martin', linkedin: '#' }, { key: 'vpSales', name: 'Sophie Bernard', linkedin: '#' }, { key: 'vpEng', name: 'Alexandre Petit', linkedin: '#' }, { key: 'vpProduct', name: 'Claire Moreau', linkedin: '#' }, ]; const TIMELINE_YEARS: TimelineKey[] = ['2023', '2024', '2025', '2026']; const STATS: { key: StatKey; value: string }[] = [ { key: 'clients', value: '500+' }, { key: 'carriers', value: '50+' }, { key: 'countries', value: '15' }, { key: 'bookings', value: '100K+' }, ]; export default function AboutPage() { const t = useTranslations('marketing.about'); const heroRef = useRef(null); const missionRef = useRef(null); const valuesRef = useRef(null); const teamRef = useRef(null); const timelineRef = useRef(null); const statsRef = useRef(null); const isHeroInView = useInView(heroRef, { once: true }); const isMissionInView = useInView(missionRef, { once: true }); const isValuesInView = useInView(valuesRef, { once: true }); const isTeamInView = useInView(teamRef, { once: true }); const isTimelineInView = useInView(timelineRef, { once: true }); const isStatsInView = useInView(statsRef, { 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 */}
{/* Mission & Vision Section */}

{t('mission.title')}

{t('mission.body')}

{t('vision.title')}

{t('vision.body')}

{/* Stats Section */}
{STATS.map((stat, index) => ( {stat.value}
{t(`stats.${stat.key}`)}
))}
{/* Values Section */}

{t('valuesTitle')}

{t('valuesSubtitle')}

{VALUES.map(value => { const IconComponent = value.icon; return (

{t(`values.${value.key}.title`)}

{t(`values.${value.key}.description`)}

); })}
{/* Timeline Section */}

{t('timelineTitle')}

{t('timelineSubtitle')}

{TIMELINE_YEARS.map((year, index) => (
{year}

{t(`timeline.${year}.title`)}

{t(`timeline.${year}.description`)}

))}
{/* Team Section */}

{t('teamTitle')}

{t('teamSubtitle')}

{TEAM.map(member => (

{member.name}

{t(`team.${member.key}.role`)}

{t(`team.${member.key}.bio`)}

))}
{/* CTA Section */}

{t('cta.title')}

{t('cta.body')}

{t('cta.createAccount')} {t('cta.viewCareers')}
); }