// pages.jsx — Subpages: Programas, Nosotros, Matrícula, Contacto. // Reuses Nav, Footer, Ribbon, SectionHeader, PALETTES from app.jsx + sections.jsx. const { useState: useStateP } = React; function submitMatricula(form, p, setStep) { const C = window.WIPBOT_CONTENT; const endpoint = (C && C.forms && C.forms.matriculaEndpoint) || ''; if (!endpoint || endpoint.includes('REEMPLAZA')) { alert('⚠️ Formulario no configurado todavía. Por favor contacta por WhatsApp o email.'); return; } fetch(endpoint, { method: 'POST', headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' }, body: JSON.stringify({ ...form, _subject: 'Nueva solicitud de matrícula - Wipbot' }) }).then(function(r) { if (r.ok) { setStep(99); // success state } else { alert('Hubo un error al enviar. Por favor contacta por WhatsApp.'); } }).catch(function() { alert('Sin conexión. Por favor contacta por WhatsApp.'); }); } function PageShell({ p, showRibbon, children }) { React.useEffect(() => { document.body.style.background = p.bg; document.body.style.color = p.ink; }, [p]); return (
{showRibbon && }
); } function PageHero({ p, eyebrow, title, subtitle, image }) { return (
{eyebrow}

{title}

{subtitle &&

{subtitle}

}
{image && (
)}
); } // ─── Programas ──────────────────────────────────────────────────────────── function ProgramasPage({ p }) { return ( <> Elige el camino
de tu peque.} subtitle="Robótica, ciencia o mundo digital. Pueden empezar por cualquiera, combinarlas o cambiar de un curso al siguiente. Todos los programas avanzan por niveles." />
{PROGRAMS.map((prog, i) => ( ))}
); } function Spec({ p, k, v }) { return (
{k}
{v}
); } // ─── Nosotros ───────────────────────────────────────────────────────────── function NosotrosPage({ p }) { return ( <> Nacimos en un pueblo. Crecimos
con sus familias.} subtitle="Wipbot empezó en Alcorisa en 2019. Hoy seguimos en el Bajo Aragón con local en Alcañiz, formando peques en robótica, ciencia y tecnología con metodología STEAM." image={ASSETS.classroom} />
Cómo trabajamos.} />
{[ { k: "Cercanía", v: "Conocemos a cada peque por su nombre. Hablamos con padres y madres cada vez que hace falta." }, { k: "Hacer, no escuchar", v: "Pizarra mínima, manos máximas. El 90% del tiempo en clase es construyendo o experimentando." }, { k: "Sin dogmas", v: "Si una herramienta es mejor para enseñar algo, la usamos. Vendemos tecnología, no marcas." }, ].map((v) => (

{v.k}

{v.v}

))}
); } function Story({ p, year, title, text }) { return (
{year}

{title}

{text}

); } // ─── Matrícula ──────────────────────────────────────────────────────────── function MatriculaPage({ p }) { const [step, setStep] = useStateP(0); const [form, setForm] = useStateP({ peque: "", edad: "", program: "robotica", parent: "", email: "", phone: "" }); const update = (k, v) => setForm((f) => ({ ...f, [k]: v })); return ( <> Matrícula abierta.} subtitle="Elige programa, día y nivel. Si tienes dudas, antes ven a una clase de prueba — es gratis y sin compromiso." />
{["Programa", "Datos del peque", "Datos del adulto"].map((s, i) => (
))}
{step === 99 && (
🎉

¡Solicitud enviada!

Te contactaremos en menos de 24h para confirmar la plaza. Si tienes prisa, escríbenos por WhatsApp.

Ir al WhatsApp →
)} {step === 0 && (

1. Elige programa

{PROGRAMS.map((prog) => ( ))}
)} {step === 1 && (

2. Datos del peque

update("peque", v)} placeholder="Lucas" /> update("edad", v)} placeholder="9" />
Día preferido
{["Lunes", "Martes", "Miércoles", "Jueves", "Viernes"].map((d) => ( {d} ))}
)} {step === 2 && (

3. Datos del adulto

update("parent", v)} placeholder="Marta García" /> update("email", v)} placeholder="marta@correo.es" /> update("phone", v)} placeholder="600 000 000" />

Te llamaremos en 24h para confirmar plaza y resolver cualquier duda.

)}
{step < 2 ? ( ) : ( )}
); } function Field({ p, label, value, onChange, placeholder }) { return ( ); } function Row({ label, value, p, muted, bold }) { return (
{label} {value}
); } // ─── Contacto ───────────────────────────────────────────────────────────── function ContactoPage({ p }) { return ( <> ¿Tenéis dudas? Os contestamos.} subtitle="WhatsApp para lo rápido, email para lo más detallado, o pasaos por el local. Lo que prefiráis." />
{function() { const C = (window.WIPBOT_CONTENT && window.WIPBOT_CONTENT.contact) || {}; return (<> ); }()}

Escríbenos

Te respondemos en menos de 24h en horario laboral.

{}} placeholder="" /> {}} placeholder="" /> {}} placeholder="" />