// ─── DIAGNÓSTICO PAGE ──────────────────────────────────────────────────────
// Evaluación de Madurez Digital para IA — 10 preguntas, captura de lead, dashboard
const QUIZ_QUESTIONS = [
{ category: "Almacenamiento", text: "¿Dónde y cómo gestionan actualmente la información de clientes, ventas e inventario?", options: [
{ text: "En hojas de cálculo aisladas (Excel) o papel.", points: 1 },
{ text: "En un software específico (CRM/ERP), pero algunas áreas siguen usando Excel.", points: 3 },
{ text: "En un sistema centralizado y en la nube, donde la información está unificada.", points: 5 }
]},
{ category: "Calidad", text: "Si extraes un reporte hoy, ¿qué tanta confianza tienes en que los datos son exactos?", options: [
{ text: "Poca. Hay datos duplicados, incompletos o desactualizados.", points: 1 },
{ text: "Media. Los datos son útiles, pero requieren limpieza manual antes de analizarse.", points: 3 },
{ text: "Alta. Los datos son precisos, estandarizados y se actualizan constantemente.", points: 5 }
]},
{ category: "Procesos", text: "¿Cómo se ejecutan los procesos clave de la empresa (ventas, operaciones, atención)?", options: [
{ text: "Cada persona lo hace a su manera; no hay documentación clara.", points: 1 },
{ text: "Están documentados, pero en la práctica hay excepciones y cuellos de botella frecuentes.", points: 3 },
{ text: "Están estructurados, documentados y el equipo los sigue rigurosamente.", points: 5 }
]},
{ category: "Carga Operativa", text: "¿Cuánto tiempo invierte el equipo en tareas operativas, como trasladar datos de un sistema a otro o armar reportes?", options: [
{ text: "Demasiado. El trabajo manual consume gran parte del día a día.", points: 1 },
{ text: "Moderado. Hay algunas automatizaciones básicas configuradas.", points: 3 },
{ text: "Mínimo. Las tareas repetitivas están automatizadas casi en su totalidad.", points: 5 }
]},
{ category: "Silos", text: "¿Cómo fluye la información entre los distintos departamentos (ej. Marketing, Ventas y Operaciones)?", options: [
{ text: "No fluye. Cada área tiene sus propios datos y están desconectadas.", points: 1 },
{ text: "Fluye con fricción. Se comparten reportes periódicos por correo o reuniones.", points: 3 },
{ text: "Fluye en tiempo real. Todos ven la misma información desde sus plataformas.", points: 5 }
]},
{ category: "Toma de Decisiones", text: "¿En qué se basan las decisiones estratégicas actuales de la dirección?", options: [
{ text: "En la intuición y la experiencia del equipo directivo.", points: 1 },
{ text: "En reportes históricos o 'post-mortem' (qué pasó el mes anterior).", points: 3 },
{ text: "En paneles de inteligencia de negocios (Dashboards) con datos en tiempo real.", points: 5 }
]},
{ category: "Cultura", text: "¿Cómo reacciona el equipo frente a la adopción de nuevas herramientas digitales?", options: [
{ text: "Hay mucha resistencia al cambio y cuesta que dejen de usar sus métodos tradicionales.", points: 1 },
{ text: "Hay disposición, pero requieren mucho acompañamiento porque la curva de aprendizaje es lenta.", points: 3 },
{ text: "Son proactivos, se adaptan rápido a plataformas intuitivas y buscan optimizar su trabajo.", points: 5 }
]},
{ category: "Talento", text: "¿Cuentan en el equipo con personas capaces de interpretar datos o gestionar la tecnología actual?", options: [
{ text: "No, la tecnología es un dolor de cabeza para todos.", points: 1 },
{ text: "Sí, hay una o dos personas clave que entienden los sistemas.", points: 3 },
{ text: "Sí, existe una cultura general de aprovechamiento tecnológico y análisis de datos.", points: 5 }
]},
{ category: "Estrategia", text: "¿Cuál es el objetivo principal de querer implementar Inteligencia Artificial ahora?", options: [
{ text: "Porque es la tendencia y queremos modernizarnos.", points: 1 },
{ text: "Para resolver un problema puntual y aislado en un departamento.", points: 3 },
{ text: "Para escalar operaciones, eliminar carga operativa y generar ventajas competitivas medibles.", points: 5 }
]},
{ category: "Inversión", text: "¿Cómo percibe la empresa la inversión tecnológica?", options: [
{ text: "Como un gasto necesario y costoso que se debe minimizar.", points: 1 },
{ text: "Invierten en licencias, pero no en optimizar o conectar las herramientas.", points: 3 },
{ text: "Como un aliado estratégico; hay presupuesto para herramientas, integración y capacitación.", points: 5 }
]}
];
// Configuración del Webhook para Zoho CRM (reemplazar con la URL real en producción)
const QUIZ_WEBHOOK_URL = "https://flow.zoho.com/888033317/flow/webhook/incoming?zapikey=1001.2ed58c2ccd0c3d3228b62f98ad5de5d4.edb123acfecde0afcd1f643532d8161f&isdebug=false";
const DiagnosticoPage = ({ navigate }) => {
const [view, setView] = React.useState('quiz'); // 'quiz' | 'lead' | 'results'
const [currentQ, setCurrentQ] = React.useState(0);
const [answers, setAnswers] = React.useState(() => new Array(QUIZ_QUESTIONS.length).fill(null));
const [score, setScore] = React.useState(0);
const [lead, setLead] = React.useState({ name: '', email: '', company: '', jobTitle: '' });
const [submitting, setSubmitting] = React.useState(false);
const q = QUIZ_QUESTIONS[currentQ];
const answeredCurrent = answers[currentQ];
const percent = Math.round(((currentQ + 1) / QUIZ_QUESTIONS.length) * 100);
const isLast = currentQ === QUIZ_QUESTIONS.length - 1;
const selectOption = (optionIndex, points) => {
const next = [...answers];
next[currentQ] = { optionIndex, points };
setAnswers(next);
setTimeout(() => {
if (currentQ < QUIZ_QUESTIONS.length - 1) {
setCurrentQ(currentQ + 1);
} else {
// Última pregunta → ir directo al formulario
const total = next.reduce((s, a) => s + (a ? a.points : 0), 0);
setScore(total);
setView('lead');
window.scrollTo({ top: 0, behavior: 'smooth' });
}
}, 320);
};
const goNext = () => {
if (isLast) {
// Calcular puntaje y pasar al formulario
const total = answers.reduce((s, a) => s + (a ? a.points : 0), 0);
setScore(total);
setView('lead');
window.scrollTo({ top: 0, behavior: 'smooth' });
} else {
setCurrentQ(currentQ + 1);
}
};
const goBack = () => {
if (currentQ > 0) setCurrentQ(currentQ - 1);
};
const submitLead = (e) => {
e.preventDefault();
setSubmitting(true);
const leadData = {
Nombre: lead.name,
Correo: lead.email,
Empresa: lead.company,
Cargo: lead.jobTitle,
Puntaje_Madurez_Digital: score,
Origen: "Evaluación Web AI"
};
const showResults = () => {
setSubmitting(false);
setView('results');
window.scrollTo({ top: 0, behavior: 'smooth' });
};
// Zoho Flow webhook desde el navegador: usamos URLSearchParams (form-urlencoded)
// que es un "simple request" y no requiere preflight CORS. Si enviamos JSON
// con no-cors, el body se descarta silenciosamente.
const params = new URLSearchParams();
Object.entries(leadData).forEach(([k, v]) => params.append(k, String(v)));
fetch(QUIZ_WEBHOOK_URL, {
method: 'POST',
mode: 'no-cors',
body: params
})
.then(() => showResults())
.catch((err) => { console.warn('Webhook fallback:', err); showResults(); });
};
const restart = () => {
setView('quiz');
setCurrentQ(0);
setAnswers(new Array(QUIZ_QUESTIONS.length).fill(null));
setScore(0);
setLead({ name: '', email: '', company: '', jobTitle: '' });
window.scrollTo({ top: 0, behavior: 'smooth' });
};
// ─── Lógica de resultados ─────────────────────────────────────────────────
const getResultData = () => {
let level, color, title, desc, diag, actions;
if (score <= 22) {
level = 'explorador';
color = '#EF4444';
title = 'Nivel Explorador (Fase de Digitalización)';
desc = 'La empresa se encuentra dando sus primeros pasos digitales. Introducir Inteligencia Artificial en este punto equivaldría a automatizar el caos.';
diag = 'Tu prioridad absoluta debe ser estructurar los cimientos del negocio. Los datos están dispersos y la carga operativa manual es crítica, lo que impide que cualquier modelo de IA aprenda de información confiable.';
actions = [
'Centralización urgente: Migrar la información de hojas de cálculo sueltas o papel hacia un sistema estructurado en la nube (CRM o ERP intuitivo).',
'Mapeo de procesos: Documentar cómo se ejecutan las ventas y operaciones clave antes de intentar configurar herramientas avanzadas.',
'Evitar herramientas complejas: No invertir en licencias sofisticadas de IA por el momento; prefiere plataformas que tengan una curva de aprendizaje corta para el equipo.'
];
} else if (score <= 38) {
level = 'transicion';
color = '#F59E0B';
title = 'Nivel Transición (Fase de Automatización)';
desc = 'La empresa ya utiliza herramientas digitales y valora la información, pero opera en silos desconectados y mantiene procesos con alta fricción operativa.';
diag = 'Estás en el punto óptimo para limpiar, conectar y preparar el terreno. El equipo tiene la disposición pero los datos requieren manipulación manual recurrente y las áreas no conversan en tiempo real.';
actions = [
'Integración de plataformas: Conectar las herramientas actuales (Ventas, Marketing, Operaciones) mediante integraciones limpias o scripts personalizados para eliminar flujos de datos manuales.',
'Higiene de datos: Establecer reglas claras de estandarización para evitar registros duplicados o incompletos.',
'Business Intelligence básico: Implementar tableros de control (Dashboards) centralizados para que la dirección empiece a tomar decisiones basadas en datos en tiempo real y no en reportes históricos del mes pasado.'
];
} else {
level = 'driven';
color = '#10B981';
title = 'Nivel Data-Driven (Listos para IA)';
desc = 'La empresa cuenta con procesos robustos, datos centralizados y un equipo con una mentalidad proactiva hacia la tecnología.';
diag = '¡Escenario ideal para el despliegue de IA! Cuentas con la infraestructura necesaria para que los algoritmos aporten un valor real inmediato, automatizando decisiones complejas o prediciendo comportamientos del mercado.';
actions = [
'Despliegue de IA enfocado al Core: Implementar modelos de Machine Learning o analítica predictiva directamente sobre tus datos centralizados para optimizar conversiones o inventarios.',
'Automatización inteligente profunda: Diseñar flujos de trabajo autónomos que eliminen los últimos rastros de operatividad repetitiva del equipo.',
'Escalamiento ágil: Utilizar el alto entendimiento digital del talento interno para liderar proyectos experimentales de IA generativa aplicada al negocio de manera controlada y medible.'
];
}
// Acciones críticas adicionales
if (answers[3] && answers[3].points === 1) {
actions.push('Acción Crítica por Alta Carga Operativa: Diseñar automatizaciones iniciales para transferencias de datos repetitivas antes de introducir soluciones de IA complejas.');
}
if (answers[4] && answers[4].points === 1) {
actions.push('Acción Crítica por Desconexión: Unificar la visibilidad de los datos de marketing y ventas en un panel compartido para romper el aislamiento operativo.');
}
return { level, color, title, desc, diag, actions };
};
// ─── Render: QUIZ ─────────────────────────────────────────────────────────
const renderQuiz = () => (
{q.text}
Necesitamos unos datos para enviarte tu diagnóstico completo y un plan de acción a la medida de tu empresa.
{r.desc}
{r.diag}
Evalúa el estado de tu empresa antes de implementar Inteligencia Artificial. 10 preguntas · 3 minutos.