// LANDING PÚBLICA — Simulador Docente window.LandingPage = function LandingPage({ navigate, store }) { const PRUEBAS = store.pruebas || window.SD_SEED.PRUEBAS; return (
{/* HERO con formulario */}

LOGRA TU META DOCENTE CON SIMULADORES ALINEADOS A LA NEM

Práctica ilimitada, reactivos tipo examen y retroalimentación experta.

{/* PREVIEW DEL SIMULADOR */}
PRUEBA EL SIMULADOR DIAGNÓSTICO
{/* LO QUE OBTIENES */} {/* TESTIMONIOS */} {/* ESTRUCTURA DEL EXAMEN */} {/* PRECIO SIMPLE */}
Precio

Acceso completo por materia

Pago único. Sin suscripciones. Sin cargos ocultos.

$150 MXN

Por materia · acceso permanente al simulador completo con 100 preguntas tipo USICAMM.

  • 100 preguntas tipo examen oficial
  • Retroalimentación detallada por bloque
  • Comprensión y análisis distinguidos
  • Reporte de desempeño por área
  • Sin fecha de vencimiento
{/* CTA FINAL */}
🎯

El examen USICAMM se puede aprobar. La clave es la práctica estructurada.

Inicia tu diagnóstico ahora — sin cuenta, sin tarjeta.

); }; // ── Formulario de diagnóstico ────────────────────────────────── function DiagnosticoForm({ pruebas, navigate, niveles }) { const NIVELES_OPTS = (niveles || window.SD_SEED.NIVELES).map(n => ({ id: n.id, label: n.nombre })); // proceso en el form → tipo en la BD const PROCESO_A_TIPO = { admision: 'admision', promocion: 'promocion_vertical', promocion_horizontal: 'promocion_horizontal', }; const PROCESOS_OPTS = [ { id: 'admision', label: 'Admisión' }, { id: 'promocion', label: 'Horas Adicionales' }, { id: 'promocion_horizontal', label: 'Promoción Horizontal' }, ]; const [nivel, setNivel] = React.useState('primaria'); const [proceso, setProceso] = React.useState('admision'); const [materiaId, setMateriaId] = React.useState(''); // Materias disponibles para el nivel seleccionado (dinámico) const materiaOpts = React.useMemo(() => { const nPruebas = pruebas.filter(p => (p.nivel || p.nivel_id) === nivel); const materias = {}; nPruebas.forEach(p => { if (p.materia && !materias[p.materia]) { materias[p.materia] = { id: p.materia, label: p.materiaNombre || p.materia_nombre || p.materia }; } }); const list = Object.values(materias); return list.length ? list : [{ id: '', label: 'General' }]; }, [nivel, pruebas]); React.useEffect(() => { setMateriaId(materiaOpts[0]?.id ?? ''); }, [nivel]); // ¿Hay muestra disponible para la selección actual? const tieneMuestra = React.useMemo(() => { const hermanas = nivel === 'secundaria' ? pruebas.filter(p => (p.nivel || p.nivel_id) === 'secundaria' && p.materia === materiaId) : pruebas.filter(p => (p.nivel || p.nivel_id) === nivel); return hermanas.some(p => p.muestra); }, [nivel, materiaId, pruebas]); const handleIniciar = () => { if (!tieneMuestra) return; const tipo = PROCESO_A_TIPO[proceso] || 'admision'; const hermanas = nivel === 'secundaria' ? pruebas.filter(p => (p.nivel || p.nivel_id) === 'secundaria' && p.materia === materiaId) : pruebas.filter(p => (p.nivel || p.nivel_id) === nivel); // 1. Prueba exacta (tipo seleccionado + tiene muestra) let prueba = hermanas.find(p => p.tipo === tipo && p.muestra); // 2. Fallback: cualquier hermana con muestra if (!prueba) prueba = hermanas.find(p => p.muestra); if (!prueba) return; navigate(`/simulador/${prueba.id}/muestra`); }; return (
); } // ── Lo que obtienes ─────────────────────────────────────────── function LoQueObtienes() { const items = [ { icon: '📋', title: 'REACTIVOS NEM', desc: 'Preguntas alineadas al marco curricular de la Nueva Escuela Mexicana.' }, { icon: '💬', title: 'RETROALIMENTACIÓN DETALLADA', desc: 'Explica por qué cada respuesta es correcta o incorrecta, por bloque.' }, { icon: '📱', title: 'PRACTICA DESDE TU CELULAR, TABLET O COMPUTADORA', desc: 'Compatible con cualquier dispositivo. Sin instalaciones.' }, { icon: '✅', title: 'PRACTICA A TU RITMO: GUARDA TU AVANCE Y CONTINÚA DESPUÉS', desc: 'Tu historial y resultados quedan guardados en tu cuenta.' }, ]; return (

LO QUE OBTIENES

{items.map((item, i) => (
{item.icon}
{item.title}

{item.desc}

))}
); } // ── Barra de anuncio ────────────────────────────────────────── function AnnouncementBar() { const [visible, setVisible] = React.useState(true); if (!visible) return null; return (
📢 Convocatoria USICAMM 2026-2027 activa.{' '} La fecha del examen se acerca — prepárate a tiempo.
); } // ── Estructura del examen ────────────────────────────────────── function ExamStructure() { const areas = [ { color: 'var(--teal)', bg: 'var(--teal-soft)', area: 'Área 1', titulo: 'Marco normativo y pedagógico', temas: ['Principios legales del sistema educativo', 'Bases normativas del NEM'], pct: 33, }, { color: 'var(--amber)', bg: 'var(--amber-soft)', area: 'Área 2', titulo: 'Trabajo con alumnos', temas: ['Estrategias didácticas y evaluación', 'Marco curricular NEM'], pct: 43, }, { color: '#7C3AED', bg: '#EDE9FE', area: 'Área 3', titulo: 'Trabajo colegiado y comunidad', temas: ['Colaboración institucional y trabajo en equipo', 'Vinculación con la comunidad educativa'], pct: 24, }, ]; return (
Estructura del examen USICAMM

¿Qué áreas evalúan?

🟢
Comprensión
Identificar, recordar y aplicar conceptos del temario. Conocimiento declarativo.
VS
🟠
Análisis
Interpretar situaciones didácticas reales. Toma de decisiones pedagógicas.
{areas.map((a, i) => (
{a.area}

{a.titulo}

    {a.temas.map((t, j) =>
  • {t}
  • )}
Peso aproximado{a.pct}%
))}
); } // ── Testimonios ─────────────────────────────────────────────── function Testimonios() { const tests = [ { texto: '"Pasé mi examen en el primer intento. Las preguntas del simulador son muy parecidas al examen real. El desglose por bloque me ayudó a saber dónde practicar más."', nombre: 'Maestra Leticia R.', sub: 'Secundaria · Biología · Jalisco', nivel: '★★★★★', }, { texto: '"Lo que más me gustó es que el simulador te dice si la pregunta es de comprensión o análisis. Eso me preparó para el ritmo del examen oficial."', nombre: 'Maestro Arturo M.', sub: 'Secundaria · Matemáticas · CDMX', nivel: '★★★★★', }, { texto: '"Hice varias veces el diagnóstico antes de comprar. Cuando vi mi desempeño mejorar, ya sabía que valía la pena. Lo recomiendo a todos mis compañeros."', nombre: 'Maestra Claudia T.', sub: 'Primaria · General · Veracruz', nivel: '★★★★☆', }, ]; return (
TESTIMONIOS REALES

Docentes que ya practican con resultados.

{tests.map((t, i) => (
{t.nivel}

{t.texto}

{t.nombre.split(' ').map(s => s[0]).slice(0,2).join('')}
{t.nombre}
{t.sub}
))}
); } // ── Hero mockup (preview del simulador) ────────────────────── function HeroMockup() { return (
Pregunta 47 / 100 · Bloque 2
⏱ 38:14
🟠 Análisis · Área 2

Una docente observa que sus estudiantes confunden los conceptos de célula procariota y eucariota. ¿Cuál es la estrategia didáctica más adecuada para abordar esta confusión?

A Explicar las diferencias en clase magistral.
B Construir un cuadro comparativo con los estudiantes.
C Asignar lectura del libro de texto.
D Aplicar un examen diagnóstico.
); } // ── Header ──────────────────────────────────────────────────── window.Header = function Header({ navigate, session, cartCount = 0 }) { return (
{ e.preventDefault(); navigate('/'); }}>
{cartCount > 0 && session && ( )} {session ? ( ) : ( <> )}
); }; // ── Footer ──────────────────────────────────────────────────── window.Footer = function Footer() { return ( ); };