// Widgets interactivos: cinta de cabeza, verificador de teléfono,
// lista previa, mini quiz, FAQ.
const { useState, useEffect, useRef } = React;
/* ---------- Diagrama de la cinta (formas simples) ---------- */
const STRAP_CHIPS = [
"A la altura de los ojos",
"Cámara hacia abajo — manos a la vista",
"Firme: sin rebotes ni giros",
"REC · horizontal · lente limpio",
];
function StrapDiagram({ step }) {
// step: 0 altura de ojos · 1 angular hacia abajo · 2 ajustar · 3 listo/REC
return (
{/* figura */}
{/* cinta */}
= 2 ? " tight" : "")}>
{/* teléfono + cono de visión (se mueven juntos) */}
= 1 ? " down" : "")}>
{step === 3 ? : null}
= 1 ? " down" : "")}>
{/* línea de ojos */}
altura de los ojos
{/* zona de manos */}
= 1 ? " seen" : "")}>
{step >= 1 ? "✓ manos a la vista" : "manos"}
¡Compatible! Tu material puede ser aceptado. Recuerda ingresar el código 3JQTT5F4 en la app.
) : verdict === false ? (
No compatible. {brand === "other" ? "Solo se aceptan iPhone, Google Pixel y Samsung Galaxy S de la lista." : "Este modelo no producirá material aceptado."} Si tienes dudas, pregúntale a EGO.
) : (
Elige tu marca y modelo para saber si tu material será aceptado.
{score === qs.length
? "Perfecto. Ya piensas como un revisor — tu material va por buen camino."
: score >= qs.length - 2
? "¡Muy bien! Repasa las que fallaste y estarás listo."
: "Buen intento. Vuelve a leer \u201cSí y No\u201d y \u201cQué se rechaza\u201d, e inténtalo de nuevo."}
);
}
return (
Escenario {i + 1} de {qs.length}
{q.q}
{answer !== null ? (
{answer === q.ok ? "¡Correcto!" : "No exactamente."} {q.why}