From 2c1fc756a1f96490982c9cd7626f0a2aa8668d64 Mon Sep 17 00:00:00 2001 From: Urtzi Alfaro Date: Mon, 5 Jan 2026 20:17:44 +0100 Subject: [PATCH] Improve public pages 2 --- .../src/components/layout/Footer/Footer.tsx | 18 --- frontend/src/locales/en/features.json | 26 +++- frontend/src/locales/es/features.json | 26 +++- frontend/src/locales/eu/features.json | 26 +++- frontend/src/pages/public/FeaturesPage.tsx | 113 ++++++++++++++++-- 5 files changed, 181 insertions(+), 28 deletions(-) diff --git a/frontend/src/components/layout/Footer/Footer.tsx b/frontend/src/components/layout/Footer/Footer.tsx index 29ef67b4..a20b3224 100644 --- a/frontend/src/components/layout/Footer/Footer.tsx +++ b/frontend/src/components/layout/Footer/Footer.tsx @@ -2,18 +2,12 @@ import React, { forwardRef } from 'react'; import { clsx } from 'clsx'; import { Link } from 'react-router-dom'; import { useTranslation } from 'react-i18next'; -import { Button } from '../../ui'; import { Heart, ExternalLink, Mail, Phone, - MapPin, - Github, - Twitter, - Linkedin, Globe, - Shield, FileText, HelpCircle, MessageSquare @@ -141,12 +135,6 @@ export const Footer = forwardRef(({ copyrightText, showVersion = true, version = '2.0.0', - showLanguageSelector = false, - languages = [], - currentLanguage = 'es', - onLanguageChange, - showThemeToggle = false, - onThemeToggle, showPrivacyLinks = true, compact = false, children, @@ -208,12 +196,6 @@ export const Footer = forwardRef(({ const socialLinksToShow = socialLinks || defaultSocialLinks; - // Privacy links - const privacyLinks: FooterLink[] = [ - { id: 'privacy', label: t('common:footer.links.privacy', 'Privacidad'), href: '/privacy', icon: Shield }, - { id: 'terms', label: t('common:footer.links.terms', 'Términos'), href: '/terms', icon: FileText }, - { id: 'cookies', label: t('common:footer.links.cookies', 'Cookies'), href: '/cookies' }, - ]; // Scroll into view const scrollIntoView = React.useCallback(() => { diff --git a/frontend/src/locales/en/features.json b/frontend/src/locales/en/features.json index 0226291e..e427a54c 100644 --- a/frontend/src/locales/en/features.json +++ b/frontend/src/locales/en/features.json @@ -228,9 +228,33 @@ "benefit3": "Manages central + point inventory" } }, + "roadmap": { + "badge": "Coming Soon", + "title": "Our Roadmap", + "highlight": "Limitless Innovation", + "subtitle": "We don't stop at predictive AI. We are building the complete technological ecosystem for the future of the bakery.", + "iot": { + "title": "IoT and Hardware", + "description": "Connect your ovens and silos directly with the AI for total precision in baking and real stock control.", + "item1": "Connected IoT Ovens", + "item2": "Silo Weight Sensors" + }, + "staff_app": { + "title": "Staff App", + "description": "Digitize the workshop with mobile production panels. Less paper, fluid communication and total traceability.", + "item1": "Digital Kitchen Panels", + "item2": "Dynamic Shift Control" + }, + "ecosystem": { + "title": "AI Ecosystem", + "description": "Predictive maintenance of machinery and a smart marketplace to optimize supply costs.", + "item1": "Predictive Maintenance", + "item2": "Smart Marketplace" + } + }, "cta": { "title": "See Bakery-AI in Action", "subtitle": "Request a personalized demo for your bakery", "button": "Request Demo" } -} +} \ No newline at end of file diff --git a/frontend/src/locales/es/features.json b/frontend/src/locales/es/features.json index 0e978f18..25852932 100644 --- a/frontend/src/locales/es/features.json +++ b/frontend/src/locales/es/features.json @@ -228,9 +228,33 @@ "benefit3": "Gestiona inventario central + puntos" } }, + "roadmap": { + "badge": "Próximamente", + "title": "Nuestra Hoja de Ruta", + "highlight": "Innovación Sin Límites", + "subtitle": "No nos detenemos en la IA predictiva. Estamos construyendo el ecosistema tecnológico completo para el futuro de la panadería.", + "iot": { + "title": "IoT y Hardware", + "description": "Conecta tus hornos y silos directamente con la IA para una precisión total en el horneado y control de stock real.", + "item1": "Hornos Conectados IoT", + "item2": "Sensores de Peso en Silos" + }, + "staff_app": { + "title": "App para Equipos", + "description": "Digitaliza el obrador con paneles de producción móviles. Menos papel, comunicación fluida y trazabilidad total.", + "item1": "Paneles de Cocina Digitales", + "item2": "Control de Turnos Dinámico" + }, + "ecosystem": { + "title": "Ecosistema IA", + "description": "Mantenimiento predictivo de maquinaria y un marketplace inteligente para optimizar costes de suministros.", + "item1": "Mantenimiento Predictivo", + "item2": "Marketplace Inteligente" + } + }, "cta": { "title": "Ver Bakery-IA en Acción", "subtitle": "Solicita una demo personalizada para tu panadería", "button": "Solicitar Demo" } -} +} \ No newline at end of file diff --git a/frontend/src/locales/eu/features.json b/frontend/src/locales/eu/features.json index 7f8583f7..c5ba22e0 100644 --- a/frontend/src/locales/eu/features.json +++ b/frontend/src/locales/eu/features.json @@ -228,9 +228,33 @@ "benefit3": "Inbentario zentrala + puntuak kudeatzen ditu" } }, + "roadmap": { + "badge": "Laster", + "title": "Gure Bide-orria", + "highlight": "Mugagabe Berrikuntza", + "subtitle": "Ez gara IA prediktiboan geratzen. Okindegiaren etorkizunerako ekosistema teknologiko osoa eraikitzen ari gara.", + "iot": { + "title": "IoT eta Hardwarea", + "description": "Konektatu zure labeak eta siloak zuzenean IArekin labekatzean zehaztasun osoa eta izkinen kontrol errealerako.", + "item1": "IoT Laben Konexioa", + "item2": "Siloen Pisu Sentsoreak" + }, + "staff_app": { + "title": "Taldeentzako App-a", + "description": "Digitalizatu lantegia ekoizpen panel mugikorrekin. Paper gutxiago, komunikazio arina eta trazabilitate osoa.", + "item1": "Sukaldeko Panel Digitalak", + "item2": "Txanda-kontrol Dinamikoa" + }, + "ecosystem": { + "title": "IA Ekosistema", + "description": "Makineriaren mantentze prediktiboa eta hornidura kostuak optimizatzeko marketplace adimenduna.", + "item1": "Mantentze Prediktiboa", + "item2": "Marketplace Adimenduna" + } + }, "cta": { "title": "Ikusi Bakery-IA Lan Egiten", "subtitle": "Eskatu zure okindegiaren demo pertsonalizatua", "button": "Demo Eskatu" } -} +} \ No newline at end of file diff --git a/frontend/src/pages/public/FeaturesPage.tsx b/frontend/src/pages/public/FeaturesPage.tsx index 3fbdc4b8..a1de8536 100644 --- a/frontend/src/pages/public/FeaturesPage.tsx +++ b/frontend/src/pages/public/FeaturesPage.tsx @@ -3,7 +3,6 @@ import { Link, useNavigate } from 'react-router-dom'; import { useTranslation } from 'react-i18next'; import { PublicLayout } from '../../components/layout'; import { - Button, ProgressBar, FloatingCTA, ScrollReveal, @@ -14,7 +13,6 @@ import { Card, CardHeader, CardBody, - Badge } from '../../components/ui'; import { getDemoUrl } from '../../utils/navigation'; import { @@ -25,10 +23,7 @@ import { Leaf, Store, CheckCircle2, - Calendar, - Package, AlertTriangle, - Euro, Globe, School, Building2, @@ -37,14 +32,15 @@ import { Cloud, PartyPopper, ArrowRight, - Zap, Target, TreeDeciduous, Droplets, Award, Database, FileText, - Sparkles + Sparkles, + Cpu, + Smartphone } from 'lucide-react'; const FeaturesPage: React.FC = () => { @@ -913,6 +909,109 @@ const FeaturesPage: React.FC = () => { + {/* Condensed Roadmap Section */} +
+
+ +
+
+ + {t('roadmap.badge')} +
+

+ {t('roadmap.title')} + + {t('roadmap.highlight')} + +

+

+ {t('roadmap.subtitle')} +

+
+
+ +
+ + + +
+ +
+

{t('roadmap.iot.title')}

+
+ +

+ {t('roadmap.iot.description')} +

+
    +
  • + + {t('roadmap.iot.item1')} +
  • +
  • + + {t('roadmap.iot.item2')} +
  • +
+
+
+
+ + + + +
+ +
+

{t('roadmap.staff_app.title')}

+
+ +

+ {t('roadmap.staff_app.description')} +

+
    +
  • + + {t('roadmap.staff_app.item1')} +
  • +
  • + + {t('roadmap.staff_app.item2')} +
  • +
+
+
+
+ + + + +
+ +
+

{t('roadmap.ecosystem.title')}

+
+ +

+ {t('roadmap.ecosystem.description')} +

+
    +
  • + + {t('roadmap.ecosystem.item1')} +
  • +
  • + + {t('roadmap.ecosystem.item2')} +
  • +
+
+
+
+
+
+
+ {/* Final CTA - Replicated from AboutPage */}