| |
| <title>¿Tienes Madera de AV?</title>
|
| <meta charset="UTF-8" />
|
| <meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
| <link rel="preconnect" href="https://fonts.googleapis.com">
|
| <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
| <link href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,600;1,9..144,500;1,9..144,600&family=Work+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@500;600&display=swap" rel="stylesheet">
|
|
|
| <style>
|
|
|
|
|
|
|
|
|
|
|
| #avq-widget{
|
| --bg: #fff8f6;
|
| --bg-2: #fdf1ee;
|
| --surface: #ffffff;
|
| --surface-soft: #fbecec;
|
| --ink: #33141e;
|
| --ink-soft: #7a5461;
|
| --ink-faint: #b98d99;
|
| --accent: #e11d74;
|
| --accent-ink: #ffffff;
|
| --accent-soft: #fce3ee;
|
| --gold: #8b7728;
|
| --gold-soft: #f4ecd6;
|
| --border: #f0d7dd;
|
| --shadow: 220 60% 20%;
|
|
|
| display: block;
|
| background: var(--bg);
|
| color: var(--ink);
|
| font-family: 'Work Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
| overflow: hidden;
|
| position: relative;
|
| }
|
| @media (prefers-color-scheme: dark){
|
| #avq-widget:not([data-theme="light"]){
|
| --bg: #1c0f15;
|
| --bg-2: #24141b;
|
| --surface: #2a1620;
|
| --surface-soft: #341a25;
|
| --ink: #fbecec;
|
| --ink-soft: #d9adbb;
|
| --ink-faint: #8a5d6b;
|
| --accent: #ff5a9b;
|
| --accent-ink: #22101a;
|
| --accent-soft: #3d1c2b;
|
| --gold: #e6c568;
|
| --gold-soft: #3a2f19;
|
| --border: #46232f;
|
| }
|
| }
|
| #avq-widget[data-theme="dark"]{
|
| --bg: #1c0f15;
|
| --bg-2: #24141b;
|
| --surface: #2a1620;
|
| --surface-soft: #341a25;
|
| --ink: #fbecec;
|
| --ink-soft: #d9adbb;
|
| --ink-faint: #8a5d6b;
|
| --accent: #ff5a9b;
|
| --accent-ink: #22101a;
|
| --accent-soft: #3d1c2b;
|
| --gold: #e6c568;
|
| --gold-soft: #3a2f19;
|
| --border: #46232f;
|
| }
|
|
|
| #avq-widget, #avq-widget *{ box-sizing: border-box; }
|
| @media (prefers-reduced-motion: reduce){
|
| #avq-widget *{ animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; }
|
| }
|
|
|
|
|
| .avq-glow{ position: absolute; border-radius: 50%; filter: blur(70px); z-index: 0; pointer-events:none; opacity:.55; }
|
| .avq-glow-a{ width: 46vmax; height: 46vmax; top: -18vmax; right: -14vmax; background: radial-gradient(circle, var(--accent-soft), transparent 70%); }
|
| .avq-glow-b{ width: 38vmax; height: 38vmax; bottom: -16vmax; left: -12vmax; background: radial-gradient(circle, var(--gold-soft), transparent 70%); }
|
|
|
| .avq-wrap{
|
| position: relative; z-index: 1;
|
| display: flex; flex-direction: column; align-items: center; justify-content: center;
|
| padding: 5vh 5vw;
|
| }
|
|
|
| .avq-eyebrow{
|
| font-family: 'JetBrains Mono', monospace;
|
| font-size: 12px; letter-spacing: .14em; text-transform: uppercase;
|
| color: var(--accent); font-weight: 600; margin: 0 0 10px;
|
| }
|
|
|
| .avq-card{
|
| width: 100%; max-width: 620px;
|
| background: var(--surface);
|
| border: 1px solid var(--border);
|
| border-radius: 28px;
|
| padding: 44px 40px 36px;
|
| box-shadow: 0 24px 60px -28px hsl(var(--shadow) / 0.28);
|
| }
|
| @media (max-width: 560px){ .avq-card{ padding: 32px 22px 28px; border-radius: 22px; } }
|
|
|
|
|
| .avq-progress-row{ display:flex; align-items:center; gap: 14px; margin-bottom: 30px; }
|
| .avq-progress-track{
|
| flex: 1; height: 8px; border-radius: 99px; background: var(--surface-soft);
|
| position: relative; overflow: hidden;
|
| }
|
| .avq-progress-fill{
|
| position:absolute; inset:0 auto 0 0; width: 0%;
|
| background: linear-gradient(90deg, var(--gold), var(--accent));
|
| border-radius: 99px; transition: width .5s cubic-bezier(.4,0,.2,1);
|
| }
|
| .avq-progress-label{
|
| font-family:'JetBrains Mono',monospace; font-size: 12px; color: var(--ink-soft);
|
| font-variant-numeric: tabular-nums; white-space:nowrap;
|
| }
|
|
|
| h1.avq-q{
|
| font-family: 'Fraunces', Georgia, serif;
|
| font-weight: 600; font-size: clamp(24px, 4vw, 32px);
|
| line-height: 1.22; margin: 0 0 26px; text-wrap: balance;
|
| max-width: 30ch;
|
| }
|
|
|
| .avq-options{ display:flex; flex-direction:column; gap: 10px; }
|
| .avq-opt{
|
| display:flex; align-items:center; gap: 12px;
|
| text-align:left; width:100%; box-sizing: border-box;
|
| background: var(--surface); border: 1.5px solid var(--border);
|
| border-radius: 16px; padding: 14px 16px;
|
| font-family:'Work Sans',sans-serif; font-size: 14px; line-height: 1.35; font-weight: 500; color: var(--ink);
|
| cursor: pointer; transition: border-color .15s, background .15s, transform .1s;
|
| white-space: normal;
|
| }
|
| .avq-opt:hover{ border-color: var(--accent); background: var(--accent-soft); }
|
| .avq-opt:active{ transform: scale(.99); }
|
| .avq-opt-text{
|
| flex: 1 1 auto; min-width: 0; width: 0;
|
| white-space: normal !important; overflow-wrap: break-word !important; word-break: break-word !important;
|
| }
|
| .avq-opt .avq-dot{
|
| flex: none; width: 20px; height: 20px; border-radius: 50%;
|
| border: 1.5px solid var(--ink-faint); position: relative;
|
| }
|
| .avq-opt.avq-selected{ border-color: var(--accent); background: var(--accent-soft); }
|
| .avq-opt.avq-selected .avq-dot{ border-color: var(--accent); }
|
| .avq-opt.avq-selected .avq-dot::after{
|
| content:''; position:absolute; inset: 3px; border-radius:50%; background: var(--accent);
|
| }
|
|
|
| .avq-rank-badge{
|
| flex: none; width: 22px; height: 22px; border-radius: 50%;
|
| border: 1.5px solid var(--ink-faint);
|
| display:flex; align-items:center; justify-content:center;
|
| font-family:'JetBrains Mono',monospace; font-size: 11px; font-weight: 700;
|
| color: var(--ink-faint); background: transparent;
|
| transition: background .15s, border-color .15s, color .15s;
|
| }
|
| .avq-opt.avq-selected .avq-rank-badge{
|
| border-color: var(--accent); background: var(--accent); color: var(--accent-ink);
|
| }
|
|
|
| .avq-field{ margin-bottom: 16px; }
|
| .avq-field label{ display:block; font-size: 13px; font-weight:600; color: var(--ink-soft); margin-bottom: 7px; }
|
| .avq-field input, .avq-field select{
|
| width: 100%; font-family:'Work Sans',sans-serif; font-size: 16px;
|
| padding: 13px 15px; border-radius: 14px; border: 1.5px solid var(--border);
|
| background: var(--surface); color: var(--ink);
|
| }
|
| .avq-field input:focus, .avq-field select:focus, .avq-opt:focus-visible, .avq-btn:focus-visible{
|
| outline: 2px solid var(--accent); outline-offset: 2px;
|
| }
|
| .avq-hint{ font-size: 12.5px; color: var(--ink-faint); margin-top: 6px; }
|
|
|
| .avq-slider-wrap{ padding: 6px 4px 0; }
|
| .avq-slider-wrap input[type="range"]{
|
| width: 100%; accent-color: var(--accent); height: 6px;
|
| }
|
| .avq-slider-value{
|
| font-family:'JetBrains Mono', monospace; font-size: 44px; font-weight:600;
|
| color: var(--accent); text-align:center; margin: 6px 0 2px;
|
| font-variant-numeric: tabular-nums;
|
| }
|
| .avq-slider-scale{ display:flex; justify-content:space-between; font-size:11.5px; color:var(--ink-faint); font-family:'JetBrains Mono',monospace; }
|
|
|
| .avq-actions{ display:flex; align-items:center; justify-content: space-between; margin-top: 30px; gap: 12px; }
|
| .avq-btn{
|
| font-family:'Work Sans',sans-serif !important; font-weight: 600 !important; font-size: 15px !important;
|
| line-height: normal !important; letter-spacing: normal !important; text-transform: none !important;
|
| border-radius: 999px !important; padding: 13px 26px !important; border: none !important; cursor: pointer;
|
| transition: transform .12s, opacity .15s, background .15s;
|
| box-shadow: none !important;
|
| }
|
| .avq-btn-primary{ background: var(--accent) !important; color: var(--accent-ink) !important; }
|
| .avq-btn-primary:hover{ transform: translateY(-1px); color: var(--accent-ink) !important; }
|
| .avq-btn-primary:disabled{ opacity: .35; cursor: not-allowed; transform:none; }
|
| .avq-btn-ghost{ background: transparent !important; color: var(--ink-soft) !important; padding: 13px 8px !important; }
|
| .avq-btn-ghost:hover{ color: var(--ink) !important; }
|
| .avq-btn-block{ width: 100% !important; }
|
|
|
|
|
| .avq-intro-badge{
|
| display:inline-flex; align-items:center; gap:8px; background: var(--surface-soft);
|
| color: var(--accent); font-family:'JetBrains Mono',monospace; font-size: 12px;
|
| padding: 7px 14px; border-radius: 999px; margin-bottom: 20px; font-weight:600; letter-spacing:.03em;
|
| }
|
| .avq-intro-title{
|
| font-family:'Fraunces', Georgia, serif; font-weight:600; font-style: italic;
|
| font-size: clamp(30px, 5.4vw, 44px); line-height: 1.08; margin: 0 0 18px; text-wrap: balance;
|
| }
|
| .avq-intro-sub{ font-size: 16.5px; color: var(--ink-soft); line-height: 1.55; max-width: 46ch; margin: 0 0 30px; }
|
| .avq-intro-meta{ display:flex; gap: 22px; margin-bottom: 30px; flex-wrap: wrap; }
|
| .avq-intro-meta div{ font-size: 13px; color: var(--ink-soft); display:flex; align-items:center; gap:8px; }
|
| .avq-intro-meta strong{ color: var(--ink); font-family:'JetBrains Mono',monospace; font-weight:600; }
|
|
|
|
|
| .avq-gate-title{ font-family:'Fraunces',Georgia,serif; font-weight:600; font-size: clamp(22px,3.6vw,28px); margin: 0 0 10px; text-wrap:balance; }
|
| .avq-gate-sub{ color: var(--ink-soft); font-size: 15px; margin: 0 0 26px; line-height:1.5; }
|
|
|
|
|
| .avq-result-badge{
|
| font-family:'JetBrains Mono',monospace; font-size: 12px; font-weight:600;
|
| letter-spacing:.08em; text-transform:uppercase; color: var(--gold);
|
| background: var(--gold-soft); display:inline-block; padding: 6px 14px; border-radius:999px;
|
| margin-bottom: 18px;
|
| }
|
| .avq-result-title{
|
| font-family:'Fraunces',Georgia,serif; font-weight:600; font-style:italic;
|
| font-size: clamp(28px,5vw,38px); line-height:1.1; margin:0 0 16px; text-wrap:balance;
|
| }
|
| .avq-result-text{ font-size: 16px; line-height:1.6; color: var(--ink-soft); margin: 0 0 8px; }
|
| .avq-result-text strong{ color: var(--ink); }
|
| .avq-result-justificacion{
|
| background: var(--surface-soft); border-radius: 14px; padding: 14px 16px;
|
| font-size: 14.5px; color: var(--ink-soft); margin-top: 14px;
|
| }
|
|
|
| .avq-meter{ margin: 30px 0 32px; }
|
| .avq-meter-track{ position:relative; height: 10px; background: var(--surface-soft); border-radius:999px; margin: 0 4px; }
|
| .avq-meter-fill{ position:absolute; inset:0 auto 0 0; width:0%; background: linear-gradient(90deg, var(--gold), var(--accent)); border-radius:999px; transition: width 1.1s cubic-bezier(.16,1,.3,1); }
|
| .avq-meter-stages{ display:flex; justify-content: space-between; margin-top: 14px; }
|
| .avq-stage{ display:flex; flex-direction:column; align-items:center; gap:7px; width: 33%; opacity:.4; transition: opacity .4s; }
|
| .avq-stage.avq-active{ opacity: 1; }
|
| .avq-stage svg{ width: 30px; height: 30px; }
|
| .avq-stage span{ font-size: 11px; font-family:'JetBrains Mono',monospace; color: var(--ink-soft); text-align:center; }
|
|
|
| .avq-score-line{ display:flex; align-items:baseline; gap:8px; margin-bottom: 4px; }
|
| .avq-score-num{ font-family:'JetBrains Mono',monospace; font-size: 15px; font-weight:600; color: var(--accent); }
|
|
|
| .avq-cta-row{ display:flex; flex-direction:column; gap: 10px; margin-top: 28px; }
|
| .avq-cta-secondary{ text-align:center; font-size: 13.5px; color: var(--ink-soft); text-decoration: underline; text-underline-offset:3px; background:none; border:none; cursor:pointer; font-family:'Work Sans',sans-serif; }
|
|
|
| a.avq-btn{ display:inline-flex !important; align-items:center; justify-content:center; text-decoration:none !important; }
|
|
|
| .avq-footer-note{ margin-top: 22px; text-align:center; font-size: 12px; color: var(--ink-faint); }
|
| </style>
|
|
|
| <div id="avq-widget">
|
| <div class="avq-glow avq-glow-a"></div>
|
| <div class="avq-glow avq-glow-b"></div>
|
|
|
| <div class="avq-wrap">
|
| <div class="avq-card" id="avq-card" role="main" aria-live="polite"></div>
|
| </div>
|
| </div>
|
|
|
| <script>
|
| (function(){
|
|
|
|
|
|
|
|
|
| var CONFIG = {
|
|
|
| GOOGLE_FORM_ACTION: "https://docs.google.com/forms/d/e/1FAIpQLSfu_2BGWTk3c7h32W0ObS4UFE8BNlBjaxfNvHLczwiJ6cMC0Q/formResponse",
|
| FORM_ENTRIES: {
|
| nombre: "entry.108676055",
|
| email: "entry.1566102037",
|
| whatsapp: "entry.1981790889",
|
| diagnostico: "entry.571550289",
|
| puntuacion: "entry.329171687",
|
| datos_clave: "entry.381086769",
|
| respuestas_completas: "entry.798670293"
|
| },
|
| LINK_REGALO: "https://mamatrabajaonline.com/regalo/",
|
| LINK_INSTAGRAM: "https://instagram.com/mamatrabajaonline"
|
| };
|
|
|
|
|
|
|
|
|
| var QUESTIONS = [
|
| {
|
| key: "perfil",
|
| label: "Perfil",
|
| question: "¿Cuál de estas frases te describe mejor ahora mismo?",
|
| type: "choice",
|
| options: [
|
| { t: "Soy madre y no consigo conciliar mi trabajo actual con mi vida", v: 4 },
|
| { t: "Soy madre dedicada a la crianza o estoy en paro", v: 3 },
|
| { t: "Tengo un trabajo agotador, que no me gusta o donde me discriminan", v: 4 },
|
| { t: "Estoy embarazada o de baja por maternidad", v: 3 },
|
| { t: "Soy madre extranjera y no puedo homologar mis estudios aquí", v: 4 },
|
| { t: "No soy madre, pero busco exactamente lo mismo: libertad y conciliación", v: 2 }
|
| ]
|
| },
|
| {
|
| key: "tiempo_situacion",
|
| label: "Tiempo en la situación",
|
| question: "¿Cuánto tiempo llevas sintiendo que necesitas un cambio?",
|
| type: "choice",
|
| options: [
|
| { t: "Más de un año", v: 4 },
|
| { t: "Entre 2 meses y un año", v: 3 },
|
| { t: "1 mes o menos", v: 2 }
|
| ]
|
| },
|
| {
|
| key: "urgencia",
|
| label: "Urgencia (1-10)",
|
| question: "Del 1 al 10, ¿qué tan urgente es para ti trabajar online para ser dueña de tu tiempo y conciliar mejor?",
|
| type: "slider", min: 1, max: 10, default: 5
|
| },
|
| {
|
| key: "intentos_previos",
|
| label: "Intentos previos",
|
| question: "¿Has intentado antes trabajar desde casa o generar ingresos por tu cuenta?",
|
| type: "choice",
|
| options: [
|
| { t: "No, nunca lo he intentado", v: 2 },
|
| { t: "Sí, pero no funcionó", v: 3 },
|
| { t: "Sí, y me fue más o menos bien", v: 4 }
|
| ]
|
| },
|
| {
|
| key: "comodidad_tech",
|
| label: "Comodidad tecnológica",
|
| question: "¿Cómo te llevas con la tecnología (WhatsApp, Google, redes sociales)?",
|
| type: "choice",
|
| options: [
|
| { t: "Muy cómoda, esto no me asusta", v: 4 },
|
| { t: "Me defiendo, aunque podría mejorar", v: 3 },
|
| { t: "Se me da fatal y me da bastante miedo", v: 1 }
|
| ]
|
| },
|
| {
|
| key: "tareas_preferidas",
|
| label: "Tareas preferidas",
|
| question: "¿Cuál de estas tareas te gusta más hacer?",
|
| type: "rank",
|
| options: [
|
| { t: "Organizar, planificar y poner orden en el caos", v: 4,
|
| insight: "vas a disfrutar teniendo el control de calendarios, bandejas de entrada y listas de tareas, justo lo que más valoran los clientes de una AV" },
|
| { t: "Redes sociales: crear contenido, publicar, interactuar", v: 4,
|
| insight: "vas a disfrutar llevando redes sociales y creando contenido para tus clientes" },
|
| { t: "Escribir textos: emails, mensajes, descripciones", v: 4,
|
| insight: "vas a brillar escribiendo emails, mensajes y textos para tus clientes" },
|
| { t: "Atender y comunicarme con otras personas", v: 4,
|
| insight: "vas a destacar en atención al cliente y en coordinar con proveedores y equipos" },
|
| { t: "Ninguna de estas me llama la atención", v: 1, insight: "" }
|
| ]
|
| },
|
| {
|
| key: "habilidades",
|
| label: "Habilidades",
|
| question: "¿Con cuál de estas habilidades te sientes más identificada?",
|
| type: "rank",
|
| options: [
|
| { t: "Soy muy organizada y detallista", v: 4,
|
| insight: "Ser tan organizada y detallista te va a ayudar muchísimo en tareas como gestionar agendas, bandejas de entrada y procesos que no se pueden dejar caer." },
|
| { t: "Se me da bien comunicar y conectar con la gente", v: 4,
|
| insight: "Ser buena comunicadora te va a ayudar muchísimo en tareas como atender clientes, gestionar redes sociales y coordinar con proveedores." },
|
| { t: "Aprendo rápido herramientas y programas nuevos", v: 4,
|
| insight: "Aprender rápido herramientas nuevas te va a poner por delante en un oficio donde cada cliente usa sus propias apps, de Trello a Canva." },
|
| { t: "Soy resolutiva, encuentro soluciones rápido", v: 4,
|
| insight: "Ser resolutiva es justo lo que buscan los clientes en una Asistente Virtual: alguien que resuelve sin tener que preguntar cada dos minutos." },
|
| { t: "No me identifico con ninguna de estas", v: 1, insight: "" }
|
| ]
|
| },
|
| {
|
| key: "gestion_ajena",
|
| label: "Gestionar tareas de otros",
|
| question: "¿Cómo te sientes gestionando plazos, agendas o tareas de otra persona?",
|
| type: "choice",
|
| options: [
|
| { t: "Me encanta, se me da genial organizar el tiempo de otros", v: 4 },
|
| { t: "Lo hago en mi casa con mis hijos y mi marido", v: 3 },
|
| { t: "Soy un desastre y no lo hago bien ni para mí", v: 1 }
|
| ]
|
| },
|
| {
|
| key: "creencia",
|
| label: "Creencia limitante",
|
| question: "¿Cuál de estas frases resuena más contigo ahora mismo?",
|
| type: "rank",
|
| options: [
|
| { t: "Me da miedo mostrarme en redes", v: 2 },
|
| { t: "Es muy difícil conseguir clientes", v: 2 },
|
| { t: "O eres madre presente o eres buena profesional", v: 2 },
|
| { t: "Los trabajos online no son reales o serios", v: 1 },
|
| { t: "Prefiero ser empleada a emprendedora", v: 1 },
|
| { t: "Ser Asistente Virtual no me va a dar para vivir", v: 1 },
|
| { t: "Ninguna, ¡voy con todo!", v: 4 }
|
| ]
|
| },
|
| {
|
| key: "horas_disponibles",
|
| label: "Horas disponibles/semana",
|
| question: "Si encontraras la forma real de hacerlo, ¿cuántas horas a la semana podrías dedicarle?",
|
| type: "choice",
|
| options: [
|
| { t: "Menos de 5 horas", v: 1 },
|
| { t: "Entre 5 y 15 horas", v: 3 },
|
| { t: "Más de 15 horas", v: 4 },
|
| { t: "Tiempo completo si hace falta", v: 4 }
|
| ]
|
| },
|
| {
|
| key: "futuro_12m",
|
| label: "Qué pasaría en 12 meses",
|
| question: "¿Qué pasaría si en 12 meses siguieras exactamente igual que ahora?",
|
| type: "choice",
|
| options: [
|
| { t: "No pasaría nada, seguiría igual", v: 1 },
|
| { t: "Me arrepentiría, pero seguiría aguantando", v: 2 },
|
| { t: "Sería insostenible, tengo que cambiar sí o sí", v: 4 }
|
| ]
|
| },
|
| {
|
| key: "motivacion",
|
| label: "Motivación principal",
|
| question: "¿Qué es lo que más te empuja a querer este cambio?",
|
| type: "choice",
|
| options: [
|
| { t: "Pasar más tiempo con mis hijos o mi familia", v: 4 },
|
| { t: "Necesito generar ingresos ya", v: 4 },
|
| { t: "Quiero un trabajo que no dependa de horarios ni jefes", v: 3 },
|
| { t: "Solo tengo curiosidad, estoy explorando opciones", v: 2 }
|
| ]
|
| },
|
| {
|
| key: "como_conociste",
|
| label: "Cómo nos conociste",
|
| question: "¿Cómo llegaste hasta Mamá Trabaja Online?",
|
| type: "choice",
|
| unscored: true,
|
| options: [
|
| { t: "Instagram", v: 0 },
|
| { t: "TikTok", v: 0 },
|
| { t: "Anuncio (Facebook/Instagram Ads)", v: 0 },
|
| { t: "Recomendación de alguien", v: 0 },
|
| { t: "Ya seguía a Kira desde hace tiempo", v: 0 },
|
| { t: "Otro", v: 0 }
|
| ]
|
| }
|
| ];
|
|
|
| var MAX_SCORE = QUESTIONS.reduce(function(s,q){
|
| if(q.unscored) return s;
|
| if(q.type === "slider") return s + 4;
|
| return s + Math.max.apply(null, q.options.map(function(o){return o.v;}));
|
| }, 0);
|
|
|
|
|
|
|
|
|
| function getTier(pct){
|
| if(pct >= 82) return TIERS[3];
|
| if(pct >= 62) return TIERS[2];
|
| if(pct >= 38) return TIERS[1];
|
| return TIERS[0];
|
| }
|
|
|
| var TIERS = [
|
| {
|
| id: 0, badge: "Oruga en pausa", stage: 0,
|
| title: "Ahora mismo no es tu momento, y no pasa nada.",
|
| text: "Tu urgencia y tu disponibilidad todavía están bajas — y está perfectamente bien, no todo el mundo tiene que dar el salto ya. Lo que sí te digo es que la profesión de Asistente Virtual sigue aquí, madurando contigo. Sigue cerca, empápate del contenido gratuito, y cuando tu \"ya\" llegue, aquí seguimos.",
|
| cta: { label: "Sígueme en Instagram", href: null, kind: "instagram" }
|
| },
|
| {
|
| id: 1, badge: "Capullo formándose", stage: 1,
|
| title: "Tienes potencial, pero te falta empezar a moverte.",
|
| text: "Hay algo en ti que quiere cambiar — se nota en tus respuestas. También hay creencias frenándote, y eso es lo más normal del mundo cuando estás a punto de reinventarte. El siguiente paso no es dar un salto gigante: es abrir la puerta y ver qué hay al otro lado.",
|
| cta: { label: "Quiero mi video de regalo", href: "regalo", kind: "regalo" }
|
| },
|
| {
|
| id: 2, badge: "Mariposa en camino", stage: 1,
|
| title: "Tienes madera de Asistente Virtual, y ya lo sabes.",
|
| text: "Tu urgencia, tu disponibilidad y tus ganas están alineadas. Lo único que te falta es un mapa claro y el primer paso concreto. Tenemos un regalo pensado justo para este momento — dale un vistazo.",
|
| cta: { label: "Quiero mi video de regalo", href: "regalo", kind: "regalo" }
|
| },
|
| {
|
| id: 3, badge: "Mariposa lista para volar", stage: 2,
|
| title: "Estás lista para dar el salto ya.",
|
| text: "Pocas personas llegan con esta combinación de urgencia real, disponibilidad y decisión. No necesitas más señales: necesitas un plan y empezar hoy mismo. Aquí tienes tu primer paso.",
|
| cta: { label: "Quiero mi video de regalo", href: "regalo", kind: "regalo" }
|
| }
|
| ];
|
|
|
|
|
|
|
|
|
| var CONTACT_FIELDS = [
|
| { key: "nombre", label: "Nombre y apellidos", type: "text", required: true, placeholder: "Cómo te llamas" },
|
| { key: "email", label: "Email", type: "email", required: true, placeholder: "[email protected]" },
|
| { key: "whatsapp", label: "WhatsApp", type: "tel", required: true, placeholder: "+34 600 000 000" },
|
| { key: "edad", label: "Edad", type: "number", required: true, placeholder: "" }
|
| ];
|
|
|
|
|
|
|
|
|
| var state = {
|
| step: -1,
|
| answers: {},
|
| contact: {}
|
| };
|
| var TOTAL_STEPS = QUESTIONS.length;
|
|
|
| var card = document.getElementById('avq-card');
|
|
|
| function computeScore(){
|
| var total = 0;
|
| QUESTIONS.forEach(function(q){
|
| if(q.unscored) return;
|
| var a = state.answers[q.key];
|
| if(a === undefined) return;
|
| total += (typeof a === "number") ? a : 0;
|
| });
|
| return total;
|
| }
|
|
|
| function esc(s){
|
| var d = document.createElement('div'); d.textContent = s == null ? "" : s; return d.innerHTML;
|
| }
|
|
|
|
|
|
|
|
|
| function render(){
|
| if(state.step === -1) return renderIntro();
|
| if(state.step < TOTAL_STEPS) return renderQuestion(state.step);
|
| if(state.step === TOTAL_STEPS) return renderGate();
|
| return renderResult();
|
| }
|
|
|
| function renderIntro(){
|
| card.innerHTML =
|
| '<div class="avq-intro-badge">Test de 2 minutos</div>' +
|
| '<h1 class="avq-intro-title">¿Tienes madera para trabajar online?</h1>' +
|
| '<p class="avq-intro-sub">Preguntas rápidas para descubrir si la Asistencia Virtual puede ser tu profesión — y qué tan lista estás para reinventarte.</p>' +
|
| '<div class="avq-intro-meta">' +
|
| '<div><strong>~2 min</strong> de tu tiempo</div>' +
|
| '<div><strong>' + TOTAL_STEPS + '</strong> preguntas</div>' +
|
| '<div><strong>100%</strong> gratuito</div>' +
|
| '</div>' +
|
| '<button class="avq-btn avq-btn-primary avq-btn-block" id="avq-start">Empezar el test</button>';
|
| document.getElementById('avq-start').onclick = function(){ state.step = 0; render(); };
|
| }
|
|
|
| function renderProgress(current, total){
|
| var pct = Math.round(((current) / total) * 100);
|
| return '<div class="avq-progress-row">' +
|
| '<div class="avq-progress-track"><div class="avq-progress-fill" style="width:' + pct + '%"></div></div>' +
|
| '<div class="avq-progress-label">' + (current+1) + ' / ' + total + '</div>' +
|
| '</div>';
|
| }
|
|
|
| function renderQuestion(i){
|
| var q = QUESTIONS[i];
|
| var html = renderProgress(i, TOTAL_STEPS);
|
| html += '<h1 class="avq-q">' + esc(q.question) + '</h1>';
|
|
|
| var rankOrder = state.answers["_rankorder_"+q.key] || [];
|
| var rankReady = rankOrder.length === (q.options ? q.options.length : 0);
|
|
|
| if(q.type === "choice"){
|
| html += '<div class="avq-options">';
|
| q.options.forEach(function(o, idx){
|
| var selected = state.answers[q.key] === o.v && state.answers["_label_"+q.key] === o.t;
|
| html += '<button class="avq-opt' + (selected?' avq-selected':'') + '" data-idx="' + idx + '">' +
|
| '<span class="avq-dot"></span><span class="avq-opt-text">' + esc(o.t) + '</span></button>';
|
| });
|
| html += '</div>';
|
| } else if(q.type === "slider"){
|
| var current = (state.answers[q.key] !== undefined) ? state.answers["_raw_"+q.key] : q.default;
|
| html += '<div class="avq-slider-wrap">' +
|
| '<div class="avq-slider-value" id="avq-sliderVal">' + current + '</div>' +
|
| '<input type="range" id="avq-sliderInput" min="' + q.min + '" max="' + q.max + '" value="' + current + '" step="1">' +
|
| '<div class="avq-slider-scale"><span>' + q.min + ' · nada urgente</span><span>' + q.max + ' · muy urgente</span></div>' +
|
| '</div>';
|
| } else if(q.type === "rank"){
|
| html += '<p class="avq-hint">Tócalas en orden: primero tu favorita, luego la siguiente... Si te equivocas, toca una ya numerada para quitarla.</p>' +
|
| '<div class="avq-options">';
|
| q.options.forEach(function(o, idx){
|
| var pos = rankOrder.indexOf(idx);
|
| var ranked = pos !== -1;
|
| html += '<button class="avq-opt avq-rank-opt' + (ranked?' avq-selected':'') + '" data-idx="' + idx + '">' +
|
| '<span class="avq-rank-badge">' + (ranked ? (pos+1) : '') + '</span>' +
|
| '<span class="avq-opt-text">' + esc(o.t) + '</span></button>';
|
| });
|
| html += '</div>';
|
| }
|
|
|
| html += '<div class="avq-actions">' +
|
| (i > 0 ? '<button class="avq-btn avq-btn-ghost" id="avq-back">Atrás</button>' : '<span></span>') +
|
| ((q.type === "slider" || q.type === "rank") ?
|
| '<button class="avq-btn avq-btn-primary" id="avq-next"' + (q.type === "rank" && !rankReady ? ' disabled' : '') + '>Continuar</button>'
|
| : '<span></span>') +
|
| '</div>';
|
|
|
| card.innerHTML = html;
|
|
|
| if(q.type === "choice"){
|
| Array.prototype.forEach.call(card.querySelectorAll('.avq-opt'), function(btn){
|
| btn.onclick = function(){
|
| var idx = parseInt(btn.getAttribute('data-idx'), 10);
|
| var o = q.options[idx];
|
| state.answers[q.key] = o.v;
|
| state.answers["_label_"+q.key] = o.t;
|
| state.answers["_insight_"+q.key] = o.insight || "";
|
| state.step = i + 1;
|
| render();
|
| };
|
| });
|
| } else if(q.type === "slider"){
|
| var input = document.getElementById('avq-sliderInput');
|
| var out = document.getElementById('avq-sliderVal');
|
| input.oninput = function(){ out.textContent = input.value; };
|
| document.getElementById('avq-next').onclick = function(){
|
| var raw = parseInt(input.value, 10);
|
| state.answers[q.key] = Math.round((raw / q.max) * 4);
|
| state.answers["_raw_"+q.key] = raw;
|
| state.answers["_label_"+q.key] = String(raw);
|
| state.step = i + 1;
|
| render();
|
| };
|
| } else if(q.type === "rank"){
|
| Array.prototype.forEach.call(card.querySelectorAll('.avq-rank-opt'), function(btn){
|
| btn.onclick = function(){
|
| var idx = parseInt(btn.getAttribute('data-idx'), 10);
|
| var order = state.answers["_rankorder_"+q.key] || [];
|
| var pos = order.indexOf(idx);
|
| if(pos === -1){ order.push(idx); } else { order.splice(pos, 1); }
|
| state.answers["_rankorder_"+q.key] = order;
|
| renderQuestion(i);
|
| };
|
| });
|
| var nextBtn = document.getElementById('avq-next');
|
| if(nextBtn) nextBtn.onclick = function(){
|
| var order = state.answers["_rankorder_"+q.key] || [];
|
| if(order.length < q.options.length) return;
|
| var ranked = order.map(function(idx){ return q.options[idx]; });
|
| state.answers[q.key] = ranked[0].v;
|
| state.answers["_label_"+q.key] = ranked.map(function(o, n){ return (n+1) + ') ' + o.t; }).join('; ');
|
| state.answers["_insight_"+q.key] = ranked[0].insight || "";
|
| state.step = i + 1;
|
| render();
|
| };
|
| }
|
|
|
| var back = document.getElementById('avq-back');
|
| if(back) back.onclick = function(){ state.step = i - 1; render(); };
|
| }
|
|
|
| function renderGate(){
|
| var html = renderProgress(TOTAL_STEPS, TOTAL_STEPS + 1);
|
| html += '<h1 class="avq-gate-title">Ya casi está. ¿Dónde te envío tu diagnóstico?</h1>' +
|
| '<p class="avq-gate-sub">Déjanos tus datos y desbloquea al instante tu resultado personalizado.</p>' +
|
| '<form id="avq-gateForm">';
|
|
|
| CONTACT_FIELDS.forEach(function(f){
|
| html += '<div class="avq-field"><label for="avq-f_' + f.key + '">' + esc(f.label) + '</label>' +
|
| '<input type="' + f.type + '" id="avq-f_' + f.key + '" ' + (f.required ? 'required' : '') +
|
| ' placeholder="' + esc(f.placeholder) + '" value="' + esc(state.contact[f.key] || '') + '"></div>';
|
| });
|
|
|
| html += '<div class="avq-actions">' +
|
| '<button type="button" class="avq-btn avq-btn-ghost" id="avq-back">Atrás</button>' +
|
| '<button type="submit" class="avq-btn avq-btn-primary" id="avq-unlock">Ver mi diagnóstico</button>' +
|
| '</div></form>';
|
|
|
| card.innerHTML = html;
|
|
|
| document.getElementById('avq-back').onclick = function(){ state.step = TOTAL_STEPS - 1; render(); };
|
| document.getElementById('avq-gateForm').onsubmit = function(e){
|
| e.preventDefault();
|
| var ok = true;
|
| CONTACT_FIELDS.forEach(function(f){
|
| var val = document.getElementById('avq-f_' + f.key).value.trim();
|
| if(f.required && !val) ok = false;
|
| state.contact[f.key] = val;
|
| });
|
| if(state.contact.email && !/^\S+@\S+\.\S+$/.test(state.contact.email)) ok = false;
|
| if(!ok){
|
| document.getElementById('avq-unlock').textContent = "Revisa los campos";
|
| return;
|
| }
|
| state.step = TOTAL_STEPS + 1;
|
| computeResult();
|
| submitLead();
|
| render();
|
| };
|
| }
|
|
|
| function stageIcon(kind, active){
|
| var c = active ? 'var(--accent)' : 'var(--ink-faint)';
|
| if(kind === 0){
|
| return '<svg viewBox="0 0 32 32" fill="none"><circle cx="7" cy="20" r="4" stroke="'+c+'" stroke-width="2"/><circle cx="16" cy="20" r="4" stroke="'+c+'" stroke-width="2"/><circle cx="25" cy="17" r="4" stroke="'+c+'" stroke-width="2"/><path d="M25 13c0-2 2-3 3-2" stroke="'+c+'" stroke-width="2" stroke-linecap="round"/></svg>';
|
| }
|
| if(kind === 1){
|
| return '<svg viewBox="0 0 32 32" fill="none"><path d="M16 5c5 0 8 6 8 13s-3 9-8 9-8-4-8-9 3-13 8-13Z" stroke="'+c+'" stroke-width="2"/><path d="M11 12h10M10 18h12M11 24h10" stroke="'+c+'" stroke-width="1.4" stroke-linecap="round"/></svg>';
|
| }
|
| return '<svg viewBox="0 0 32 32" fill="none"><path d="M16 10c0-4-6-7-10-5-2 3 1 9 10 9Z" stroke="'+c+'" stroke-width="2" stroke-linejoin="round"/><path d="M16 10c0-4 6-7 10-5 2 3-1 9-10 9Z" stroke="'+c+'" stroke-width="2" stroke-linejoin="round"/><path d="M16 10c0 4-5 8-9 8-2-1-2-4 1-5" stroke="'+c+'" stroke-width="2" stroke-linejoin="round"/><path d="M16 10c0 4 5 8 9 8 2-1 2-4-1-5" stroke="'+c+'" stroke-width="2" stroke-linejoin="round"/><line x1="16" y1="9" x2="16" y2="24" stroke="'+c+'" stroke-width="2" stroke-linecap="round"/></svg>';
|
| }
|
|
|
| function ctaHref(kind){
|
| if(kind === "regalo") return CONFIG.LINK_REGALO;
|
| if(kind === "instagram") return CONFIG.LINK_INSTAGRAM;
|
| return "#";
|
| }
|
|
|
| function computeResult(){
|
| var score = computeScore();
|
| var pct = Math.round((score / MAX_SCORE) * 100);
|
| var tier = getTier(pct);
|
| state.result = { score: score, pct: pct, tierId: tier.id, tierBadge: tier.badge, tierTitle: tier.title };
|
| return state.result;
|
| }
|
|
|
| function buildConclusion(){
|
| var habilidadInsight = state.answers["_insight_habilidades"];
|
| var tareaInsight = state.answers["_insight_tareas_preferidas"];
|
| var mainText = habilidadInsight ||
|
| "Todavía no tienes claro cuál es tu punto fuerte, y no pasa nada — eso se descubre formándote, no respondiendo un test.";
|
| var extra = tareaInsight ? (' Además, ' + tareaInsight + '.') : '';
|
| return (mainText + extra).trim();
|
| }
|
|
|
| function renderResult(){
|
| var tier = TIERS[state.result.tierId];
|
| var pct = state.result.pct;
|
| var justificacion = buildConclusion();
|
|
|
| var stageLabels = ["Oruga", "Capullo", "Mariposa"];
|
| var stagesHtml = '';
|
| for(var s=0; s<3; s++){
|
| var active = s <= tier.stage;
|
| stagesHtml += '<div class="avq-stage' + (active?' avq-active':'') + '">' + stageIcon(s, active) + '<span>' + stageLabels[s] + '</span></div>';
|
| }
|
|
|
| var html =
|
| '<div class="avq-result-badge">' + esc(tier.badge) + '</div>' +
|
| '<h1 class="avq-result-title">' + esc(tier.title) + '</h1>' +
|
| '<p class="avq-result-text">' + esc(tier.text) + '</p>' +
|
| (justificacion ? '<p class="avq-result-text avq-result-justificacion">' + esc(justificacion) + '</p>' : '') +
|
| '<div class="avq-meter">' +
|
| '<div class="avq-score-line"><span class="avq-score-num">' + pct + '%</span><span style="font-size:12.5px;color:var(--ink-faint)">de compatibilidad con la Asistencia Virtual</span></div>' +
|
| '<div class="avq-meter-track"><div class="avq-meter-fill" id="avq-meterFill" style="width:0%"></div></div>' +
|
| '<div class="avq-meter-stages">' + stagesHtml + '</div>' +
|
| '</div>' +
|
| '<div class="avq-cta-row">' +
|
| '<a class="avq-btn avq-btn-primary avq-btn-block" href="' + esc(ctaHref(tier.cta.kind)) + '" target="_blank" rel="noopener">' + esc(tier.cta.label) + '</a>' +
|
| '</div>' +
|
| '<p class="avq-footer-note">Hecho con cariño por Mamá Trabaja Online — reinvención profesional para conciliar de verdad.</p>';
|
|
|
| card.innerHTML = html;
|
| requestAnimationFrame(function(){
|
| requestAnimationFrame(function(){
|
| document.getElementById('avq-meterFill').style.width = pct + '%';
|
| });
|
| });
|
| }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| function label(key){ return state.answers["_label_" + key] || ""; }
|
|
|
| function buildDatosClave(){
|
| return [
|
| "Perfil: " + label("perfil"),
|
| "Urgencia (1-10): " + (state.answers["_raw_urgencia"] || ""),
|
| "Motivación: " + label("motivacion"),
|
| "Edad: " + (state.contact.edad || "No indicó")
|
| ].join(" | ");
|
| }
|
|
|
| function buildRespuestasCompletas(){
|
| return [
|
| "Fecha: " + new Date().toLocaleString("es-ES"),
|
| "Cómo nos conoció: " + label("como_conociste"),
|
| "Tiempo en la situación: " + label("tiempo_situacion"),
|
| "Intentos previos: " + label("intentos_previos"),
|
| "Comodidad tecnológica: " + label("comodidad_tech"),
|
| "Tareas preferidas: " + label("tareas_preferidas"),
|
| "Habilidades: " + label("habilidades"),
|
| "Gestión de tareas ajenas: " + label("gestion_ajena"),
|
| "Creencia limitante: " + label("creencia"),
|
| "Horas disponibles/semana: " + label("horas_disponibles"),
|
| "Qué pasaría en 12 meses: " + label("futuro_12m")
|
| ].join("\n");
|
| }
|
|
|
| function submitLead(){
|
| var e = CONFIG.FORM_ENTRIES;
|
| if(!CONFIG.GOOGLE_FORM_ACTION || !e || !e.nombre){
|
| console.warn("Configura CONFIG.GOOGLE_FORM_ACTION y FORM_ENTRIES para guardar leads.");
|
| return;
|
| }
|
| var formData = new URLSearchParams();
|
| formData.append(e.nombre, state.contact.nombre || "");
|
| formData.append(e.email, state.contact.email || "");
|
| formData.append(e.whatsapp, state.contact.whatsapp || "");
|
| formData.append(e.diagnostico, state.result.tierBadge + " — " + state.result.tierTitle);
|
| formData.append(e.puntuacion, state.result.pct + "%");
|
| formData.append(e.datos_clave, buildDatosClave());
|
| formData.append(e.respuestas_completas, buildRespuestasCompletas());
|
|
|
| try{
|
| fetch(CONFIG.GOOGLE_FORM_ACTION, {
|
| method: "POST",
|
| mode: "no-cors",
|
| body: formData
|
| });
|
| }catch(err){
|
| console.error("No se pudo enviar el lead al Google Form:", err);
|
| }
|
| }
|
|
|
| render();
|
| })();
|
| </script>
|
|
|
| |
| |
Comments