diff --git a/config/docker-compose.yml b/config/docker-compose.yml index 879f7a8b..215a0b1b 100644 --- a/config/docker-compose.yml +++ b/config/docker-compose.yml @@ -73,7 +73,7 @@ services: retries: 3 rabbitmq: - image: rabbitmq:3.12-management-alpine + image: rabbitmq:4.0-management-alpine container_name: bakery-rabbitmq restart: unless-stopped # ONLY use environment substitution from .env diff --git a/frontend/src/api/types/auth.ts b/frontend/src/api/types/auth.ts index 63360f49..2d5a0c11 100644 --- a/frontend/src/api/types/auth.ts +++ b/frontend/src/api/types/auth.ts @@ -29,6 +29,7 @@ export interface UserRegistration { subscription_plan?: string | null; // Default: "starter", options: starter, professional, enterprise use_trial?: boolean | null; // Default: false - Whether to use trial period payment_method_id?: string | null; // Stripe payment method ID + coupon_code?: string | null; // Promotional coupon code for discounts/trial extensions // GDPR Consent fields terms_accepted?: boolean; // Default: true - Accept terms of service privacy_accepted?: boolean; // Default: true - Accept privacy policy diff --git a/frontend/src/components/demo/DemoErrorScreen.tsx b/frontend/src/components/demo/DemoErrorScreen.tsx deleted file mode 100644 index 7c24d71a..00000000 --- a/frontend/src/components/demo/DemoErrorScreen.tsx +++ /dev/null @@ -1,105 +0,0 @@ -import React from 'react'; -import { Button, Card, CardBody } from '../ui'; -import { PublicLayout } from '../layout'; -import { AlertCircle, RefreshCw, Home, HelpCircle } from 'lucide-react'; - -interface Props { - error: string; - details?: Array<{ service: string; error_message: string }>; - onRetry: () => void; - isRetrying?: boolean; -} - -export const DemoErrorScreen: React.FC = ({ - error, - details, - onRetry, - isRetrying = false, -}) => { - return ( - -
- - -
- -
- -

- Error en la Configuración del Demo -

- -

- {error} -

- - {details && details.length > 0 && ( -
-

- Detalles del error: -

-
    - {details.map((detail, idx) => ( -
  • - - {detail.service}: - {' '} - - {detail.error_message} - -
  • - ))} -
-
- )} - -
- - - - - -
- -
-

- Si el problema persiste, por favor contacta a nuestro equipo de soporte. -

-
-
-
-
-
- ); -}; diff --git a/frontend/src/components/demo/DemoProgressIndicator.tsx b/frontend/src/components/demo/DemoProgressIndicator.tsx deleted file mode 100644 index 9ba3d59e..00000000 --- a/frontend/src/components/demo/DemoProgressIndicator.tsx +++ /dev/null @@ -1,132 +0,0 @@ -import React from 'react'; -import { Badge, ProgressBar } from '../ui'; -import { CheckCircle, XCircle, Loader2, Clock } from 'lucide-react'; -import { ServiceProgress } from '@/api/services/demo'; - -interface Props { - progress: Record; -} - -const SERVICE_LABELS: Record = { - tenant: 'Tenant Virtual', - inventory: 'Inventario y Productos', - recipes: 'Recetas', - sales: 'Historial de Ventas', - orders: 'Pedidos de Clientes', - suppliers: 'Proveedores', - production: 'Producción', - forecasting: 'Pronósticos', -}; - -const SERVICE_DESCRIPTIONS: Record = { - tenant: 'Creando tu entorno demo aislado', - inventory: 'Cargando ingredientes, recetas y datos de stock', - recipes: 'Configurando recetas y fórmulas', - sales: 'Importando registros de ventas históricas', - orders: 'Configurando pedidos de clientes', - suppliers: 'Importando datos de proveedores', - production: 'Configurando lotes de producción', - forecasting: 'Preparando datos de pronósticos', -}; - -export const DemoProgressIndicator: React.FC = ({ progress }) => { - return ( -
- {Object.entries(progress).map(([serviceName, serviceProgress]) => ( -
-
-
-
- {getStatusIcon(serviceProgress.status)} -
-
-

- {SERVICE_LABELS[serviceName] || serviceName} -

-

- {SERVICE_DESCRIPTIONS[serviceName] || 'Procesando...'} -

-
-
- - {getStatusLabel(serviceProgress.status)} - -
- - {serviceProgress.status === 'in_progress' && ( -
- -
- )} - - {serviceProgress.records_cloned > 0 && ( -

- ✓ {serviceProgress.records_cloned} registros clonados -

- )} - - {serviceProgress.error && ( -

- Error: {serviceProgress.error} -

- )} -
- ))} -
- ); -}; - -function getStatusIcon(status: ServiceProgress['status']): React.ReactNode { - switch (status) { - case 'completed': - return ; - case 'failed': - return ; - case 'in_progress': - return ; - default: - return ; - } -} - -function getStatusLabel(status: ServiceProgress['status']): string { - switch (status) { - case 'completed': - return 'Completado'; - case 'failed': - return 'Fallido'; - case 'in_progress': - return 'En Progreso'; - default: - return 'Pendiente'; - } -} - -function getStatusVariant( - status: ServiceProgress['status'] -): 'success' | 'error' | 'info' | 'default' { - switch (status) { - case 'completed': - return 'success'; - case 'failed': - return 'error'; - case 'in_progress': - return 'info'; - default: - return 'default'; - } -} diff --git a/frontend/src/components/domain/auth/PilotBanner.tsx b/frontend/src/components/domain/auth/PilotBanner.tsx new file mode 100644 index 00000000..ca7530d3 --- /dev/null +++ b/frontend/src/components/domain/auth/PilotBanner.tsx @@ -0,0 +1,76 @@ +/** + * Pilot Banner Component + * Displays when pilot=true URL parameter is detected + * Shows 3-month free trial information and PILOT2025 coupon code + */ +import React from 'react'; +import { Star, Check, Award } from 'lucide-react'; +import { Card } from '../../ui'; + +interface PilotBannerProps { + couponCode: string; + trialMonths: number; + className?: string; +} + +export const PilotBanner: React.FC = ({ + couponCode, + trialMonths, + className = '' +}) => { + return ( + +
+ {/* Icon */} +
+ +
+ + {/* Content */} +
+
+ +

+ ¡Programa Piloto Activado! +

+ +
+ +

+ Has sido seleccionado para nuestro programa piloto exclusivo. + Disfruta de {trialMonths} meses completamente gratis como uno de nuestros primeros 20 clientes. +

+ +
+
+ + + Cupón: {couponCode} + +
+ +
+ + + {trialMonths} meses gratis + +
+ +
+ + + 40% descuento de por vida + +
+
+ +

+ El cupón se aplicará automáticamente durante el registro. Tarjeta requerida para validación, sin cargo inmediato. +

+
+
+
+ ); +}; + +export default PilotBanner; diff --git a/frontend/src/components/domain/auth/RegisterForm.tsx b/frontend/src/components/domain/auth/RegisterForm.tsx index cfb46fad..0cbd5e88 100644 --- a/frontend/src/components/domain/auth/RegisterForm.tsx +++ b/frontend/src/components/domain/auth/RegisterForm.tsx @@ -6,9 +6,11 @@ import { useAuthActions, useAuthLoading, useAuthError } from '../../../stores/au import { useToast } from '../../../hooks/ui/useToast'; import { SubscriptionSelection } from './SubscriptionSelection'; import PaymentForm from './PaymentForm'; +import PilotBanner from './PilotBanner'; import { loadStripe } from '@stripe/stripe-js'; import { Elements } from '@stripe/react-stripe-js'; import { CheckCircle } from 'lucide-react'; +import { usePilotDetection } from '../../../hooks/usePilotDetection'; // Initialize Stripe - In production, use environment variable const stripePromise = loadStripe(import.meta.env.VITE_STRIPE_PUBLISHABLE_KEY || 'pk_test_51234567890123456789012345678901234567890123456789012345678901234567890123456789012345'); @@ -47,20 +49,23 @@ export const RegisterForm: React.FC = ({ marketingConsent: false, analyticsConsent: false }); - + const [errors, setErrors] = useState>({}); const [showPassword, setShowPassword] = useState(false); const [showConfirmPassword, setShowConfirmPassword] = useState(false); - + const { register } = useAuthActions(); const isLoading = useAuthLoading(); const error = useAuthError(); const { success: showSuccessToast, error: showErrorToast } = useToast(); - + + // Detect pilot program participation + const { isPilot, couponCode, trialMonths } = usePilotDetection(); + // Multi-step form state - const [currentStep, setCurrentStep] = useState('basic_info'); + const [currentStep, setCurrentStep] = useState('basic_info'); const [selectedPlan, setSelectedPlan] = useState('starter'); - const [useTrial, setUseTrial] = useState(false); + const [useTrial, setUseTrial] = useState(isPilot); // Auto-enable trial for pilot customers const [bypassPayment, setBypassPayment] = useState(false); // Helper function to determine password match status @@ -139,6 +144,8 @@ export const RegisterForm: React.FC = ({ subscription_plan: selectedPlan, use_trial: useTrial, payment_method_id: paymentMethodId, + // Include coupon code if pilot customer + coupon_code: isPilot ? couponCode : undefined, // Include consent data terms_accepted: formData.acceptTerms, privacy_accepted: formData.acceptTerms, @@ -148,7 +155,11 @@ export const RegisterForm: React.FC = ({ await register(registrationData); - showSuccessToast(t('auth:register.registering', '¡Bienvenido! Tu cuenta ha sido creada correctamente.'), { + const successMessage = isPilot + ? '¡Bienvenido al programa piloto! Tu cuenta ha sido creada con 3 meses gratis.' + : '¡Bienvenido! Tu cuenta ha sido creada correctamente.'; + + showSuccessToast(t('auth:register.registering', successMessage), { title: t('auth:alerts.success_create', 'Cuenta creada exitosamente') }); onSuccess?.(); @@ -157,7 +168,7 @@ export const RegisterForm: React.FC = ({ title: t('auth:alerts.error_create', 'Error al crear la cuenta') }); } - }; + }; const handlePaymentSuccess = () => { handleRegistrationSubmit(); // In a real app, you would pass the payment method ID @@ -486,10 +497,14 @@ export const RegisterForm: React.FC = ({

+ {isPilot && couponCode && ( + + )} + diff --git a/frontend/src/components/domain/auth/SubscriptionSelection.tsx b/frontend/src/components/domain/auth/SubscriptionSelection.tsx index 312e8c79..f601ebc1 100644 --- a/frontend/src/components/domain/auth/SubscriptionSelection.tsx +++ b/frontend/src/components/domain/auth/SubscriptionSelection.tsx @@ -143,8 +143,8 @@ export const SubscriptionSelection: React.FC = ({ return translations[feature] || feature.replace(/_/g, ' '); }; - // Get trial days from the selected plan (default to 14 if not available) - const trialDays = availablePlans.plans[selectedPlan]?.trial_days || 14; + // Get trial days from the selected plan (default to 90 for pilot customers) + const trialDays = 90; // 3 months for pilot customers return (
@@ -160,7 +160,7 @@ export const SubscriptionSelection: React.FC = ({ {t('auth:subscription.trial_title', 'Prueba gratuita')}

- {t('auth:subscription.trial_description', `Obtén ${trialDays} días de prueba gratuita - sin tarjeta de crédito requerida`)} + {t('auth:subscription.trial_description', `Obtén 3 meses de prueba gratuita - tarjeta requerida para validación`)}

@@ -218,7 +218,7 @@ export const SubscriptionSelection: React.FC = ({ {metadata.trial_days > 0 && ( - {metadata.trial_days} días gratis + 3 meses gratis )} diff --git a/frontend/src/components/layout/Footer/Footer.tsx b/frontend/src/components/layout/Footer/Footer.tsx index 49b0dadf..4f42aced 100644 --- a/frontend/src/components/layout/Footer/Footer.tsx +++ b/frontend/src/components/layout/Footer/Footer.tsx @@ -194,10 +194,9 @@ export const Footer = forwardRef(({ id: 'company', title: t('common:footer.sections.company', 'Empresa'), links: [ - { id: 'about', label: t('common:footer.links.about', 'Acerca de'), href: '/about', external: true }, - { id: 'blog', label: t('common:footer.links.blog', 'Blog'), href: 'https://blog.panaderia-ia.com', external: true }, - { id: 'careers', label: t('common:footer.links.careers', 'Carreras'), href: 'https://careers.panaderia-ia.com', external: true }, - { id: 'press', label: t('common:footer.links.press', 'Prensa'), href: '/press', external: true }, + { id: 'about', label: t('common:footer.links.about', 'Acerca de'), href: '/about' }, + { id: 'blog', label: t('common:footer.links.blog', 'Blog'), href: '/blog' }, + { id: 'careers', label: t('common:footer.links.careers', 'Carreras'), href: '/careers' }, ], }, ]; diff --git a/frontend/src/components/layout/PublicHeader/PublicHeader.tsx b/frontend/src/components/layout/PublicHeader/PublicHeader.tsx index 023157c2..a3767680 100644 --- a/frontend/src/components/layout/PublicHeader/PublicHeader.tsx +++ b/frontend/src/components/layout/PublicHeader/PublicHeader.tsx @@ -1,6 +1,7 @@ import React, { forwardRef } from 'react'; import { clsx } from 'clsx'; import { Link } from 'react-router-dom'; +import { useTranslation } from 'react-i18next'; import { Button, ThemeToggle } from '../../ui'; import { CompactLanguageSelector } from '../../ui/LanguageSelector'; @@ -62,6 +63,7 @@ export const PublicHeader = forwardRef(({ navigationItems = [], variant = 'default', }, ref) => { + const { t } = useTranslation(); const headerRef = React.useRef(null); // Default navigation items @@ -180,7 +182,7 @@ export const PublicHeader = forwardRef(({ size="md" className="hidden sm:inline-flex font-medium hover:bg-[var(--bg-secondary)] transition-all duration-200" > - Iniciar Sesión + {t('common:header.login')} @@ -188,8 +190,8 @@ export const PublicHeader = forwardRef(({ size="md" className="bg-gradient-to-r from-[var(--color-primary)] to-[var(--color-primary-dark)] hover:opacity-90 text-white font-semibold shadow-lg hover:shadow-xl transition-all duration-200 px-6" > - Comenzar Gratis - Registro + {t('common:header.start_free')} + {t('common:header.register')} @@ -210,7 +212,7 @@ export const PublicHeader = forwardRef(({ variant="ghost" size="sm" className="p-2" - aria-label="Abrir menú de navegación" + aria-label={t('common:header.open_menu')} onClick={() => { // TODO: Implement mobile menu console.log('Mobile menu toggle'); @@ -237,7 +239,7 @@ export const PublicHeader = forwardRef(({ {showLanguageSelector && (
- Idioma + {t('common:header.language')}
@@ -252,7 +254,7 @@ export const PublicHeader = forwardRef(({ size="md" className="w-full font-medium border border-[var(--border-primary)] hover:bg-[var(--bg-secondary)]" > - Iniciar Sesión + {t('common:header.login')} @@ -260,7 +262,7 @@ export const PublicHeader = forwardRef(({ size="md" className="w-full bg-gradient-to-r from-[var(--color-primary)] to-[var(--color-primary-dark)] hover:opacity-90 text-white font-semibold shadow-lg" > - Comenzar Gratis + {t('common:header.start_free')} diff --git a/frontend/src/components/subscription/PricingSection.tsx b/frontend/src/components/subscription/PricingSection.tsx index b12bc597..ff091499 100644 --- a/frontend/src/components/subscription/PricingSection.tsx +++ b/frontend/src/components/subscription/PricingSection.tsx @@ -261,7 +261,7 @@ export const PricingSection: React.FC = () => {
- {plan.trial_days} días gratis + 3 meses gratis
)} @@ -346,7 +346,7 @@ export const PricingSection: React.FC = () => {

- {plan.trial_days} días gratis • Sin tarjeta requerida + 3 meses gratis • Tarjeta requerida para validación

); diff --git a/frontend/src/hooks/usePilotDetection.ts b/frontend/src/hooks/usePilotDetection.ts new file mode 100644 index 00000000..9b9ac4d0 --- /dev/null +++ b/frontend/src/hooks/usePilotDetection.ts @@ -0,0 +1,32 @@ +/** + * Custom hook to detect pilot program participation via URL parameter + * Checks for ?pilot=true in URL and provides pilot status and coupon code + */ +import { useMemo } from 'react'; +import { useLocation } from 'react-router-dom'; + +interface PilotDetectionResult { + isPilot: boolean; + couponCode: string | null; + trialMonths: number; + trialDays: number; +} + +export const usePilotDetection = (): PilotDetectionResult => { + const location = useLocation(); + + const pilotInfo = useMemo(() => { + const searchParams = new URLSearchParams(location.search); + const pilotParam = searchParams.get('pilot'); + const isPilot = pilotParam === 'true'; + + return { + isPilot, + couponCode: isPilot ? 'PILOT2025' : null, + trialMonths: isPilot ? 3 : 0, + trialDays: isPilot ? 90 : 14, + }; + }, [location.search]); + + return pilotInfo; +}; diff --git a/frontend/src/locales/en/common.json b/frontend/src/locales/en/common.json index 5bef6b97..eb0d94fc 100644 --- a/frontend/src/locales/en/common.json +++ b/frontend/src/locales/en/common.json @@ -335,5 +335,25 @@ "positive_number": "Must be a positive number", "negative_not_allowed": "Negative numbers are not allowed" } + }, + "cookie": { + "banner_title": "We Value Your Privacy", + "minimized_message": "We use cookies to enhance your experience.", + "show_details": "Show Details", + "banner_description": "We use cookies and similar technologies to provide, protect, and improve our services. Some cookies are essential for the site to function, while others help us understand how you use our services and provide personalized features.", + "banner_description_2": "By clicking \"Accept All\", you consent to our use of all cookies. You can customize your preferences or accept only essential cookies.", + "learn_more": "Learn more about cookies", + "privacy_policy": "Privacy Policy", + "minimize": "Minimize", + "accept_all": "Accept All", + "accept_essential": "Essential Only", + "customize": "Customize" + }, + "header": { + "login": "Login", + "start_free": "Start Free", + "register": "Sign Up", + "language": "Language", + "open_menu": "Open navigation menu" } } \ No newline at end of file diff --git a/frontend/src/locales/en/landing.json b/frontend/src/locales/en/landing.json index 83d94fa8..0a68741e 100644 --- a/frontend/src/locales/en/landing.json +++ b/frontend/src/locales/en/landing.json @@ -3,125 +3,246 @@ "features": "Features", "benefits": "Benefits", "pricing": "Pricing", - "testimonials": "Testimonials" + "faq": "FAQ" }, "hero": { "badge": "Advanced AI for Bakeries", - "title_line1": "Revolutionize your", - "title_line2": "Bakery with AI", - "subtitle": "Automatically optimize your production, reduce waste by up to 35%, predict demand with 92% accuracy and increase your sales with artificial intelligence.", - "cta_primary": "Start Free 14-Day Trial", - "cta_secondary": "Watch Live Demo", + "badge_sustainability": "Food Waste Reduction", + "title_line1": "Increase Profits,", + "title_line2": "Reduce Waste", + "subtitle": "AI platform for bakeries that want to produce exactly what they'll sell. Reduce food waste, improve margins, and save time on planning. 100% Spanish, your data is yours.", + "pilot_banner": { + "title": "Pilot Launch!", + "offer": "3 MONTHS FREE", + "description": "for early pilot participants" + }, + "cta_primary": "Start Free Now", + "cta_secondary": "Watch Demo", "features": { - "no_credit_card": "No credit card required", - "quick_setup": "5-minute setup", - "support_24_7": "24/7 support in English" + "card_required": "Card required • 3 months free", + "no_credit_card": "Card required • 3 months free", + "quick_setup": "Ready in minutes, not hours", + "support_24_7": "Personalized support in English" + } + }, + "pilot": { + "banner": { + "active": "Pilot Program Activated", + "trial_applied": "3 months free automatically applied", + "coupon_code": "Code", + "description": "You've been selected for our exclusive pilot program" + }, + "badge": "Pilot Program - Limited Spots", + "title": "Looking for 20 Pioneer Bakeries", + "subtitle": "We're selecting the first 20 bakeries to join our exclusive pilot program. In exchange for your feedback, you get 3 months free + lifetime preferential pricing.", + "benefits": { + "founders_beta": { + "title": "Founders Beta", + "description": "Lifetime access with 40% discount" + }, + "influence_product": { + "title": "Influence the Product", + "description": "Your needs shape the platform" + }, + "premium_support": { + "title": "Premium Support", + "description": "Direct attention from founding team" + } } }, "features": { - "title": "Everything you need to optimize your bakery", - "subtitle": "Powerful tools designed specifically for modern bakeries", - "ai_forecasting": { - "title": "AI Demand Forecasting", - "description": "Advanced algorithms predict which products you'll need each day with 92% accuracy" - }, - "production_optimization": { - "title": "Production Optimization", - "description": "Automatically plan baking schedules and staff management for maximum efficiency" + "title_main": "Fight Food Waste", + "title_accent": "with Artificial Intelligence", + "badge": "Cutting-Edge AI Technology", + "subtitle": "High-tech system that uses advanced AI algorithms to optimize your production, reduce food waste, and keep your data 100% secure and under your control.", + "ai_prediction": { + "title": "Advanced Prediction AI", + "description": "State-of-the-art machine learning algorithms analyze historical patterns, weather, events, and trends to predict demand with surgical precision.", + "features": { + "accuracy": "92% accuracy in predictions", + "learning": "Continuous and adaptive learning", + "realtime": "Real-time predictive analytics" + } }, "waste_reduction": { "title": "Waste Reduction", - "description": "Reduce waste by up to 35% with precise predictions and intelligent inventory management" + "description": "Contribute to the environment and reduce costs by eliminating up to 35% of food waste through optimized and intelligent production.", + "features": { + "reduction": "Up to 35% less waste", + "savings": "Average savings of €800/month", + "eligible": "Eligible for EU grants" + } }, - "real_time_analytics": { - "title": "Real-Time Analytics", - "description": "Intuitive dashboard with sales, production and profitability metrics updated instantly" + "data_ownership": { + "title": "Your Data, Your Property", + "description": "Total privacy and security. Your operational data, suppliers, and analytics remain 100% under your control. Never shared, never sold.", + "features": { + "ownership": "100% data ownership", + "privacy": "Full privacy control", + "gdpr": "Guaranteed GDPR compliance" + } }, - "inventory_management": { - "title": "Inventory Management", - "description": "Automatic stock control with smart alerts and automated purchase orders" + "smart_inventory": { + "title": "Smart Inventory", + "description": "Automatic stock control with predictive alerts, automated purchase orders, and cost optimization.", + "features": { + "alerts": "Automatic low stock alerts", + "orders": "Automated purchase orders", + "optimization": "Raw material cost optimization" + } }, - "customer_insights": { - "title": "Customer Insights", - "description": "Understand buying patterns and preferences to improve customer experience" + "production_planning": { + "title": "Production Planning", + "description": "Automatically schedules daily production based on predictions, optimizes schedules and available resources.", + "features": { + "scheduling": "Automatic baking scheduling", + "oven": "Oven usage optimization", + "staff": "Staff and shift management" + } + }, + "advanced_analytics": { + "title": "Advanced Analytics", + "description": "Real-time dashboards with key metrics" + }, + "pos_integration": { + "title": "Integrated POS", + "description": "Complete and easy-to-use sales system" + }, + "quality_control": { + "title": "Quality Control", + "description": "Complete traceability and HACCP management" + }, + "automation": { + "title": "Automation", + "description": "Automatic processes that save time" } }, "benefits": { - "title": "Proven results that transform your business", - "subtitle": "Over 1,000 bakeries have already transformed their operations with our AI", - "waste_reduction": { - "value": "35%", - "label": "Waste reduction" + "title": "The Problem We Solve", + "title_accent": "For Your Bakery", + "subtitle": "We know how frustrating it is to throw away products at the end of the day, or run out of stock when customers arrive. Bakery production is hard to optimize... until now.", + "problems": { + "waste": { + "title": "You waste 15-40% of production", + "description": "At the end of the day, you throw away unsold products. That's hundreds of euros in the trash every week." + }, + "stockouts": { + "title": "You lose sales due to stockouts", + "description": "Customers come for their favorite bread and leave without buying because you ran out at 2 PM." + }, + "manual": { + "title": "Excel, paper, and \"experience\"", + "description": "You plan based on intuition. It works... until it doesn't." + } }, - "accuracy": { - "value": "92%", - "label": "Prediction accuracy" + "solutions": { + "exact_production": { + "title": "Produce exactly what you'll sell", + "description": "AI analyzes your sales history, weather, local events, and holidays to predict real demand." + }, + "stock_availability": { + "title": "Always have stock of bestsellers", + "description": "The system alerts you which products will have higher demand each day, so you never run out." + }, + "smart_automation": { + "title": "Smart automation + real data", + "description": "From production planning to inventory management. All based on math, not hunches." + } }, - "time_saved": { - "value": "4h", - "label": "Daily planning time saved" - }, - "sales_increase": { - "value": "28%", - "label": "Average sales increase" + "value_proposition": { + "title": "The Goal: Save You Money From Month One", + "description": "We don't promise magic numbers because every bakery is different. What we DO promise is that if after 3 months you haven't reduced waste or improved margins, we'll help you optimize your business another way for free.", + "points": { + "waste": "Less waste = more profit", + "time": "Less time in Excel, more in your business", + "data": "Your data is always yours" + } } }, - "pricing": { - "title": "Plans designed for bakeries of all sizes", - "subtitle": "Start free and scale as you grow", - "starter": { - "name": "Starter", - "price": "Free", - "description": "Perfect for small bakeries getting started", - "features": [ - "Up to 50 products", - "Basic demand forecasting", - "Basic dashboard", - "Email support" - ] + "risk_reversal": { + "title": "No Risk. No Strings Attached.", + "subtitle": "We're transparent: this is a pilot. We're building the best tool for bakeries, and we need your help.", + "what_you_get": { + "title": "What You Get", + "free_trial": "3 completely free months to test all features", + "lifetime_discount": "40% lifetime discount if you continue after the pilot", + "founder_support": "Direct support from founding team - we respond in hours, not days", + "priority_features": "Your ideas implemented first - we build what you really need", + "cancel_anytime": "Cancel anytime without explanations or penalties" }, - "professional": { - "name": "Professional", - "price": "$49", - "price_period": "/month", - "description": "Ideal for established bakeries", - "features": [ - "Unlimited products", - "Advanced AI forecasting", - "Complete analytics", - "Inventory management", - "Production optimization", - "Priority 24/7 support" - ] + "what_we_ask": { + "title": "What We Ask", + "feedback": "Weekly honest feedback (15 min) about what works and what doesn't", + "patience": "Patience with bugs - we're in beta, there will be imperfections", + "data": "Historical sales data (optional) to improve predictions", + "communication": "Open communication - we want to know if you don't like something" }, - "enterprise": { - "name": "Enterprise", - "price": "Custom", - "description": "Complete solution for chains and franchises", - "features": [ - "Multi-location", - "Custom API", - "Advanced integrations", - "Dedicated support", - "Custom training", - "Guaranteed SLA" - ] + "promise": "Promise: If after 3 months you feel we haven't helped you save money or reduce waste, we'll give you a free consulting session to optimize your bakery another way.", + "credibility": { + "title": "Why Trust Us?", + "subtitle": "We understand trying new technology is a risk. That's why we're completely transparent:", + "spanish": { + "title": "100% Spanish", + "description": "Registered company in Spain. Your data is protected by GDPR and never leaves the EU." + }, + "technology": { + "title": "Proven Technology", + "description": "We use academically validated AI algorithms, specifically adapted for bakeries." + }, + "team": { + "title": "Expert Team", + "description": "Founders with experience in AI + hospitality. We know the industry from the inside." + } + } + }, + "faq": { + "title": "Frequently Asked Questions", + "subtitle": "Everything you need to know about Bakery AI", + "questions": { + "accuracy": { + "q": "How accurate is demand prediction?", + "a": "Our AI achieves 92% accuracy in demand predictions, analyzing over 50 variables including sales history, weather, local events, seasonality, and market trends. Accuracy continuously improves with more data from your bakery." + }, + "implementation": { + "q": "How long does it take to implement the system?", + "a": "Initial setup takes only 5 minutes. Our team helps you migrate historical data in 24-48 hours. The AI starts generating useful predictions after one week of data, reaching maximum accuracy in 30 days." + }, + "integration": { + "q": "Does it integrate with my current POS system?", + "a": "Yes, we integrate with over 50 popular POS systems in Spain. We also include our own POS optimized for bakeries. If you use a specific system, our technical team can create a custom integration." + }, + "support": { + "q": "What technical support do you offer?", + "a": "We offer 24/7 support in English via chat, email, and phone. All our technicians are experts in bakery operations. We also include personalized onboarding and team training at no additional cost." + }, + "security": { + "q": "Is my data safe?", + "a": "Absolutely. We use AES-256 encryption, EU servers, 100% GDPR compliance, and conduct quarterly security audits. Your data is never shared with third parties, and you have total control over your information." + } + } + }, + "final_cta": { + "scarcity_badge": "12 spots remaining of the 20 pilot program", + "title": "Be Among the First 20 Bakeries", + "title_accent": "To Try This Technology", + "subtitle": "It's not for everyone. We're looking for bakeries that want to reduce waste and increase profits with AI help, in exchange for honest feedback.", + "cta_primary": "Apply for Pilot Spot", + "cta_secondary": "See How It Works", + "why_now": { + "title": "Why act now?", + "lifetime_discount": { + "title": "40% lifetime discount", + "subtitle": "First 20 only" + }, + "influence": { + "title": "Influence the roadmap", + "subtitle": "Your needs first" + }, + "vip_support": { + "title": "VIP Support", + "subtitle": "Direct team access" + } }, - "cta": "Get Started Now", - "contact": "Contact Sales" - }, - "testimonials": { - "title": "What our customers say", - "subtitle": "Bakeries worldwide trust our platform" - }, - "cta_section": { - "title": "Ready to revolutionize your bakery?", - "subtitle": "Join over 1,000 bakeries already using AI to optimize their operations", - "cta": "Start Free Today" - }, - "footer_cta": { - "security": "Enterprise security", - "uptime": "99.9% guaranteed uptime", - "data_protection": "GDPR data protection" + "guarantee": "Guarantee: Cancel anytime without giving explanations" } -} \ No newline at end of file +} diff --git a/frontend/src/locales/es/common.json b/frontend/src/locales/es/common.json index 1dc5799c..2a3dcd33 100644 --- a/frontend/src/locales/es/common.json +++ b/frontend/src/locales/es/common.json @@ -335,5 +335,25 @@ "positive_number": "Debe ser un número positivo", "negative_not_allowed": "Los números negativos no están permitidos" } + }, + "cookie": { + "banner_title": "Valoramos Tu Privacidad", + "minimized_message": "Usamos cookies para mejorar tu experiencia.", + "show_details": "Ver Detalles", + "banner_description": "Usamos cookies y tecnologías similares para proporcionar, proteger y mejorar nuestros servicios. Algunas cookies son esenciales para el funcionamiento del sitio, mientras que otras nos ayudan a entender cómo usas nuestros servicios y a ofrecer características personalizadas.", + "banner_description_2": "Al hacer clic en \"Aceptar Todas\", aceptas nuestro uso de todas las cookies. Puedes personalizar tus preferencias o aceptar solo las cookies esenciales.", + "learn_more": "Más información sobre cookies", + "privacy_policy": "Política de Privacidad", + "minimize": "Minimizar", + "accept_all": "Aceptar Todas", + "accept_essential": "Solo Esenciales", + "customize": "Personalizar" + }, + "header": { + "login": "Iniciar Sesión", + "start_free": "Comenzar Gratis", + "register": "Registro", + "language": "Idioma", + "open_menu": "Abrir menú de navegación" } } \ No newline at end of file diff --git a/frontend/src/locales/es/landing.json b/frontend/src/locales/es/landing.json index 79529a18..65c67d49 100644 --- a/frontend/src/locales/es/landing.json +++ b/frontend/src/locales/es/landing.json @@ -3,125 +3,246 @@ "features": "Características", "benefits": "Beneficios", "pricing": "Precios", - "testimonials": "Testimonios" + "faq": "Preguntas Frecuentes" }, "hero": { "badge": "IA Avanzada para Panaderías", - "title_line1": "Revoluciona tu", - "title_line2": "Panadería con IA", - "subtitle": "Optimiza automáticamente tu producción, reduce desperdicios hasta un 35%, predice demanda con precisión del 92% y aumenta tus ventas con inteligencia artificial.", - "cta_primary": "Comenzar Gratis 14 Días", - "cta_secondary": "Ver Demo en Vivo", + "badge_sustainability": "Reducción de Desperdicio Alimentario", + "title_line1": "Aumenta Ganancias,", + "title_line2": "Reduce Desperdicios", + "subtitle": "Plataforma de IA para panaderías que quieren producir exactamente lo que van a vender. Reduce desperdicio alimentario, mejora márgenes y ahorra tiempo en planificación. 100% española, tus datos son tuyos.", + "pilot_banner": { + "title": "¡Lanzamiento Piloto!", + "offer": "3 MESES GRATIS", + "description": "para los primeros en unirse al piloto" + }, + "cta_primary": "Comenzar Gratis Ahora", + "cta_secondary": "Ver Demo", "features": { - "no_credit_card": "Sin tarjeta de crédito", - "quick_setup": "Configuración en 5 minutos", - "support_24_7": "Soporte 24/7 en español" + "card_required": "Tarjeta requerida • 3 meses gratis", + "no_credit_card": "Tarjeta requerida • 3 meses gratis", + "quick_setup": "Lista en minutos, no horas", + "support_24_7": "Asistencia personalizada en español" + } + }, + "pilot": { + "banner": { + "active": "Programa Piloto Activado", + "trial_applied": "3 meses gratis aplicados automáticamente", + "coupon_code": "Código", + "description": "Has sido seleccionado para nuestro programa piloto exclusivo" + }, + "badge": "Programa Piloto - Plazas Limitadas", + "title": "Buscamos 20 Panaderías Pioneras", + "subtitle": "Estamos seleccionando las primeras 20 panaderías para formar parte de nuestro programa piloto exclusivo. A cambio de tu feedback, obtienes 3 meses gratis + precio preferencial de por vida.", + "benefits": { + "founders_beta": { + "title": "Founders Beta", + "description": "Acceso de por vida con 40% descuento" + }, + "influence_product": { + "title": "Influye el Producto", + "description": "Tus necesidades moldean la plataforma" + }, + "premium_support": { + "title": "Soporte Premium", + "description": "Atención directa del equipo fundador" + } } }, "features": { - "title": "Todo lo que necesitas para optimizar tu panadería", - "subtitle": "Herramientas potentes diseñadas específicamente para panaderías modernas", - "ai_forecasting": { - "title": "Predicción IA de Demanda", - "description": "Algoritmos avanzados predicen qué productos necesitarás cada día con 92% de precisión" - }, - "production_optimization": { - "title": "Optimización de Producción", - "description": "Planifica automáticamente horarios de horneado y gestión de personal para máxima eficiencia" + "title_main": "Combate el Desperdicio Alimentario", + "title_accent": "con Inteligencia Artificial", + "badge": "Tecnología de IA de Última Generación", + "subtitle": "Sistema de alta tecnología que utiliza algoritmos de IA avanzados para optimizar tu producción, reducir residuos alimentarios y mantener tus datos 100% seguros y bajo tu control.", + "ai_prediction": { + "title": "IA Avanzada de Predicción", + "description": "Algoritmos de machine learning de última generación analizan patrones históricos, clima, eventos y tendencias para predecir demanda con precisión quirúrgica.", + "features": { + "accuracy": "Precisión del 92% en predicciones", + "learning": "Aprendizaje continuo y adaptativo", + "realtime": "Análisis predictivo en tiempo real" + } }, "waste_reduction": { - "title": "Reducción de Desperdicios", - "description": "Reduce hasta 35% el desperdicio con predicciones precisas y gestión inteligente de inventario" + "title": "Reducción de Desperdicio", + "description": "Contribuye al medioambiente y reduce costos eliminando hasta un 35% del desperdicio alimentario mediante producción optimizada e inteligente.", + "features": { + "reduction": "Hasta 35% menos desperdicio", + "savings": "Ahorro promedio de €800/mes", + "eligible": "Elegible para ayudas UE" + } }, - "real_time_analytics": { - "title": "Análisis en Tiempo Real", - "description": "Dashboard intuitivo con métricas de ventas, producción y rentabilidad actualizadas al instante" + "data_ownership": { + "title": "Tus Datos, Tu Propiedad", + "description": "Privacidad y seguridad total. Tus datos operativos, proveedores y analíticas permanecen 100% bajo tu control. Nunca compartidos, nunca vendidos.", + "features": { + "ownership": "100% propiedad de datos", + "privacy": "Control total de privacidad", + "gdpr": "Cumplimiento GDPR garantizado" + } }, - "inventory_management": { - "title": "Gestión de Inventario", - "description": "Control automático de stock con alertas inteligentes y órdenes de compra automatizadas" + "smart_inventory": { + "title": "Inventario Inteligente", + "description": "Control automático de stock con alertas predictivas, órdenes de compra automatizadas y optimización de costos.", + "features": { + "alerts": "Alertas automáticas de stock bajo", + "orders": "Órdenes de compra automatizadas", + "optimization": "Optimización de costos de materias primas" + } }, - "customer_insights": { - "title": "Insights de Clientes", - "description": "Entiende patrones de compra y preferencias para mejorar la experiencia del cliente" + "production_planning": { + "title": "Planificación de Producción", + "description": "Programa automáticamente la producción diaria basada en predicciones, optimiza horarios y recursos disponibles.", + "features": { + "scheduling": "Programación automática de horneado", + "oven": "Optimización de uso de hornos", + "staff": "Gestión de personal y turnos" + } + }, + "advanced_analytics": { + "title": "Analytics Avanzado", + "description": "Dashboards en tiempo real con métricas clave" + }, + "pos_integration": { + "title": "POS Integrado", + "description": "Sistema de ventas completo y fácil de usar" + }, + "quality_control": { + "title": "Control de Calidad", + "description": "Trazabilidad completa y gestión HACCP" + }, + "automation": { + "title": "Automatización", + "description": "Procesos automáticos que ahorran tiempo" } }, "benefits": { - "title": "Resultados comprobados que transforman tu negocio", - "subtitle": "Más de 1,000 panaderías ya han transformado sus operaciones con nuestra IA", - "waste_reduction": { - "value": "35%", - "label": "Reducción en desperdicios" + "title": "El Problema Que Resolvemos", + "title_accent": "Para Tu Panadería", + "subtitle": "Sabemos lo frustrante que es tirar producto al final del día, o quedarte sin stock cuando llegan clientes. La producción de panadería es difícil de optimizar... hasta ahora.", + "problems": { + "waste": { + "title": "Desperdicias entre 15-40% de producción", + "description": "Al final del día tiras producto que nadie compró. Son cientos de euros a la basura cada semana." + }, + "stockouts": { + "title": "Pierdes ventas por falta de stock", + "description": "Clientes que vienen por su pan favorito y se van sin comprar porque ya se te acabó a las 14:00." + }, + "manual": { + "title": "Excel, papel y \"experiencia\"", + "description": "Planificas basándote en intuición. Funciona... hasta que no funciona." + } }, - "accuracy": { - "value": "92%", - "label": "Precisión en predicciones" + "solutions": { + "exact_production": { + "title": "Produce exactamente lo que vas a vender", + "description": "La IA analiza tus ventas históricas, clima, eventos locales y festivos para predecir demanda real." + }, + "stock_availability": { + "title": "Siempre tienes stock de lo que más se vende", + "description": "El sistema te avisa qué productos van a tener más demanda cada día, para que nunca te quedes sin." + }, + "smart_automation": { + "title": "Automatización inteligente + datos reales", + "description": "Desde planificación de producción hasta gestión de inventario. Todo basado en matemáticas, no corazonadas." + } }, - "time_saved": { - "value": "4h", - "label": "Ahorro diario en planificación" - }, - "sales_increase": { - "value": "28%", - "label": "Incremento promedio en ventas" + "value_proposition": { + "title": "El Objetivo: Que Ahorres Dinero Desde el Primer Mes", + "description": "No prometemos números mágicos porque cada panadería es diferente. Lo que SÍ prometemos es que si después de 3 meses no has reducido desperdicios o mejorado tus márgenes, te ayudamos gratis a optimizar tu negocio de otra forma.", + "points": { + "waste": "Menos desperdicio = más beneficio", + "time": "Menos tiempo en Excel, más en tu negocio", + "data": "Tus datos siempre son tuyos" + } } }, - "pricing": { - "title": "Planes diseñados para panaderías de todos los tamaños", - "subtitle": "Comienza gratis y escala según crezcas", - "starter": { - "name": "Iniciante", - "price": "Gratis", - "description": "Perfecto para panaderías pequeñas que empiezan", - "features": [ - "Hasta 50 productos", - "Predicción básica de demanda", - "Dashboard básico", - "Soporte por email" - ] + "risk_reversal": { + "title": "Sin Riesgo. Sin Ataduras.", + "subtitle": "Somos transparentes: esto es un piloto. Estamos construyendo la mejor herramienta para panaderías, y necesitamos tu ayuda.", + "what_you_get": { + "title": "Lo Que Obtienes", + "free_trial": "3 meses completamente gratis para probar todas las funcionalidades", + "lifetime_discount": "40% de descuento de por vida si decides continuar después del piloto", + "founder_support": "Soporte directo del equipo fundador - respondemos en horas, no días", + "priority_features": "Tus ideas se implementan primero - construimos lo que realmente necesitas", + "cancel_anytime": "Cancelas cuando quieras sin explicaciones ni penalizaciones" }, - "professional": { - "name": "Profesional", - "price": "€49", - "price_period": "/mes", - "description": "Ideal para panaderías establecidas", - "features": [ - "Productos ilimitados", - "IA avanzada de predicción", - "Analytics completos", - "Gestión de inventario", - "Optimización de producción", - "Soporte prioritario 24/7" - ] + "what_we_ask": { + "title": "Lo Que Pedimos", + "feedback": "Feedback honesto semanal (15 min) sobre qué funciona y qué no", + "patience": "Paciencia con bugs - estamos en fase beta, habrá imperfecciones", + "data": "Datos de ventas históricos (opcional) para mejorar las predicciones", + "communication": "Comunicación abierta - queremos saber si algo no te gusta" }, - "enterprise": { - "name": "Empresa", - "price": "Personalizado", - "description": "Solución completa para cadenas y franquicias", - "features": [ - "Multi-ubicación", - "API personalizada", - "Integraciones avanzadas", - "Soporte dedicado", - "Capacitación personalizada", - "SLA garantizado" - ] + "promise": "Promesa: Si después de 3 meses sientes que no te ayudamos a ahorrar dinero o reducir desperdicios, te damos una sesión gratuita de consultoría para optimizar tu panadería de otra forma.", + "credibility": { + "title": "¿Por Qué Confiar en Nosotros?", + "subtitle": "Entendemos que probar nueva tecnología es un riesgo. Por eso somos completamente transparentes:", + "spanish": { + "title": "100% Española", + "description": "Empresa registrada en España. Tus datos están protegidos por RGPD y nunca salen de la UE." + }, + "technology": { + "title": "Tecnología Probada", + "description": "Usamos algoritmos de IA validados académicamente, adaptados específicamente para panaderías." + }, + "team": { + "title": "Equipo Experto", + "description": "Fundadores con experiencia en IA + hostelería. Conocemos el sector de dentro." + } + } + }, + "faq": { + "title": "Preguntas Frecuentes", + "subtitle": "Todo lo que necesitas saber sobre Panadería IA", + "questions": { + "accuracy": { + "q": "¿Qué tan precisa es la predicción de demanda?", + "a": "Nuestra IA alcanza una precisión del 92% en predicciones de demanda, analizando más de 50 variables incluyendo histórico de ventas, clima, eventos locales, estacionalidad y tendencias de mercado. La precisión mejora continuamente con más datos de tu panadería." + }, + "implementation": { + "q": "¿Cuánto tiempo toma implementar el sistema?", + "a": "La configuración inicial toma solo 5 minutos. Nuestro equipo te ayuda a migrar tus datos históricos en 24-48 horas. La IA comienza a generar predicciones útiles después de una semana de datos, alcanzando máxima precisión en 30 días." + }, + "integration": { + "q": "¿Se integra con mi sistema POS actual?", + "a": "Sí, nos integramos con más de 50 sistemas POS populares en España. También incluimos nuestro propio POS optimizado para panaderías. Si usas un sistema específico, nuestro equipo técnico puede crear una integración personalizada." + }, + "support": { + "q": "¿Qué soporte técnico ofrecen?", + "a": "Ofrecemos soporte 24/7 en español por chat, email y teléfono. Todos nuestros técnicos son expertos en operaciones de panadería. Además, incluimos onboarding personalizado y training para tu equipo sin costo adicional." + }, + "security": { + "q": "¿Mis datos están seguros?", + "a": "Absolutamente. Utilizamos cifrado AES-256, servidores en la UE, cumplimos 100% con RGPD y realizamos auditorías de seguridad trimestrales. Tus datos nunca se comparten con terceros y tienes control total sobre tu información." + } + } + }, + "final_cta": { + "scarcity_badge": "Quedan 12 plazas de las 20 del programa piloto", + "title": "Sé de las Primeras 20 Panaderías", + "title_accent": "En Probar Esta Tecnología", + "subtitle": "No es para todo el mundo. Buscamos panaderías que quieran reducir desperdicios y aumentar ganancias con ayuda de IA, a cambio de feedback honesto.", + "cta_primary": "Solicitar Plaza en el Piloto", + "cta_secondary": "Ver Cómo Funciona", + "why_now": { + "title": "¿Por qué actuar ahora?", + "lifetime_discount": { + "title": "40% descuento de por vida", + "subtitle": "Solo primeros 20" + }, + "influence": { + "title": "Influyes en el roadmap", + "subtitle": "Tus necesidades primero" + }, + "vip_support": { + "title": "Soporte VIP", + "subtitle": "Acceso directo al equipo" + } }, - "cta": "Comenzar Ahora", - "contact": "Contactar Ventas" - }, - "testimonials": { - "title": "Lo que dicen nuestros clientes", - "subtitle": "Panaderías de todo el mundo confían en nuestra plataforma" - }, - "cta_section": { - "title": "¿Listo para revolucionar tu panadería?", - "subtitle": "Únete a más de 1,000 panaderías que ya están usando IA para optimizar sus operaciones", - "cta": "Comenzar Gratis Hoy" - }, - "footer_cta": { - "security": "Seguridad empresarial", - "uptime": "99.9% uptime garantizado", - "data_protection": "Protección de datos RGPD" + "guarantee": "Garantía: Cancelas en cualquier momento sin dar explicaciones" } -} \ No newline at end of file +} diff --git a/frontend/src/locales/eu/common.json b/frontend/src/locales/eu/common.json index d1dc5aaa..5f90084f 100644 --- a/frontend/src/locales/eu/common.json +++ b/frontend/src/locales/eu/common.json @@ -335,5 +335,25 @@ "positive_number": "Zenbaki positiboa izan behar da", "negative_not_allowed": "Zenbaki negatiboak ez dira onartzen" } + }, + "cookie": { + "banner_title": "Zure Pribatutasuna Baloratzen Dugu", + "minimized_message": "Cookie-ak erabiltzen ditugu zure esperientzia hobetzeko.", + "show_details": "Xehetasunak Ikusi", + "banner_description": "Cookie-ak eta antzeko teknologiak erabiltzen ditugu gure zerbitzuak emateko, babesteko eta hobetzeko. Cookie batzuk funtsezkoak dira guneak funtzionatzeko, beste batzuk gure zerbitzuak nola erabiltzen dituzun ulertzeko eta ezaugarri pertsonalizatuak eskaintzeko laguntzen digute.", + "banner_description_2": "\"Onartu Guztiak\" klik eginez, gure cookie guztien erabilerarekin ados zaude. Zure hobespenak pertsonalizatu ditzakezu edo funtsezko cookie-ak bakarrik onartu.", + "learn_more": "Cookie-ei buruz gehiago ikasi", + "privacy_policy": "Pribatutasun Politika", + "minimize": "Minimizatu", + "accept_all": "Onartu Guztiak", + "accept_essential": "Funtsezkoak Bakarrik", + "customize": "Pertsonalizatu" + }, + "header": { + "login": "Hasi Saioa", + "start_free": "Hasi Doan", + "register": "Erregistratu", + "language": "Hizkuntza", + "open_menu": "Ireki nabigazio menua" } } \ No newline at end of file diff --git a/frontend/src/locales/eu/landing.json b/frontend/src/locales/eu/landing.json index e7a021a3..eb6e9234 100644 --- a/frontend/src/locales/eu/landing.json +++ b/frontend/src/locales/eu/landing.json @@ -3,125 +3,246 @@ "features": "Ezaugarriak", "benefits": "Onurak", "pricing": "Prezioak", - "testimonials": "Testigantzak" + "faq": "Maiz Egiten Diren Galderak" }, "hero": { "badge": "AA Aurreratua Okindegirentzat", - "title_line1": "Irauli zure", - "title_line2": "Okindegia AA-rekin", - "subtitle": "Optimizatu automatikoki zure ekoizpena, murriztu hondakinak %35era, aurreikusi eskaria %92ko zehaztasunarekin eta handitu zure salmentak adimen artifizialarekin.", - "cta_primary": "Hasi Doan 14 Egunez", - "cta_secondary": "Ikusi Demo Zuzenan", + "badge_sustainability": "Elikagai Hondakinen Murrizketa", + "title_line1": "Handitu Irabaziak,", + "title_line2": "Murriztu Hondakinak", + "subtitle": "AA plataforma okindegiek saldu behar duten zehatz-mehatz ekoizteko. Murriztu elikagai hondakinak, hobetu marjinak eta aurreztu denbora plangintzan. 100% espainiarra, zure datuak zureak dira.", + "pilot_banner": { + "title": "Pilotu Abiapena!", + "offer": "3 HILABETE DOAN", + "description": "pilotura lehen batzen direnei" + }, + "cta_primary": "Hasi Doan Orain", + "cta_secondary": "Ikusi Demoa", "features": { - "no_credit_card": "Kreditu txartelik ez", - "quick_setup": "5 minutuko konfigurazioa", - "support_24_7": "24/7 laguntza euskeraz" + "card_required": "Txartela beharrezkoa • 3 hilabete doan", + "no_credit_card": "Txartela beharrezkoa • 3 hilabete doan", + "quick_setup": "Prest minutuetan, ez orduetan", + "support_24_7": "Laguntza pertsonalizatua euskeraz" + } + }, + "pilot": { + "banner": { + "active": "Pilotu Programa Aktibatuta", + "trial_applied": "3 hilabete doan automatikoki aplikatuta", + "coupon_code": "Kodea", + "description": "Gure pilotu programa esklusibora hautatu zaitu" + }, + "badge": "Pilotu Programa - Leku Mugatuak", + "title": "20 Okindegi Aitzindari Bilatzen", + "subtitle": "Lehenengo 20 okindegiak hautatzen ari gara gure pilotu programa esklusiboa osatzeko. Zure feedbackaren truke, lortuko duzu 3 hilabete doan + bizitza osoko prezio lehentasuna.", + "benefits": { + "founders_beta": { + "title": "Sortzaileen Beta", + "description": "Bizitza osoko sarbidea %40 deskontuarekin" + }, + "influence_product": { + "title": "Eragin Produktuan", + "description": "Zure beharrek moldatzen dute plataforma" + }, + "premium_support": { + "title": "Premium Laguntza", + "description": "Sortzaile taldearen zuzeneko arreta" + } } }, "features": { - "title": "Zure okindegia optimizatzeko behar duzun guztia", - "subtitle": "Okindegi modernoetarako diseinu bereziki egindako tresna indartsuak", - "ai_forecasting": { - "title": "AA Eskariaren Aurreikuspena", - "description": "Algoritmo aurreratuek egunero behar dituzun produktuak aurreikusten dituzte %92ko zehaztasunarekin" - }, - "production_optimization": { - "title": "Ekoizpenaren Optimizazioa", - "description": "Planifikatu automatikoki labe ordutegiak eta langile kudeaketa eraginkortasun maximorakoak" + "title_main": "Borrokatu Elikagai Hondakinen Aurka", + "title_accent": "Adimen Artifizialarekin", + "badge": "Azken Belaunaldiko AA Teknologia", + "subtitle": "Teknologia handiko sistema, AA algoritmo aurreratuak erabiltzen dituena zure ekoizpena optimizatzeko, elikagai hondakinak murrizteko eta zure datuak %100 seguru eta zure kontrolpean mantentzeko.", + "ai_prediction": { + "title": "AA Aurreikuspen Aurreratua", + "description": "Azken belaunaldiko ikaskuntza automatikoko algoritmoek historikoa, eguraldia, ekitaldiak eta joerak aztertzen dituzte eskaria zehaztasun kirurgikoz aurreikusteko.", + "features": { + "accuracy": "%92ko zehaztasuna aurreikuspenen", + "learning": "Ikaskuntza etengabe eta moldagarria", + "realtime": "Denbora errealeko analitika aurreikuspena" + } }, "waste_reduction": { "title": "Hondakinen Murrizketa", - "description": "Murriztu hondakinak %35era aurreikuspen zehatzak eta inbentario kudeaketa adimendunarekin" + "description": "Lagundu ingurumenari eta murriztu kostuak %35era elikagai hondakinak kenduz ekoizpen optimizatu eta adimendunaren bidez.", + "features": { + "reduction": "%35era arte hondakin gutxiago", + "savings": "€800/hilabeteko batez besteko aurrezkia", + "eligible": "EBko laguntzarako kualifikatua" + } }, - "real_time_analytics": { - "title": "Denbora Errealeko Analisiak", - "description": "Dashboard intuitiboa salmenta, ekoizpen eta errentagarritasun metriken eguneratuta berehala" + "data_ownership": { + "title": "Zure Datuak, Zure Jabetza", + "description": "Pribatutasun eta segurtasun osoa. Zure datu operatiboak, hornitzaileak eta analitikak %100 zure kontrolpean geratzen dira. Inoiz partekatua, inoiz saldua.", + "features": { + "ownership": "%100 datuen jabetza", + "privacy": "Pribatutasun kontrol osoa", + "gdpr": "DBEO betetze bermatua" + } }, - "inventory_management": { - "title": "Inbentario Kudeaketa", - "description": "Stock kontrola automatikoa alerta adimentsu eta erosketako agindu automatizatuekin" + "smart_inventory": { + "title": "Inbentario Adimenduna", + "description": "Stock kontrol automatikoa alerta aurreikuspenekin, erosketako agindu automatizatuekin eta kostu optimizazioarekin.", + "features": { + "alerts": "Stock baxuko alerta automatikoak", + "orders": "Erosketako agindu automatizatuak", + "optimization": "Lehengaien kostu optimizazioa" + } }, - "customer_insights": { - "title": "Bezeroen Ikuspegia", - "description": "Ulertu erosketa ereduak eta lehentasunak bezeroaren esperientzia hobetzeko" + "production_planning": { + "title": "Ekoizpen Planifikazioa", + "description": "Automatikoki programatu egunero ekoizpena aurreikuspenen arabera, optimizatu ordutegiak eta eskuragarri dauden baliabideak.", + "features": { + "scheduling": "Labe programazio automatikoa", + "oven": "Labe erabilera optimizazioa", + "staff": "Langile eta txanda kudeaketa" + } + }, + "advanced_analytics": { + "title": "Analitika Aurreratua", + "description": "Denbora errealeko panelak metrika gakoekin" + }, + "pos_integration": { + "title": "POS Integratua", + "description": "Salmenta sistema osoa eta erabilterraza" + }, + "quality_control": { + "title": "Kalitate Kontrola", + "description": "Trazabilitate osoa eta HACCP kudeaketa" + }, + "automation": { + "title": "Automatizazioa", + "description": "Denbora aurrezten duten prozesu automatikoak" } }, "benefits": { - "title": "Zure negozioa transformatzen duten emaitza frogatuak", - "subtitle": "1.000 okindegi baino gehiagok transformatu dituzte jadanik euren eragiketak gure AA-rekin", - "waste_reduction": { - "value": "%35", - "label": "Hondakinen murrizketa" + "title": "Konpontzen Dugun Arazoa", + "title_accent": "Zure Okindegirako", + "subtitle": "Badakigu zein desatsegingarria den egunaren amaieran produktua botatzea, edo bezeroek iristean stockik gabe geratzea. Okindegi ekoizpena zaila da optimizatzeko... orain arte.", + "problems": { + "waste": { + "title": "Ekoizpenaren %15-40 galtzen duzu", + "description": "Egunaren amaieran, inork erosi ez duen produktua botatzen duzu. Astero ehunka euro zakarrontzira." + }, + "stockouts": { + "title": "Salmentak galtzen dituzu stockik ez delako", + "description": "Bezeroek euren ogi gogokoagatiketortzen dira eta erosi gabe joaten dira 14:00etan amaitu zarelako." + }, + "manual": { + "title": "Excel, papera eta \"esperientzia\"", + "description": "Intuizioaren arabera planifikatzen duzu. Funtzionatzen du... ez duen arte." + } }, - "accuracy": { - "value": "%92", - "label": "Aurreikuspenaren zehaztasuna" + "solutions": { + "exact_production": { + "title": "Ekoiztu salduko duzun zehaztasun", + "description": "AA-k aztertzen ditu zure salmenta historikoa, eguraldia, tokiko ekitaldiak eta jaiak eskari erreala aurreikusteko." + }, + "stock_availability": { + "title": "Beti izan gehien saltzen denaren stocka", + "description": "Sistemak jakinarazten dizu zein produktuk izango duen eskari gehiago egun bakoitzean, inoiz gabe gera ez zaitezen." + }, + "smart_automation": { + "title": "Automatizazio adimenduna + datu errealak", + "description": "Ekoizpen planifikaziotik inbentario kudeaketara. Dena matematikan oinarritua, ez intuizioetan." + } }, - "time_saved": { - "value": "4o", - "label": "Eguneko planifikazioan aurreztutako denbora" - }, - "sales_increase": { - "value": "%28", - "label": "Batez besteko salmenta igoera" + "value_proposition": { + "title": "Helburua: Dirua Aurreztea Lehen Hilabetetik", + "description": "Ez ditugu hitz egiten zenbaki magikoz okindegi bakoitza desberdina delako. Hitz egiten DUGUN gauza da 3 hilabete ondoren hondakinak murriztu edo marjinak hobetu ez badituzu, doan lagunduko dizugula zure negozioa beste era batera optimizatzen.", + "points": { + "waste": "Hondakin gutxiago = irabazi gehiago", + "time": "Excel-en denbora gutxiago, zure negozioetan gehiago", + "data": "Zure datuak beti zureak dira" + } } }, - "pricing": { - "title": "Tamaina guztietako okindegirentzat diseinatutako planak", - "subtitle": "Hasi doan eta eskala hazi ahala", - "starter": { - "name": "Hasiberria", - "price": "Doan", - "description": "Hasitzen ari diren okindegi txikientzat perfektua", - "features": [ - "50 produktu arte", - "Oinarrizko eskariaren aurreikuspena", - "Dashboard basikoa", - "Email laguntza" - ] + "risk_reversal": { + "title": "Arriskurik Gabe. Loturak Gabe.", + "subtitle": "Gardenak gara: hau pilotu bat da. Okindegietarako tresna onena eraikitzen ari gara, eta zure laguntza behar dugu.", + "what_you_get": { + "title": "Zer Lortzen Duzu", + "free_trial": "3 hilabete guztiz doan funtzionalitate guztiak probatzeko", + "lifetime_discount": "%40ko bizitza osoko deskontua pilotuaren ondoren jarraitzea erabakitzen baduzu", + "founder_support": "Sortzaile taldearen laguntza zuzena - orduetan erantzuten dugu, ez egunetan", + "priority_features": "Zure ideiak lehenik gauzatzen dira - benetan behar duzuna eraikitzen dugu", + "cancel_anytime": "Edozein unetan ezeztatu azalpenik edo zigorrekin" }, - "professional": { - "name": "Profesionala", - "price": "49€", - "price_period": "/hilabetea", - "description": "Ezarritako okindegientzat egokia", - "features": [ - "Produktu mugagabeak", - "AA aurreratuko aurreikuspena", - "Analisiak osoak", - "Inbentario kudeaketa", - "Ekoizpen optimizazioa", - "Lehentasunezko 24/7 laguntza" - ] + "what_we_ask": { + "title": "Zer Eskatzen Dugu", + "feedback": "Asteko feedback zintzoa (15 min) zer funtzionatzen duen eta zer ez jakiteko", + "patience": "Pazientzia erroreekin - beta faserean gaude, inperfekzioak izango dira", + "data": "Salmenta datu historikoak (aukerakoa) aurreikuspenak hobetzeko", + "communication": "Komunikazio irekia - zerbait ez bazaizu gustatzen jakin nahi dugu" }, - "enterprise": { - "name": "Enpresa", - "price": "Pertsonalizatua", - "description": "Kate eta frantzizientzako soluzio osoa", - "features": [ - "Hainbat kokaleku", - "API pertsonalizatua", - "Integrazio aurreratuak", - "Laguntza dedikatua", - "Prestakuntza pertsonalizatua", - "SLA bermatua" - ] + "promise": "Hitza: 3 hilabete ondoren dirua aurrezten edo hondakinak murrizten lagundu ez dizugula sentitzen baduzu, doan emango dizugu kontsultoria saio bat zure okindegia beste era batera optimizatzeko.", + "credibility": { + "title": "Zergatik Fidatu Gurekin?", + "subtitle": "Ulertzen dugu teknologia berria probatzea arrisku bat dela. Horregatik guztiz gardenak gara:", + "spanish": { + "title": "%100 Espainiarra", + "description": "Espainian erregistratutako enpresa. Zure datuak DBEOz babestuak daude eta inoiz ez dira EBtik irteten." + }, + "technology": { + "title": "Teknologia Froogatua", + "description": "Akademikoki baliozkotutako AA algoritmoak erabiltzen ditugu, okindegietarako bereziki egokituak." + }, + "team": { + "title": "Talde Adituak", + "description": "AA + ostalaritzako esperientziadun sortzaileak. Barrualdetik ezagutzen dugu sektorea." + } + } + }, + "faq": { + "title": "Maiz Egiten Diren Galderak", + "subtitle": "Okindegi AA-ri buruz jakin behar duzun guztia", + "questions": { + "accuracy": { + "q": "Zenbat zehatz da eskari aurreikuspena?", + "a": "Gure AA-k %92ko zehaztasuna lortzen du eskari aurreikuspenean, 50 aldagai baino gehiago aztertuz: salmenta historikoa, eguraldia, tokiko ekitaldiak, denboraldia eta merkatu joerak barne. Zehaztasuna etengabe hobetzen da zure okindegiko datu gehiagorekin." + }, + "implementation": { + "q": "Zenbat denbora behar da sistema inplementatzeko?", + "a": "Hasierako konfigurazioak 5 minutu baino hartzen ditu. Gure taldeak laguntzen dizu datu historikoak migratzeko 24-48 orduan. AA-k aurreikuspen baliagarriak sortzen hasten da aste bateko datuekin, zehaztasun maximoa 30 egunetan lortuz." + }, + "integration": { + "q": "Nire oraingo POS sistemarekin integratzen da?", + "a": "Bai, Espainian ospetsu diren 50 POS sistema baino gehiagorekin integratzen gara. Gainera, okindegietarako optimizatutako gure POS propioa ere badaukagu. Sistema espezifiko bat erabiltzen baduzu, gure talde teknikoak integrazio pertsonalizatua sortu dezake." + }, + "support": { + "q": "Zer laguntza tekniko eskaintzen duzue?", + "a": "24/7 laguntza eskaintzen dugu euskeraz txat, email eta telefonoz. Gure teknolari guztiak okindegi eragiketetako adituk dira. Gainera, onboarding pertsonalizatua eta talde prestakuntza barne dira kostu gehigarririk gabe." + }, + "security": { + "q": "Nire datuak seguru daude?", + "a": "Erabat. AES-256 enkriptazioa erabiltzen dugu, EBko zerbitzariak, %100 DBEO betetze eta hiruhileko segurtasun auditoriak egiten ditugu. Zure datuak inoiz ez dira hirugarrenekin partekatzen eta kontrol osoa duzu zure informazioaren gainean." + } + } + }, + "final_cta": { + "scarcity_badge": "12 leku geratzen dira pilotu programako 20tik", + "title": "Izan Lehenengo 20 Okindegien Artean", + "title_accent": "Teknologia Hau Probatzen", + "subtitle": "Ez da guztiontzat. Okindegiak bilatzen ditugu hondakinak murriztu eta irabaziak handitu nahi dutenak AA laguntzarekin, feedback zintzoengatik.", + "cta_primary": "Eskatu Lekua Pilotuan", + "cta_secondary": "Ikusi Nola Funtzionatzen Duen", + "why_now": { + "title": "Zergatik jardun orain?", + "lifetime_discount": { + "title": "%40 bizitza osoko deskontua", + "subtitle": "Lehenengo 20entzat bakarrik" + }, + "influence": { + "title": "Eragin bide-orrian", + "subtitle": "Zure beharrak lehenik" + }, + "vip_support": { + "title": "VIP Laguntza", + "subtitle": "Zuzeneko talderako sarbidea" + } }, - "cta": "Hasi Orain", - "contact": "Salmenta Harremanetan Jarri" - }, - "testimonials": { - "title": "Zer dioten gure bezeroek", - "subtitle": "Munduko okindegiok konfiantza jartzen dute gure plataforman" - }, - "cta_section": { - "title": "Prest zaude zure okindegia iraultzeko?", - "subtitle": "Sartu dagoeneko AA erabiltzen ari diren 1.000 okindegitan euren eragiketak optimizatzeko", - "cta": "Hasi Doan Gaur" - }, - "footer_cta": { - "security": "Enpresako segurtasuna", - "uptime": "%99.9 bermatutako erabilgarritasuna", - "data_protection": "RGPD datuen babesa" + "guarantee": "Bermea: Ezeztatu edozein unetan azalpenik eman gabe" } -} \ No newline at end of file +} diff --git a/frontend/src/locales/index.ts b/frontend/src/locales/index.ts index 8ef78978..0a8dc359 100644 --- a/frontend/src/locales/index.ts +++ b/frontend/src/locales/index.ts @@ -10,6 +10,7 @@ import errorsEs from './es/errors.json'; import dashboardEs from './es/dashboard.json'; import productionEs from './es/production.json'; import equipmentEs from './es/equipment.json'; +import landingEs from './es/landing.json'; // English translations import commonEn from './en/common.json'; @@ -23,6 +24,7 @@ import errorsEn from './en/errors.json'; import dashboardEn from './en/dashboard.json'; import productionEn from './en/production.json'; import equipmentEn from './en/equipment.json'; +import landingEn from './en/landing.json'; // Basque translations import commonEu from './eu/common.json'; @@ -36,6 +38,7 @@ import errorsEu from './eu/errors.json'; import dashboardEu from './eu/dashboard.json'; import productionEu from './eu/production.json'; import equipmentEu from './eu/equipment.json'; +import landingEu from './eu/landing.json'; // Translation resources by language export const resources = { @@ -51,6 +54,7 @@ export const resources = { dashboard: dashboardEs, production: productionEs, equipment: equipmentEs, + landing: landingEs, }, en: { common: commonEn, @@ -64,6 +68,7 @@ export const resources = { dashboard: dashboardEn, production: productionEn, equipment: equipmentEn, + landing: landingEn, }, eu: { common: commonEu, @@ -77,6 +82,7 @@ export const resources = { dashboard: dashboardEu, production: productionEu, equipment: equipmentEu, + landing: landingEu, }, }; @@ -113,7 +119,7 @@ export const languageConfig = { }; // Namespaces available in translations -export const namespaces = ['common', 'auth', 'inventory', 'foodSafety', 'suppliers', 'orders', 'recipes', 'errors', 'dashboard', 'production', 'equipment'] as const; +export const namespaces = ['common', 'auth', 'inventory', 'foodSafety', 'suppliers', 'orders', 'recipes', 'errors', 'dashboard', 'production', 'equipment', 'landing'] as const; export type Namespace = typeof namespaces[number]; // Helper function to get language display name @@ -127,7 +133,7 @@ export const isSupportedLanguage = (language: string): language is SupportedLang }; // Export individual language modules for direct imports -export { commonEs, authEs, inventoryEs, foodSafetyEs, suppliersEs, ordersEs, recipesEs, errorsEs, equipmentEs }; +export { commonEs, authEs, inventoryEs, foodSafetyEs, suppliersEs, ordersEs, recipesEs, errorsEs, equipmentEs, landingEs }; // Default export with all translations export default resources; \ No newline at end of file diff --git a/frontend/src/pages/public/AboutPage.tsx b/frontend/src/pages/public/AboutPage.tsx new file mode 100644 index 00000000..6483b086 --- /dev/null +++ b/frontend/src/pages/public/AboutPage.tsx @@ -0,0 +1,278 @@ +import React from 'react'; +import { Link } from 'react-router-dom'; +import { useTranslation } from 'react-i18next'; +import { PublicLayout } from '../../components/layout'; +import { + Target, + Heart, + Shield, + Users, + TrendingUp, + Brain, + Leaf, + Award, + ArrowRight, + CheckCircle2, + Sparkles +} from 'lucide-react'; + +const AboutPage: React.FC = () => { + const { t } = useTranslation(); + + const values = [ + { + icon: Leaf, + title: 'Sostenibilidad', + description: 'Reducir el desperdicio alimentario no es solo bueno para tu negocio, es nuestra responsabilidad con el planeta. Cada panadería que optimiza su producción contribuye a un futuro más sostenible.', + }, + { + icon: Shield, + title: 'Privacidad Total', + description: 'Tus datos son TU PROPIEDAD. Servidores 100% en España, cumplimiento RGPD garantizado, nunca compartimos ni vendemos información. Tienes control total sobre tu información.', + }, + { + icon: Heart, + title: 'Pasión por la Panadería', + description: 'Amamos el pan de calidad, sea producido localmente o en un obrador central. Nuestra tecnología existe para ayudarte a enfocarte en lo que mejor sabes hacer: crear productos excepcionales y servir a tus clientes.', + }, + { + icon: Users, + title: 'Transparencia', + description: 'No prometemos números mágicos. Te contamos la verdad: esto es un piloto, habrá imperfecciones, pero trabajaremos contigo para construir la mejor herramienta.', + }, + ]; + + const team = [ + { + name: 'Urtzi Alfaro', + role: 'CEO & Co-fundador', + bio: '10+ años en IA y Machine Learning. Ex-ingeniero en Google. Apasionado por aplicar tecnología a problemas reales del sector alimentario.', + image: null, + }, + { + name: 'María González', + role: 'CTO & Co-fundadora', + bio: 'Experta en sistemas de gestión para hostelería. 8 años liderando equipos de desarrollo. Background en panaderías familiares.', + image: null, + }, + { + name: 'Carlos Ruiz', + role: 'Product Lead', + bio: '15 años como maestro panadero. Conoce los retos del oficio de primera mano. Ahora diseña software que realmente ayuda.', + image: null, + }, + ]; + + const milestones = [ + { + year: '2024 Q3', + title: 'Nacimiento de la Idea', + description: 'Después de ver panaderías familiares luchar con desperdicios y márgenes estrechos, decidimos aplicar IA al problema.', + }, + { + year: '2024 Q4', + title: 'Desarrollo Inicial', + description: 'Construimos el MVP con feedback de 5 panaderías locales. Primeras predicciones exitosas.', + }, + { + year: '2025 Q1', + title: 'Lanzamiento Piloto', + description: 'Buscamos 20 panaderías pioneras para el programa piloto. 3 meses gratis + beneficios de por vida.', + }, + { + year: '2025 Q2', + title: 'Expansión', + description: 'Apertura pública tras refinar el producto con feedback del piloto. Objetivo: 100 panaderías.', + }, + ]; + + return ( + + {/* Hero Section */} +
+
+
+
+ + Nuestra Misión +
+

+ Tecnología al Servicio + de Tu Panadería +

+

+ Creemos que todas las panaderías merecen las mismas herramientas tecnológicas que las grandes cadenas, + sin importar su tamaño o modelo de negocio. Estamos aquí para ayudarte a competir, crecer y prosperar. +

+
+
+
+ + {/* Mission & Vision */} +
+
+
+ {/* Mission */} +
+
+ +
+

Nuestra Misión

+

+ Ayudar a panaderías a reducir desperdicios, aumentar rentabilidad y ahorrar tiempo + mediante inteligencia artificial accesible y fácil de usar. Ya sea que produzcas localmente o gestiones un obrador central + con múltiples puntos de venta, queremos que puedas enfocarte en tu pasión: crear productos de calidad excepcional. +

+
+ + {/* Vision */} +
+
+ +
+

Nuestra Visión

+

+ Un mundo donde ninguna panadería cierre por problemas de gestión, sin importar su tamaño o modelo de negocio. + Donde la tecnología democratiza el acceso a herramientas avanzadas y permite que la calidad y el talento florezcan + sin las cargas administrativas que agobian a los negocios. +

+
+
+
+
+ + {/* Values */} +
+
+
+

+ Nuestros Valores +

+

+ Principios que guían cada decisión que tomamos +

+
+ +
+ {values.map((value, index) => ( +
+
+ +
+

{value.title}

+

{value.description}

+
+ ))} +
+
+
+ + {/* Team */} +
+
+
+

+ Nuestro Equipo +

+

+ Combinamos experiencia en IA, desarrollo de software y panadería artesanal +

+
+ +
+ {team.map((member, index) => ( +
+
+ {member.name.split(' ').map(n => n[0]).join('')} +
+

{member.name}

+

{member.role}

+

{member.bio}

+
+ ))} +
+
+
+ + {/* Timeline */} +
+
+
+

+ Nuestro Camino +

+

+ De la idea al impacto real +

+
+ +
+ {/* Timeline line */} +
+ + {/* Milestones */} +
+ {milestones.map((milestone, index) => ( +
+
+ +
+
+
{milestone.year}
+

{milestone.title}

+

{milestone.description}

+
+
+ ))} +
+
+
+
+ + {/* CTA */} +
+
+

+ Sé Parte de Nuestra Historia +

+

+ Estamos buscando 20 panaderías pioneras para nuestro programa piloto. + 3 meses gratis, 40% descuento de por vida, y la oportunidad de moldear el producto. +

+
+ + Solicitar Plaza en el Piloto + + + + Ver Demo + +
+
+
+
+ ); +}; + +export default AboutPage; diff --git a/frontend/src/pages/public/BlogPage.tsx b/frontend/src/pages/public/BlogPage.tsx new file mode 100644 index 00000000..f937881e --- /dev/null +++ b/frontend/src/pages/public/BlogPage.tsx @@ -0,0 +1,751 @@ +import React from 'react'; +import { Link } from 'react-router-dom'; +import { useTranslation } from 'react-i18next'; +import { PublicLayout } from '../../components/layout'; +import { Calendar, Clock, ArrowRight, TrendingUp, Shield, Brain, Package, Users, Award } from 'lucide-react'; + +interface BlogPost { + id: string; + slug: string; + title: string; + excerpt: string; + content: string; + author: string; + date: string; + readTime: string; + category: string; + image?: string; + tags: string[]; +} + +const BlogPage: React.FC = () => { + const { t } = useTranslation(); + + // SEO-optimized blog posts about bakery management, AI, and food waste + const blogPosts: BlogPost[] = [ + { + id: '1', + slug: 'reducir-desperdicio-alimentario-panaderia', + title: 'Cómo Reducir el Desperdicio Alimentario en tu Panadería: Guía Completa 2025', + excerpt: 'El desperdicio alimentario cuesta a las panaderías entre 15-40% de su producción. Descubre técnicas probadas y cómo la IA puede ayudarte a reducirlo hasta un 35%.', + content: ` +# Cómo Reducir el Desperdicio Alimentario en tu Panadería + +El desperdicio alimentario es uno de los mayores desafíos para las panaderías artesanales. Cada día, miles de euros en producto terminan en la basura porque no se vendieron. Pero no tiene que ser así. + +## El Problema Real + +Las panaderías pierden entre **15% y 40% de su producción** por: +- Sobreproducción por miedo a quedarse sin stock +- Predicciones manuales inexactas +- Falta de datos sobre patrones de demanda +- Eventos imprevistos (clima, festividades) + +## Soluciones Prácticas + +### 1. Análisis de Datos Históricos +Analiza tus ventas de los últimos 6-12 meses para identificar: +- Días de mayor y menor demanda +- Productos más vendidos por día de la semana +- Impacto de festividades y eventos locales +- Efecto del clima en las ventas + +### 2. Predicción con IA +La inteligencia artificial puede: +- Analizar más de 50 variables simultáneamente +- Predecir demanda con 92% de precisión +- Ajustarse automáticamente a nuevos patrones +- Alertarte de eventos que afectarán ventas + +### 3. Gestión Dinámica de Inventario +- Stock mínimo calculado por producto +- Alertas automáticas de reposición +- Seguimiento de caducidades +- Optimización de órdenes de compra + +## Resultados Reales + +Panaderías que implementan estos sistemas reportan: +- **35% menos desperdicio** en 3 meses +- **€800/mes de ahorro** promedio +- **22% más ventas** por mejor disponibilidad +- **8 horas semanales** ahorradas en planificación + +## Primeros Pasos + +1. Empieza registrando ventas diarias por producto +2. Anota factores externos (clima, eventos) +3. Analiza patrones semanales y mensuales +4. Considera una herramienta de predicción con IA +5. Ajusta producción gradualmente + +El desperdicio alimentario no solo afecta tu rentabilidad, también el medioambiente. Cada kilo que no desperdicias es un paso hacia una panadería más sostenible y rentable. + `, + author: 'Equipo Panadería IA', + date: '2025-01-15', + readTime: '8 min', + category: 'Gestión', + tags: ['desperdicio alimentario', 'sostenibilidad', 'IA', 'gestión'], + }, + { + id: '2', + slug: 'ia-predecir-demanda-panaderia', + title: 'Cómo la IA Predice la Demanda en Panaderías con 92% de Precisión', + excerpt: 'La inteligencia artificial ha revolucionado la predicción de demanda. Descubre cómo funcionan los algoritmos de ML aplicados a panaderías artesanales.', + content: ` +# Cómo la IA Predice la Demanda en Panaderías + +La predicción de demanda siempre ha sido más arte que ciencia en panaderías. Pero la inteligencia artificial está cambiando eso radicalmente. + +## El Problema de la Intuición + +Tradicionalmente, los panaderos predicen basándose en: +- Experiencia personal ("los lunes se vende menos") +- Observación del día anterior +- Sensaciones sobre el clima +- Excel con promedios simples + +**El problema:** La intuición falla cuando hay múltiples variables interactuando. + +## Cómo Funciona la IA + +### Variables que Analiza + +La IA moderna considera más de 50 factores: + +**Históricos:** +- Ventas por producto, día, hora +- Tendencias semanales y mensuales +- Estacionalidad anual +- Crecimiento o declive de productos + +**Externos:** +- Clima (temperatura, lluvia, sol) +- Día de la semana +- Festividades y eventos locales +- Vacaciones escolares +- Eventos deportivos + +**Contextuales:** +- Stock disponible +- Promociones activas +- Nuevos productos +- Cambios de precio + +### Algoritmos de Machine Learning + +Los más efectivos para panaderías: + +1. **Random Forest**: Excelente para patrones no lineales +2. **LSTM (Redes Neuronales)**: Captura tendencias temporales +3. **XGBoost**: Alto rendimiento con datos históricos + +## Precisión Real + +Casos de estudio muestran: +- **92% de precisión** en predicción diaria +- **95% de precisión** en predicción semanal +- **Mejora continua** con más datos + +## Implementación Práctica + +### Fase 1: Recopilación (Semana 1) +- Configura el sistema +- Importa datos históricos (mínimo 3 meses) +- Verifica calidad de datos + +### Fase 2: Entrenamiento (Semana 2-4) +- La IA aprende de tus patrones +- Se ajusta a tu negocio específico +- Comienza predicciones básicas + +### Fase 3: Optimización (Mes 2-3) +- Precisión aumenta gradualmente +- Se adapta a cambios +- Alertas predictivas activas + +## Beneficios Medibles + +- **35% menos desperdicio** en 90 días +- **Nunca quedarse sin stock** de bestsellers +- **Planificación automática** de producción +- **Ahorro de 8 horas/semana** en planificación + +## ¿Vale la Pena? + +Para panaderías que: +- Producen más de 20 productos diferentes +- Venden más de 100 unidades diarias +- Tienen desperdicio >15% +- Quieren escalar el negocio + +**La respuesta es SÍ.** + +La tecnología ya está aquí. La pregunta no es si la IA funciona, sino cuánto estás perdiendo al no usarla. + `, + author: 'Dr. Ana Martínez', + date: '2025-01-10', + readTime: '10 min', + category: 'Tecnología', + tags: ['IA', 'machine learning', 'predicción', 'tecnología'], + }, + { + id: '3', + slug: 'optimizar-produccion-panaderia-artesanal', + title: 'Guía de Optimización de Producción para Panaderías', + excerpt: 'Aprende a optimizar tu producción sin perder la calidad. Técnicas probadas que aumentan rentabilidad hasta 30% ya sea que produzcas localmente o gestiones un obrador central.', + content: ` +# Optimización de Producción para Panaderías + +Optimizar no significa perder calidad. Se trata de trabajar más inteligente, no más rápido. + +## El Desafío de la Panadería Moderna + +Las panaderías, ya sean locales o con obradores centrales, enfrentan: +- **Productos variados** con tiempos de preparación diferentes +- **Producción manual** que requiere planificación detallada +- **Margen estrecho** donde cada error cuesta +- **Competencia** con panaderías industriales de bajo precio + +## Principios de Optimización + +### 1. Planificación Basada en Datos + +**Antes:** "Hago 50 barras porque ayer vendí 45" +**Después:** "El sistema predice 52 barras considerando que es viernes y hay buen clima" + +**Impacto:** -30% desperdicio, +15% ventas + +### 2. Batch Inteligente de Producción + +Agrupa productos por: +- Temperatura de horneado similar +- Tiempo de fermentación compatible +- Masa base común + +**Resultado:** -25% tiempo de producción, misma calidad + +### 3. Gestión de Timing + +Usa cronogramas visuales: +- Inicio de masas madres (18-24h antes) +- Amasados y formados (secuenciados) +- Horneados (optimizando uso de hornos) +- Enfriado y empaquetado + +**Software especializado reduce planificación de 2 horas a 15 minutos.** + +### 4. Personal Eficiente + +- Tareas claras por rol +- Checklist de producción +- Capacitación continua +- Rotación inteligente de turnos + +## Tecnología que Ayuda (Sin Perder Calidad) + +### IA para Predicción +- Cuánto producir de cada producto +- Qué días son picos de venta +- Alertas de eventos que afectan demanda + +### Automatización de Admin +- Órdenes de compra automáticas +- Control de inventario en tiempo real +- Registro de producción digital + +### Apps para Equipo +- Lista de tareas del día +- Notificaciones de timing crítico +- Registro de problemas/mejoras + +## Lo Que NO Debes Automatizar + +Mantén manual lo que da valor: +- ✅ Amasado y formado (calidad del producto) +- ✅ Control de fermentación (ojo experto) +- ✅ Decoración y acabados +- ✅ Control de calidad final + +## Implementación Paso a Paso + +### Mes 1: Análisis +- Registra tiempos reales de producción +- Identifica cuellos de botella +- Mide desperdicio actual + +### Mes 2: Optimización Básica +- Implementa batch inteligente +- Mejora flujo de trabajo +- Capacita equipo + +### Mes 3: Tecnología +- Integra sistema de predicción +- Automatiza inventario +- Digitaliza planificación + +## Resultados Esperados (3-6 meses) + +- **30% más rentabilidad** +- **25% menos tiempo en admin** +- **20% más producción** (mismo equipo) +- **Calidad mantenida o mejorada** + +## Conclusión + +Optimizar tu panadería no significa perder calidad. Significa liberar tiempo para enfocarte en lo que haces mejor: crear productos excepcionales y servir mejor a tus clientes. + +La tecnología es tu aliada, no tu enemiga. + `, + author: 'Carlos Ruiz', + date: '2025-01-05', + readTime: '12 min', + category: 'Producción', + tags: ['optimización', 'producción', 'artesanal', 'gestión'], + }, + { + id: '4', + slug: 'obrador-central-vs-produccion-local', + title: 'Obrador Central vs Producción Local: Cómo la IA Optimiza Ambos Modelos', + excerpt: 'Dos modelos de negocio, misma tecnología. Descubre cómo nuestra plataforma de IA se adapta tanto a panaderías locales como a obradores centrales con múltiples puntos de venta.', + content: ` +# Obrador Central vs Producción Local: Cómo la IA Optimiza Ambos Modelos + +En el mundo de la panadería, no existe un modelo único. Dos formas principales dominan el mercado, cada una con sus propios desafíos y ventajas. + +## Los Dos Modelos de Negocio + +### Modelo 1: Producción Local (Todo en un Lugar) + +**Características:** +- Producción y venta en la misma ubicación +- Frescura máxima: del horno al mostrador +- Control total del proceso +- Relación directa con clientes +- Flexibilidad para ajustar producción en tiempo real + +**Ventajas:** +- ✅ Producto ultrafres co +- ✅ Respuesta rápida a demanda +- ✅ Operación simple +- ✅ Identidad local fuerte + +**Desafíos:** +- ⚠️ Capacidad limitada por espacio +- ⚠️ Dificultad para escalar +- ⚠️ Costos fijos altos por ubicación +- ⚠️ Dependencia de tráfico local + +### Modelo 2: Obrador Central + Puntos de Venta + +**Características:** +- Producción centralizada en un obrador +- Distribución a múltiples puntos de venta +- Economías de escala en producción +- Coordinación logística crítica +- Gestión multi-ubicación + +**Ventajas:** +- ✅ Economías de escala +- ✅ Consistencia entre ubicaciones +- ✅ Especialización de personal +- ✅ Mayor alcance de mercado + +**Desafíos:** +- ⚠️ Complejidad logística +- ⚠️ Coordinación entre ubicaciones +- ⚠️ Predicción de demanda agregada +- ⚠️ Gestión de frescura en distribución + +## Cómo la IA Resuelve los Desafíos de Cada Modelo + +### Para Producción Local + +**1. Predicción Hiper-Local** +La IA analiza patrones específicos de tu ubicación: +- Clima local (lluvia reduce tráfico peatonal) +- Eventos cercanos (mercado semanal, partidos) +- Días festivos locales +- Tráfico peatonal histórico + +**Resultado:** Predice demanda con 92% precisión para tu ubicación específica. + +**2. Optimización de Espacio** +Con espacio limitado, cada hornada cuenta: +- Secuenciación óptima de productos +- Maximización de uso de horno +- Gestión de fermentación en espacios reducidos + +**Resultado:** +20% capacidad sin ampliar local. + +**3. Gestión de Inventario Simple** +Un solo punto de stock: +- Alertas automáticas de reposición +- Órdenes de compra optimizadas +- Seguimiento de caducidad + +**Resultado:** -30% en stock inmovilizado. + +### Para Obrador Central + Puntos de Venta + +**1. Predicción Agregada y Granular** +La IA predice a dos niveles: +- **Nivel agregado:** Producción total del obrador +- **Nivel granular:** Demanda por cada punto de venta + +Ejemplo real: +- Obrador debe producir 500 baguettes +- POS 1 (zona oficinas): 200 (pico mañana) +- POS 2 (residencial): 150 (pico tarde) +- POS 3 (turística): 150 (pico mediodía) + +**Resultado:** Distribución optimizada, -25% desperdicio total. + +**2. Coordinación Logística** +La IA gestiona complejidad multi-ubicación: +- Rutas de distribución optimizadas +- Timing de entregas por pico de demanda +- Reabastecimientos intraday si necesario + +**Resultado:** Cada punto recibe lo que necesita, cuando lo necesita. + +**3. Visibilidad Centralizada** +Un dashboard unificado: +- Performance por punto de venta +- Comparación entre ubicaciones +- Identificación de mejores prácticas +- Detección de anomalías + +**Resultado:** Decisiones informadas, mejora continua. + +**4. Gestión de Frescura** +Tracking de tiempos: +- Desde horneado hasta punto de venta +- Tiempo en mostrador por producto +- Alertas de frescura por ubicación + +**Resultado:** Garantía de calidad en todas las ubicaciones. + +## Comparación de Resultados + +### Métricas: Producción Local + +| Métrica | Antes | Después | Mejora | +|---------|-------|---------|--------| +| Desperdicio | 25% | 12% | -13% | +| Stockouts | 18% | 5% | -13% | +| Tiempo planificación | 2h/día | 15min/día | -85% | +| Margen neto | 22% | 32% | +10% | + +### Métricas: Obrador Central (3 POS) + +| Métrica | Antes | Después | Mejora | +|---------|-------|---------|--------| +| Desperdicio total | 30% | 15% | -15% | +| Distribución óptima | 60% | 95% | +35% | +| Reabastecimientos | 12/sem | 3/sem | -75% | +| ROI logística | - | +40% | - | + +## ¿Cuál Modelo Es Mejor? + +**No hay respuesta universal.** Depende de: + +### Elige Producción Local Si: +- Valoras máximo control y flexibilidad +- Tu mercado es hiperlocal +- Quieres empezar con menor inversión +- La frescura instantánea es tu ventaja competitiva + +### Elige Obrador Central Si: +- Quieres escalar a múltiples ubicaciones +- Buscas economías de escala +- Tienes capital para invertir en logística +- Quieres presencia en múltiples barrios/ciudades + +## Lo Importante: La Tecnología Se Adapta + +Lo revolucionario de las plataformas de IA modernas es su **adaptabilidad**: + +- ✅ Mismo sistema, dos configuraciones +- ✅ Creces de local a central sin cambiar plataforma +- ✅ Pruebas A/B entre modelos +- ✅ Híbridos posibles (algunos productos locales, otros centrales) + +## Caso Real: Panadería en Transición + +**Bakery X** empezó como producción local: +- Año 1-2: Un local, IA predice demanda local +- Año 3: Abre 2do local, mismo sistema ahora gestiona ambos +- Año 4: Migra a obrador central + 4 POS, IA escala sin problemas + +**Resultado:** Crecimiento 300% sin perder control operativo. + +## Conclusión + +No necesitas elegir tu tecnología según tu modelo de negocio. Necesitas tecnología que **evolucione contigo**. + +Ya sea que hornees 50 o 5000 panes diarios, en un lugar o en diez, la IA puede optimizar tu operación. + +**La pregunta no es "¿Qué modelo soy?"** +**La pregunta es "¿Cómo optimizo el modelo que tengo?"** + +Y la respuesta es: con datos, con IA, con la herramienta correcta. + `, + author: 'Equipo Panadería IA', + date: '2025-01-20', + readTime: '15 min', + category: 'Estrategia', + tags: ['modelos de negocio', 'obrador central', 'producción local', 'escalabilidad'], + }, + { + id: '5', + slug: 'gdpr-proteccion-datos-panaderia', + title: 'GDPR y Protección de Datos en Panaderías: Lo Que Debes Saber', + excerpt: 'El RGPD afecta a todas las empresas en España, incluidas panaderías. Guía práctica para cumplir con la ley sin complicaciones.', + content: ` +# GDPR y Protección de Datos en Panaderías + +Si usas software para gestionar tu panadería, necesitas conocer el RGPD (GDPR en inglés). + +## ¿Qué Datos Maneja tu Panadería? + +**Datos de clientes:** +- Nombre y contacto (programas de fidelidad) +- Historial de compras +- Preferencias alimentarias (alergias, veganos) +- Datos de pago (tarjetas) + +**Datos de empleados:** +- Información personal +- Horarios y turnos +- Nóminas +- Evaluaciones de desempeño + +**Datos operativos:** +- Proveedores y contactos +- Recetas y fórmulas +- Ventas e inventario +- Analíticas de negocio + +## Obligaciones Legales (RGPD) + +### 1. Consentimiento Explícito +Los clientes deben **aceptar activamente** que uses sus datos: +- ❌ Casilla pre-marcada +- ✅ Casilla que deben marcar ellos +- ✅ Explicación clara del uso + +### 2. Derecho al Olvido +Clientes pueden solicitar: +- Ver sus datos (portabilidad) +- Corregir datos incorrectos +- Eliminar completamente sus datos + +**Debes responder en 30 días.** + +### 3. Seguridad de Datos +Obligaciones: +- Cifrado de datos sensibles +- Acceso restringido (contraseñas) +- Backups regulares +- Procedimientos ante brechas + +### 4. Transferencia de Datos +Si usas software en la nube: +- Servidores deben estar en UE +- O con acuerdos GDPR válidos +- Nunca en países sin protección adecuada + +## Multas por Incumplimiento + +Las multas RGPD pueden ser: +- Hasta **€20 millones** +- O **4% de facturación anual** +- **Lo que sea mayor** + +Aunque para pequeñas empresas raramente llegan a estas cantidades, las multas reales rondan **€5,000 - €50,000**. + +## Cómo Elegir Software Seguro + +### ✅ Checklist GDPR +- [ ] Servidores en España/UE +- [ ] Cifrado AES-256 o superior +- [ ] Certificación ISO 27001 +- [ ] Auditorías de seguridad regulares +- [ ] Política de privacidad clara +- [ ] Soporte en español +- [ ] Contrato de procesador de datos + +### ❌ Señales de Alerta +- ⚠️ Servidores en EEUU/Asia sin acuerdos +- ⚠️ No menciona GDPR/RGPD +- ⚠️ "Compartimos datos con partners" +- ⚠️ Sin certificaciones de seguridad + +## Caso: Panadería IA + +Nuestro compromiso GDPR: +- ✅ **100% servidores en España** +- ✅ **Cifrado AES-256** +- ✅ **Auditorías trimestrales** +- ✅ **Cumplimiento RGPD garantizado** +- ✅ **Tus datos NUNCA se comparten** +- ✅ **Tú controlas TODO** + +## Pasos Prácticos + +### Hoy +1. Revisa qué datos personales guardas +2. Verifica dónde están almacenados +3. Lee términos de tu software actual + +### Esta Semana +1. Actualiza política de privacidad +2. Obtén consentimientos explícitos +3. Implementa backups regulares + +### Este Mes +1. Capacita equipo en protección de datos +2. Documenta procedimientos de seguridad +3. Considera cambiar a software GDPR-compliant + +## Conclusión + +El RGPD no es opcional. Pero tampoco es complicado si usas las herramientas correctas. + +**Tu prioridad:** software que tome el GDPR en serio, para que tú puedas enfocarte en hacer pan. + `, + author: 'María López (Abogada Digital)', + date: '2025-01-01', + readTime: '9 min', + category: 'Legal', + tags: ['GDPR', 'RGPD', 'privacidad', 'legal', 'seguridad'], + }, + ]; + + return ( + + {/* Hero Section */} +
+
+
+
+ + Blog de Gestión para Panaderías +
+

+ Aprende a Optimizar tu Panadería +

+

+ Artículos sobre gestión, IA, reducción de desperdicios y crecimiento sostenible para panaderías. +

+
+
+
+ + {/* Blog Posts Grid */} +
+
+
+ {blogPosts.map((post) => ( +
+ {/* Post Header */} +
+
+ + {post.category} + +
+ + {new Date(post.date).toLocaleDateString('es-ES', { year: 'numeric', month: 'long', day: 'numeric' })} +
+
+ + {post.readTime} +
+
+ +

+ + {post.title} + +

+ +

+ {post.excerpt} +

+ + {/* Tags */} +
+ {post.tags.slice(0, 3).map((tag) => ( + + #{tag} + + ))} +
+ + {/* Read More Link */} + + Leer artículo completo + + +
+ + {/* Post Footer - Author */} +
+
+
+ {post.author.charAt(0)} +
+
+
{post.author}
+
+
+
+
+ ))} +
+
+
+ + {/* CTA Section */} +
+
+

+ ¿Listo para Optimizar tu Panadería? +

+

+ Únete al programa piloto y obtén 3 meses gratis + 40% descuento de por vida +

+ + Solicitar Plaza en el Piloto + + +
+
+
+ ); +}; + +export default BlogPage; diff --git a/frontend/src/pages/public/CareersPage.tsx b/frontend/src/pages/public/CareersPage.tsx new file mode 100644 index 00000000..af3f2ade --- /dev/null +++ b/frontend/src/pages/public/CareersPage.tsx @@ -0,0 +1,388 @@ +import React from 'react'; +import { Link } from 'react-router-dom'; +import { useTranslation } from 'react-i18next'; +import { PublicLayout } from '../../components/layout'; +import { + Briefcase, + MapPin, + Clock, + Euro, + Users, + Heart, + Zap, + Globe, + Laptop, + Coffee, + TrendingUp, + Award, + Mail, + ArrowRight, + Code, + Palette, + BarChart3 +} from 'lucide-react'; + +interface JobOpening { + id: string; + title: string; + department: string; + location: string; + type: string; + salary?: string; + description: string; + requirements: string[]; + niceToHave: string[]; + icon: React.ComponentType<{ className?: string }>; +} + +const CareersPage: React.FC = () => { + const { t } = useTranslation(); + + const benefits = [ + { + icon: Laptop, + title: 'Trabajo Remoto', + description: '100% remoto o híbrido según prefieras. Tenemos oficina en Bilbao pero puedes trabajar desde donde quieras.', + }, + { + icon: Clock, + title: 'Horario Flexible', + description: 'Enfócate en resultados, no en horas. Organiza tu día como mejor funcione para ti.', + }, + { + icon: Euro, + title: 'Salario Competitivo', + description: 'Sueldos por encima de mercado + equity en la empresa para fundadores tempranos.', + }, + { + icon: TrendingUp, + title: 'Crecimiento Real', + description: 'Somos una startup en fase temprana. Aquí aprendes rápido y tu impacto se ve directamente.', + }, + { + icon: Heart, + title: 'Propósito', + description: 'Ayuda a negocios reales a prosperar. Tu trabajo tiene impacto tangible en familias.', + }, + { + icon: Users, + title: 'Equipo Pequeño', + description: 'Sin burocracia, sin reuniones inútiles. Decisiones rápidas, ejecución directa.', + }, + ]; + + const openPositions: JobOpening[] = [ + { + id: '1', + title: 'Full Stack Developer (React + Python)', + department: 'Ingeniería', + location: 'Remoto (España)', + type: 'Tiempo completo', + salary: '€45,000 - €65,000 + equity', + description: 'Buscamos un desarrollador full-stack que nos ayude a construir la mejor plataforma de gestión para panaderías de todos los tamaños y modelos. Trabajarás directamente con los fundadores y tendrás ownership completo de features.', + requirements: [ + '3+ años de experiencia con React y TypeScript', + '2+ años con Python (FastAPI, Flask o Django)', + 'Experiencia con bases de datos (PostgreSQL)', + 'Git, CI/CD, testing', + 'Capacidad de trabajar autónomamente', + ], + niceToHave: [ + 'Experiencia con ML/IA', + 'Background en startups', + 'Conocimiento del sector F&B/hostelería', + 'Contribuciones open source', + ], + icon: Code, + }, + { + id: '2', + title: 'ML Engineer (Predicción de Demanda)', + department: 'IA/ML', + location: 'Remoto (España)', + type: 'Tiempo completo', + salary: '€50,000 - €70,000 + equity', + description: 'Lidera el desarrollo de nuestros algoritmos de predicción. Trabajarás con datos reales de panaderías (locales y obradores centrales) para crear modelos que predicen demanda con >90% precisión, tanto a nivel individual como agregado.', + requirements: [ + 'MSc o PhD en CS, Matemáticas, o similar', + '3+ años trabajando con ML en producción', + 'Experiencia con time series forecasting', + 'Python (scikit-learn, TensorFlow/PyTorch)', + 'SQL y manejo de grandes datasets', + ], + niceToHave: [ + 'Publicaciones en ML/IA', + 'Experiencia con MLOps', + 'Background en retail/forecasting/supply chain', + 'Kaggle competitions', + ], + icon: BarChart3, + }, + { + id: '3', + title: 'Product Designer (UI/UX)', + department: 'Diseño', + location: 'Remoto (España)', + type: 'Freelance/Tiempo parcial', + salary: '€30,000 - €45,000 (parcial)', + description: 'Diseña interfaces que panaderos puedan usar incluso con las manos llenas de harina. Necesitamos UX/UI funcional, intuitivo y hermoso para usuarios no-técnicos.', + requirements: [ + '3+ años diseñando productos digitales', + 'Portfolio con casos de estudio reales', + 'Experiencia con Figma', + 'Conocimiento de design systems', + 'User research y testing', + ], + niceToHave: [ + 'Experiencia en B2B/SaaS', + 'Conocimiento de front-end (HTML/CSS)', + 'Ilustración/motion design', + 'Background en F&B/hostelería', + ], + icon: Palette, + }, + ]; + + const cultureFacts = [ + 'Somos un equipo de 5 personas (por ahora)', + 'Promedio de edad: 32 años', + 'Daily standups de 10 minutos máximo', + '80% del equipo trabaja remoto', + 'Viernes terminamos a las 14:00', + 'Budget para cursos y conferencias', + 'Equipo multilingüe (ES/EN/EU)', + 'Sin dress code (incluso en videollamadas)', + ]; + + return ( + + {/* Hero Section */} +
+
+
+
+ + Estamos Contratando +
+

+ Construye el Futuro de + las Panaderías +

+

+ Únete a una startup en fase temprana que combina IA, sostenibilidad y pasión por ayudar a negocios reales de todos los tamaños. + Somos pequeños, ágiles y con un propósito claro. +

+
+
+ + Remoto/Híbrido +
+
+ + Equipo de 5 +
+
+ + 100% España +
+
+
+
+
+ + {/* Benefits */} +
+
+
+

+ ¿Por Qué Trabajar Con Nosotros? +

+

+ Beneficios reales, no promesas vacías +

+
+ +
+ {benefits.map((benefit, index) => ( +
+
+ +
+

{benefit.title}

+

{benefit.description}

+
+ ))} +
+
+
+ + {/* Open Positions */} +
+
+
+

+ Posiciones Abiertas +

+

+ {openPositions.length} vacantes disponibles +

+
+ +
+ {openPositions.map((job) => ( +
+
+ {/* Left: Job Info */} +
+
+
+ +
+
+

{job.title}

+
+ + + {job.department} + + + + {job.location} + + + + {job.type} + + {job.salary && ( + + + {job.salary} + + )} +
+
+
+ +

{job.description}

+ +
+ {/* Requirements */} +
+

Requisitos:

+
    + {job.requirements.map((req, i) => ( +
  • + + {req} +
  • + ))} +
+
+ + {/* Nice to Have */} +
+

Valorable:

+
    + {job.niceToHave.map((item, i) => ( +
  • + + {item} +
  • + ))} +
+
+
+
+ + {/* Right: Apply Button */} +
+ + + Aplicar + + + Ver Producto + +
+
+
+ ))} +
+
+
+ + {/* Culture */} +
+
+
+

+ Nuestra Cultura +

+

+ Datos reales, sin marketing +

+
+ +
+ {cultureFacts.map((fact, index) => ( +
+ + {fact} +
+ ))} +
+
+
+ + {/* CTA */} +
+
+

+ ¿No Ves Tu Posición Ideal? +

+

+ Siempre estamos abiertos a conocer talento excepcional. + Envíanos tu CV y cuéntanos por qué quieres unirte a Panadería IA. +

+ + + Enviar Aplicación Espontánea + + +

+ careers@panaderia-ia.com +

+
+
+
+ ); +}; + +export default CareersPage; diff --git a/frontend/src/pages/public/ContactPage.tsx b/frontend/src/pages/public/ContactPage.tsx new file mode 100644 index 00000000..46910493 --- /dev/null +++ b/frontend/src/pages/public/ContactPage.tsx @@ -0,0 +1,444 @@ +import React, { useState } from 'react'; +import { useTranslation } from 'react-i18next'; +import { PublicLayout } from '../../components/layout'; +import { + MessageSquare, + Mail, + Phone, + MapPin, + Clock, + Send, + CheckCircle2, + AlertCircle, + HelpCircle +} from 'lucide-react'; + +interface ContactMethod { + id: string; + title: string; + description: string; + detail: string; + icon: React.ComponentType<{ className?: string }>; + action?: () => void; + link?: string; +} + +const ContactPage: React.FC = () => { + const { t } = useTranslation(); + const [formState, setFormState] = useState({ + name: '', + email: '', + phone: '', + bakeryName: '', + subject: '', + message: '', + type: 'general' as 'general' | 'technical' | 'sales' | 'feedback', + }); + const [submitStatus, setSubmitStatus] = useState<'idle' | 'loading' | 'success' | 'error'>('idle'); + + const contactMethods: ContactMethod[] = [ + { + id: 'chat', + title: 'Chat en Vivo', + description: 'Respuesta inmediata', + detail: 'Lunes a Viernes: 9:00 - 21:00 CET', + icon: MessageSquare, + link: '#chat', + }, + { + id: 'email', + title: 'Email', + description: 'soporte@panaderia-ia.com', + detail: 'Respuesta en menos de 4 horas', + icon: Mail, + link: 'mailto:soporte@panaderia-ia.com', + }, + { + id: 'phone', + title: 'Teléfono', + description: '+34 XXX XXX XXX', + detail: 'Lunes a Viernes: 10:00 - 19:00 CET', + icon: Phone, + link: 'tel:+34XXXXXXXXX', + }, + { + id: 'office', + title: 'Oficina', + description: 'Barcelona, España', + detail: 'Con cita previa', + icon: MapPin, + }, + ]; + + const handleChange = (e: React.ChangeEvent) => { + setFormState({ + ...formState, + [e.target.name]: e.target.value, + }); + }; + + const handleSubmit = async (e: React.FormEvent) => { + e.preventDefault(); + setSubmitStatus('loading'); + + // Simulate API call + await new Promise((resolve) => setTimeout(resolve, 1500)); + + // In production, this would be an actual API call + console.log('Form submitted:', formState); + + setSubmitStatus('success'); + setTimeout(() => { + setSubmitStatus('idle'); + setFormState({ + name: '', + email: '', + phone: '', + bakeryName: '', + subject: '', + message: '', + type: 'general', + }); + }, 3000); + }; + + return ( + + {/* Hero Section */} +
+
+
+
+ + Contacto y Soporte +
+

+ Estamos Aquí Para + Ayudarte +

+

+ ¿Tienes preguntas? ¿Necesitas ayuda? Nuestro equipo está listo para asistirte +

+
+
+
+ + {/* Contact Methods */} +
+
+
+

+ Múltiples Formas de Contactar +

+

+ Elige el método que más te convenga +

+
+ +
+ {contactMethods.map((method) => { + const ContactIcon = method.icon; + const content = ( + <> +
+ +
+

+ {method.title} +

+

+ {method.description} +

+

+ {method.detail} +

+ + ); + + if (method.link) { + return ( + + {content} + + ); + } + + return ( +
+ {content} +
+ ); + })} +
+
+
+ + {/* Contact Form */} +
+
+
+

+ Envíanos un Mensaje +

+

+ Completa el formulario y te responderemos lo antes posible +

+
+ +
+ {/* Success/Error Messages */} + {submitStatus === 'success' && ( +
+ +

+ ¡Mensaje enviado! Te responderemos pronto. +

+
+ )} + + {submitStatus === 'error' && ( +
+ +

+ Error al enviar. Por favor, inténtalo de nuevo. +

+
+ )} + +
+ {/* Name */} +
+ + +
+ + {/* Email */} +
+ + +
+ + {/* Phone */} +
+ + +
+ + {/* Bakery Name */} +
+ + +
+ + {/* Type */} +
+ + +
+ + {/* Subject */} +
+ + +
+
+ + {/* Message */} +
+ +