feat: configurator overhaul — full i18n, AI brief generation, redesigned UI

Configurator:
- Full i18n: industries, timelines, AI types, field labels, error messages,
  complete screen — all translated to French
- Real AI brief generation via OpenRouter (DeepSeek V3.2) with fallback template
- Fixed email notification bug (was sending to client instead of admin)
- Added wizard reset capability ("Start Over" button on success screen)
- Redesigned section shell with refined card, accent line, step indicators
- All step components use translation keys instead of hardcoded strings

Hero:
- Tighter spacing to keep CTAs above the fold
- Reduced bottom gradient height

Footer:
- Removed GitHub link
- Legal name in copyright
- "American-founded" location text

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-26 17:52:09 +01:00
parent 4aa357a999
commit acefb70b68
12 changed files with 532 additions and 459 deletions

View File

@@ -64,14 +64,17 @@
"subtitle": "A few details help us prepare the right approach."
},
"step3": {
"title": "Your details",
"subtitle": "We'll send you a personalized project brief."
"title": "Almost there",
"subtitle": "Review your selections and tell us how to reach you."
},
"complete": {
"title": "Your project brief is ready",
"subtitle": "Check your inbox — we've sent a detailed brief to {email}",
"bookTitle": "Book a Consultation",
"bookSubtitle": "30 minutes to discuss your brief with our team"
"bookSubtitle": "30 minutes to discuss your brief with our team",
"bookCall": "Book a Call",
"briefPreview": "Your project brief",
"reachDirectly": "Or reach us directly at"
},
"howItWorks": "How it works",
"noCommitment": "No commitment required",
@@ -92,9 +95,63 @@
},
"aiToggle": "Add AI Integration",
"aiDescription": "Intelligent features and automation built directly into your systems.",
"aiTypes": {
"teammate": {
"title": "AI Teammate",
"description": "An internal AI assistant that helps your team work faster — automates tasks, answers questions, connects your tools."
},
"customer-facing": {
"title": "Customer-Facing AI",
"description": "AI features your clients interact with — smart search, personalized recommendations, conversational interfaces."
},
"data-intelligence": {
"title": "Data Intelligence",
"description": "AI that analyzes your business data to surface insights, trends, and actionable recommendations."
},
"notsure": {
"title": "Not Sure Yet",
"description": "No problem — we'll explore the best AI approach together during discovery."
}
},
"industries": {
"maritime": "Maritime / Yachting",
"hospitality": "Hospitality",
"technology": "Technology",
"realestate": "Real Estate",
"finance": "Finance",
"ngo": "NGO / Nonprofit",
"other": "Other"
},
"timelines": {
"asap": "ASAP",
"1-3months": "13 months",
"3-6months": "36 months",
"exploring": "Just exploring"
},
"fields": {
"industry": "Your industry",
"scope": "What are you looking to achieve?",
"scopeOptional": "(optional)",
"scopePlaceholder": "e.g. We need to replace our current booking system and improve the client-facing experience…",
"timeline": "Timeline",
"name": "Your name",
"company": "Company",
"email": "Email address"
},
"summary": {
"heading": "Your selections",
"aiEnhancement": "AI Enhancement"
},
"generating": "Generating",
"privacy": "Your information is private and will never be shared.",
"generateBrief": "Generate My Brief",
"nextStep": "Next Step",
"back": "Back"
"back": "Back",
"startOver": "Start Over",
"errors": {
"general": "Something went wrong. Please try again.",
"network": "Network error. Please check your connection and try again."
}
},
"process": {
"eyebrow": "How We Work",

View File

@@ -64,14 +64,17 @@
"subtitle": "Quelques détails nous aident à préparer la bonne approche."
},
"step3": {
"title": "Vos coordonnées",
"subtitle": "Nous vous enverrons un brief projet personnalisé."
"title": "Presque terminé",
"subtitle": "Vérifiez vos sélections et indiquez-nous comment vous joindre."
},
"complete": {
"title": "Votre brief projet est prêt",
"subtitle": "Vérifiez votre boîte mail — nous avons envoyé un brief détaillé à {email}",
"bookTitle": "Réservez une Consultation",
"bookSubtitle": "30 minutes pour discuter de votre brief avec notre équipe"
"bookSubtitle": "30 minutes pour discuter de votre brief avec notre équipe",
"bookCall": "Réserver un Appel",
"briefPreview": "Votre brief projet",
"reachDirectly": "Ou contactez-nous directement à"
},
"howItWorks": "Comment ça marche",
"noCommitment": "Sans engagement",
@@ -92,9 +95,63 @@
},
"aiToggle": "Ajouter l'Intégration IA",
"aiDescription": "Fonctionnalités intelligentes et automatisation intégrées directement dans vos systèmes.",
"aiTypes": {
"teammate": {
"title": "IA Coéquipier",
"description": "Un assistant IA interne qui aide votre équipe à travailler plus vite — automatise les tâches, répond aux questions, connecte vos outils."
},
"customer-facing": {
"title": "IA Client",
"description": "Des fonctionnalités IA avec lesquelles vos clients interagissent — recherche intelligente, recommandations personnalisées, interfaces conversationnelles."
},
"data-intelligence": {
"title": "Intelligence Données",
"description": "L'IA analyse vos données métier pour faire émerger des insights, tendances et recommandations actionnables."
},
"notsure": {
"title": "Pas Encore Sûr",
"description": "Pas de problème — nous explorerons ensemble la meilleure approche IA lors de la phase de découverte."
}
},
"industries": {
"maritime": "Maritime / Yachting",
"hospitality": "Hôtellerie",
"technology": "Technologie",
"realestate": "Immobilier",
"finance": "Finance",
"ngo": "ONG / Associatif",
"other": "Autre"
},
"timelines": {
"asap": "Dès que possible",
"1-3months": "13 mois",
"3-6months": "36 mois",
"exploring": "Je me renseigne"
},
"fields": {
"industry": "Votre secteur",
"scope": "Que cherchez-vous à accomplir ?",
"scopeOptional": "(facultatif)",
"scopePlaceholder": "ex. Nous devons remplacer notre système de réservation actuel et améliorer l'expérience client…",
"timeline": "Calendrier",
"name": "Votre nom",
"company": "Entreprise",
"email": "Adresse email"
},
"summary": {
"heading": "Vos sélections",
"aiEnhancement": "Enrichissement IA"
},
"generating": "Génération",
"privacy": "Vos informations sont privées et ne seront jamais partagées.",
"generateBrief": "Générer Mon Brief",
"nextStep": "Étape Suivante",
"back": "Retour"
"back": "Retour",
"startOver": "Recommencer",
"errors": {
"general": "Une erreur est survenue. Veuillez réessayer.",
"network": "Erreur réseau. Veuillez vérifier votre connexion et réessayer."
}
},
"process": {
"eyebrow": "Notre Méthode",