/* Blog + Contacto */ (function () { const { useState, useRef } = React; function Blog({ data }) { const b = data.blog; return ( {b.eyebrow} {b.title} Ver todo el blog {b.posts.map((p, i) => ( {p.tag} {p.title} {p.read} de lectura ))} ); } function Contacto({ data }) { const c = data.contact; const [sent, setSent] = useState(false); const [folio, setFolio] = useState(""); const [enviando, setEnviando] = useState(false); const [error, setError] = useState(""); /* Momento en que se montó el formulario: el servidor exige un mínimo de segundos de llenado como medida anti-bot. */ const t0 = useRef(Math.floor(Date.now() / 1000)); const submit = (e) => { e.preventDefault(); if (enviando) return; setError(""); setEnviando(true); const fd = new FormData(e.target); fd.append("_t", String(t0.current)); fetch("api/contacto.php", { method: "POST", body: fd }) .then((r) => r.json().then((j) => ({ ok: r.ok, j }))) .then(({ j }) => { if (j.ok) { setFolio(j.folio); setSent(true); } else { const errs = j.errors || {}; setError(errs._ || Object.values(errs)[0] || "No se pudo enviar tu mensaje."); } }) .catch(() => setError("No se pudo conectar. Revisa tu conexión e intenta de nuevo.")) .then(() => setEnviando(false)); }; return ( {c.eyebrow} {c.title} {c.lead} Teléfono de oficina(55) 9893 8804 WhatsApp(646) 117 1693 Correocontacto@hemel.mx Dirección corporativaAv. Isaac Newton #186, Polanco V Sección,Miguel Hidalgo, CDMX, C.P. 11560 {data.social.map((s) => ( ))} {sent ? ( ¡Gracias! Te contactaremos pronto. Un asesor revisará tu solicitud y responderá con tiempos y arancel. {folio && Folio: {folio}} { setSent(false); setFolio(""); }}>Enviar otra solicitud ) : ( Nombre Empresa Correo Teléfono Asunto Selecciona una opción {c.subjects.map((s) => {s})} Mensaje {/* Honeypot: invisible para humanos, los bots lo llenan. */} {error && {error}} {enviando ? "Enviando…" : <>Enviar solicitud >} Al enviar aceptas nuestro Aviso de Privacidad. )} ); } window.Blog = Blog; window.Contacto = Contacto; })();
{c.lead}
Un asesor revisará tu solicitud y responderá con tiempos y arancel.
Folio: {folio}
{error}
Al enviar aceptas nuestro Aviso de Privacidad.