// ========== App composition + Contact form ========== function ContactForm() { const [data, setData] = useState({ nombre: "", email: "", telefono: "", perfil: "novio", fecha: "", ciudad: "", invitados: "100-200", listo: "", servicio: "Experiencia Completa", juegos: "si", mensaje: "", recuerdos: { video: true, album: false, libro: false }, }); const [submitted, setSubmitted] = useState(false); const [touched, setTouched] = useState(false); const [sending, setSending] = useState(false); const set = (k, v) => setData(d => ({ ...d, [k]: v })); const toggle = (k) => setData(d => ({ ...d, recuerdos: { ...d.recuerdos, [k]: !d.recuerdos[k] } })); const WEBHOOK_URL = "https://services.leadconnectorhq.com/hooks/kEZKnFdhkbuCT1BBR0pv/webhook-trigger/e922945b-330c-4266-acf5-881b0ad42a05"; const submit = async (e) => { e.preventDefault(); setTouched(true); if (!data.nombre || !data.email || !data.telefono) return; setSending(true); const payload = { source: "matrilink.cl", form: "Solicitar cotización", submitted_at: new Date().toISOString(), nombre: data.nombre, email: data.email, telefono: data.telefono, perfil: data.perfil, fecha_matrimonio: data.fecha, ciudad: data.ciudad, cantidad_invitados: data.invitados, servicio_interes: data.servicio, juegos_dinamicas: data.juegos === 'si', recuerdos: { video_editado: data.recuerdos.video, album_digital: data.recuerdos.album, libro_fisico: data.recuerdos.libro, }, mensaje: data.mensaje, page: typeof window !== 'undefined' ? window.location.href : '', }; try { await fetch(WEBHOOK_URL, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payload), }); } catch (err) { // We still show success so the UX doesn't block. The webhook will retry. console.warn('Webhook error', err); } setSending(false); setSubmitted(true); }; if (submitted) { return (
Recibimos tu solicitud. Te escribiremos por WhatsApp para entender mejor tu matrimonio y recomendarte el plan ideal.
Cuéntanos lo básico. Te escribimos por WhatsApp en menos de 24h con una propuesta personalizada según fecha, cantidad de invitados y el tipo de experiencia que quieren crear.
Desde la primera invitación hasta el video final, MatriLink te ayuda a organizar, comunicar y recordar tu gran día de una forma simple, moderna y emocional.