// NAXUS — Wizard form (3 pasos + confirmación) const { useState } = React; const INDUSTRIES = [ "E-commerce", "Servicios profesionales", "Salud", "Educación", "Inmobiliaria", "Restaurantes / hostelería", "Manufactura", "Tecnología", "Marketing / agencia", "Finanzas", "Otro" ]; const PROBLEM_TAGS = [ "Atención al cliente saturada", "Procesos manuales repetitivos", "Pérdida de leads", "Falta de seguimiento", "Datos desordenados", "Integración entre apps", "Generación de contenido", "Reportes manuales", ]; const BUDGETS = [ "< $500 USD/mes", "$500 – $1,500", "$1,500 – $5,000", "$5,000+", "Aún no lo sé", ]; const URGENCIES = [ { id: "asap", label: "Ya, ayer", sub: "Lo necesito esta semana" }, { id: "month", label: "Este mes", sub: "En 1–4 semanas" }, { id: "quarter", label: "Próximos 3 meses", sub: "Estoy planeando" }, { id: "explore", label: "Solo exploro", sub: "Quiero entender opciones" }, ]; const initialData = { problem_tags: [], problem_desc: "", industry: "", business_size: "", current_pain: "", budget: "", urgency: "", name: "", email: "", phone: "", company: "", }; function Field({ label, children, full }) { return (
{children}
); } function ChipGroup({ options, selected, onToggle, multi = false }) { return (
{options.map((opt) => { const value = typeof opt === "string" ? opt : opt.id; const label = typeof opt === "string" ? opt : opt.label; const sub = typeof opt === "string" ? null : opt.sub; const isOn = multi ? selected.includes(value) : selected === value; return ( ); })}
); } function Wizard({ destinationEmail = "hola@naxus.tech" }) { const [step, setStep] = useState(0); const [data, setData] = useState(initialData); const [submitted, setSubmitted] = useState(false); const totalSteps = 3; const update = (key, value) => setData((d) => ({ ...d, [key]: value })); const toggleTag = (tag) => { setData((d) => ({ ...d, problem_tags: d.problem_tags.includes(tag) ? d.problem_tags.filter((t) => t !== tag) : [...d.problem_tags, tag], })); }; const canAdvance = () => { if (step === 0) return data.problem_tags.length > 0 || data.problem_desc.trim().length > 8; if (step === 1) return data.urgency && data.budget; if (step === 2) return data.name.trim() && data.email.trim() && data.phone.trim(); return true; }; const submit = (e) => { e?.preventDefault(); // Build mailto fallback — destination email goes here const subject = encodeURIComponent(`Nuevo lead naxus: ${data.name} (${data.company || "sin empresa"})`); const body = encodeURIComponent( `Nuevo prospecto desde naxus.tech\n\n` + `── CONTACTO ──\n` + `Nombre: ${data.name}\n` + `Email: ${data.email}\n` + `Teléfono / WhatsApp: ${data.phone}\n` + `Empresa: ${data.company || "—"}\n` + `Industria: ${data.industry || "—"}\n\n` + `── PROBLEMA ──\n` + `Áreas: ${data.problem_tags.join(", ") || "—"}\n` + `Descripción:\n${data.problem_desc || "—"}\n\n` + `── IMPACTO ──\n` + `Dolor actual: ${data.current_pain || "—"}\n` + `Presupuesto: ${data.budget}\n` + `Urgencia: ${data.urgency}\n` ); // In production: POST to backend / Formspree / Resend. // For now we open mailto so the lead lands in your inbox. try { window.location.href = `mailto:${destinationEmail}?subject=${subject}&body=${body}`; } catch (_) {} console.log("[naxus lead]", data); setSubmitted(true); }; if (submitted) { return (
{window.Icon.check}

Recibimos tu solicitud

Gracias {data.name.split(" ")[0]}. En menos de 24 horas te contactamos por WhatsApp o correo con un diagnóstico inicial gratuito y un plan de automatización a medida.

); } return (
{[0, 1, 2].map((i) => (
))}
{step === 0 && (
Paso 01 / 03 — El problema

¿Qué te está quitando el sueño?

Marca todo lo que aplique y cuéntanos brevemente. La IA puede automatizar casi cualquier proceso repetitivo — empezamos por entender el tuyo.