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 */}