'use client'
import { motion } from 'motion/react'
import {
BrainCircuit, Search, MessageSquare, Zap, Cpu, Workflow,
Globe, Shield, ArrowRight, Sparkles, Layers, Activity,
Box
} from 'lucide-react'
import { useRouter } from 'next/navigation'
import Image from 'next/image'
import { useLanguage } from '@/lib/i18n'
import { useState } from 'react'
export function LandingPage() {
const { t } = useLanguage()
const router = useRouter()
const [billingInterval, setBillingInterval] = useState<'monthly' | 'annual'>('monthly')
const AGENTS = [
{ key: 'scraper', icon: },
{ key: 'researcher', icon: },
{ key: 'slideGen', icon: },
{ key: 'monitor', icon: },
{ key: 'diagramGen', icon: },
{ key: 'custom', icon: },
]
const BRAINSTORM_ITEMS = ['waveGeneration', 'collaboration', 'export']
const PLANS = [
{ key: 'basic', popular: false, price: t('landing.pricing.basicPrice'), period: '' },
{ key: 'pro', popular: true, price: billingInterval === 'monthly' ? '9,90€' : '7,90€', period: billingInterval === 'monthly' ? t('landing.pricing.perMonth') : t('landing.pricing.perMonthAnnual') },
{ key: 'business', popular: false, price: billingInterval === 'monthly' ? '29,90€' : '23,90€', period: billingInterval === 'monthly' ? t('landing.pricing.perMonth') : t('landing.pricing.perMonthAnnual') },
{ key: 'enterprise', popular: false, price: billingInterval === 'monthly' ? '49,90€' : '39,90€', period: billingInterval === 'monthly' ? t('landing.pricing.perUser') : t('landing.pricing.perUserAnnual') },
]
const TECH_TIERS = [
{ key: 'tags', color: 'bg-brand-accent' },
{ key: 'embeddings', color: 'bg-ochre' },
{ key: 'chatRag', color: 'bg-ink' },
]
const FOOTER_SECTIONS = ['product', 'community', 'legal'] as const
return (
{/* Navigation */}
{/* Hero */}
{t('landing.hero.badge')}
{t('landing.hero.title1')}
{t('landing.hero.title2')}
{t('landing.hero.subtitle')}
{t('landing.hero.secondary')}
{/* App Preview Mockup */}
{t('landing.hero.memoryEcho')}
{t('landing.hero.memoryEchoText')}
{t('landing.hero.brainstormLive')}
{[1, 2, 3].map(i => (
JD
))}
{t('landing.hero.ideasGenerated')}
{/* Features */}
{t('landing.features.label')}
{t('landing.features.title')}
{t('landing.features.title2')}
{t('landing.features.desc')}
{['f1', 'f2', 'f3'].map((f, i) => {
const icons = [
,
,
]
return (
{icons[i]}
{t(`landing.features.${f}Title`)}
{t(`landing.features.${f}Desc`)}
)
})}
{/* Agents */}
{t('landing.agents.label')}
{t('landing.agents.title')}
{t('landing.agents.desc')}
{AGENTS.map((agent, i) => (
{agent.icon}
{t(`landing.agents.${agent.key}.title`)}
{t(`landing.agents.${agent.key}.desc`)}
))}
{/* Brainstorm */}
{t('landing.brainstorm.label')}
{t('landing.brainstorm.title')}
{BRAINSTORM_ITEMS.map((item, i) => (
{i + 1}
{t(`landing.brainstorm.${item}.title`)}
{t(`landing.brainstorm.${item}.desc`)}
))}
{t('landing.brainstorm.disruptionLabel')}
{t('landing.brainstorm.disruptionText')}
{t('landing.brainstorm.analogyLabel')}
{t('landing.brainstorm.analogyText')}
{/* Tech */}
{t('landing.tech.label')}
{t('landing.tech.title')}
{['OpenAI', 'Google', 'Anthropic', 'DeepSeek', 'Mistral', 'Meta', 'Ollama', 'Groq', 'X.AI', 'Custom'].map((brand, i) => (
{brand.slice(0, 2).toUpperCase()}
{brand}
))}
{TECH_TIERS.map((tier, i) => (
{t(`landing.tech.${tier.key}.title`)}
{t(`landing.tech.${tier.key}.desc`)}
))}
{/* Pricing */}
{t('landing.pricing.label')}
{t('landing.pricing.title')}
{t('landing.pricing.desc')}
(-20%)
{PLANS.map((plan, i) => (
{plan.popular && (
{t('landing.pricing.popular')}
)}
{t(`landing.pricing.${plan.key}.name`)}
{plan.price}
{plan.period && {plan.period}}
{t(`landing.pricing.${plan.key}.desc`)}
{[0, 1, 2, 3, 4, 5].map(j => {
const feat = t(`landing.pricing.${plan.key}.feature${j}`)
if (!feat || feat === `landing.pricing.${plan.key}.feature${j}`) return null
return (
)
})}
))}
{/* BYOK */}
{t('landing.byok.label')}
{t('landing.byok.title')}
{t('landing.byok.desc')}
{t('landing.byok.noLockin')}
{t('landing.byok.noLockinDesc')}
{t('landing.byok.cost')}
{t('landing.byok.costDesc')}
{"{"}
"provider": "anthropic",
"model": "claude-3-opus",
"apiKey": "sk-ant-at03-..."
"useSystemKey": false
{"}"}
{t('landing.byok.configLabel')}
{/* Final CTA */}
{t('landing.cta.title1')}
{t('landing.cta.title2')}
{t('landing.cta.desc')}
{/* Footer */}
)
}