/* global React */
const { useState, useEffect, useRef } = React;
// ============ HEADLINE OPTIONS ============
const HEADLINES = [
{ hl: "Una comunidad para quienes nunca paran.", sub: "Tú mueves la ciudad. Ahora la ciudad te ve." },
{ hl: "El oficio que mueve a México, ahora tiene su comunidad.", sub: "Conviértete a Gas Natural Vehicular y entra al primer piloto Zagaz." },
{ hl: "Lo que mueves, te mueve.", sub: "Una comunidad construida por y para los transportistas." },
{ hl: "Bienvenido a la comunidad Zagaz.", sub: "200 lugares. Una sola misión: dignificar el oficio del transporte." },
];
const CTA_OPTIONS = [
"Agendar mi revisión gratis",
"Quiero entrar a la comunidad",
"Reservar mi lugar",
"Empezar mi conversión",
];
// ============ HEADER ============
function Header({ tweaks, onCTA }) {
return (
);
}
// ============ DECORATIVE NEON LINES ============
function NeonDeco({ variant }) {
// Inspired by the FB campaign curved arches
if (variant === "hero") {
return (
);
}
if (variant === "section") {
return (
);
}
if (variant === "section-alt") {
return (
);
}
if (variant === "form") {
return (
);
}
return null;
}
// ============ HERO ============
function Hero({ tweaks }) {
const h = HEADLINES[tweaks.headlineIndex];
return (
Piloto · 200 lugares
{h.sub} Conviértete a Gas Natural Vehicular y entra a la primera comunidad construida para los que mueven el país.
);
}
function HeroHeadline({ text }) {
// Split on first period: first part normal, second part neon-accent gradient.
const idx = text.indexOf('.');
if (idx < 0) return <>{text}>;
const a = text.slice(0, idx + 1);
const b = text.slice(idx + 1).trim();
return (
<>
{a}
{b && <> {b}>}
>
);
}
function VideoShell() {
return (
Animación · Zagaz Comunidad
¿Qué es el Gas Natural Vehicular?
[ video explicativo · pendiente de cargar ]
Conoce cómo funciona el GNV en tu unidad02:14
);
}
// ============ BENEFITS ============
const TIERS = [
{
name: "Día 1",
sub: "Al activar tu unidad",
items: [
{ t: "Conversión a GNV", d: "Se paga sola con lo que ya gastas hoy en gasolina. Tu bolsillo no siente la diferencia — pero tu unidad ya es otra." },
{ t: "Garantía de motor", d: "Tu motor convertido queda protegido igual que si lo hiciera el fabricante. Maneja tranquilo." },
{ t: "Historial desde tu primera carga", d: "Cada litro de GNV suma. Tu historial crece con cada carga y con él, tus beneficios." },
{ t: "Comunidad ZAGAZ", d: "Acceso al grupo privado de conductores del piloto en Puerto Vallarta. No estás solo." },
{ t: "Soporte continuo", d: "Alguien responde cuando algo falla. Sin costo adicional, sin quedarte varado sin saber qué hacer." },
{ t: "Capacitación GNV", d: "Todo lo que necesitas saber para que tu equipo dure más y rinda mejor. Desde el primer día." },
],
},
{
name: "Mes 3",
sub: "Tras tu primer trimestre activo",
items: [
{ t: "Créditos de liquidez", d: "Dinero disponible cuando lo necesitas, respaldado por tu historial en la comunidad." },
{ t: "Créditos para tu unidad", d: "Repotencia tu vehículo sin descapitalizarte. Tu antigüedad en ZAGAZ abre la puerta." },
{ t: "Créditos en combustible", d: "Carga gas y págalo después. Sin interrumpir tu día ni tu ingreso." },
{ t: "Whitelist ZAGAZ", d: "Tu nombre en la lista de candidatos a una unidad 0 km. Solo para quienes mantienen su historial limpio." },
{ t: "Talleres aliados", d: "Acceso preferencial a talleres certificados en Puerto Vallarta. Mantenimiento de confianza, sin buscar." },
{ t: "Eventos de comunidad", d: "Desayunos, mesas de trabajo y encuentros exclusivos. Solo para los que están adentro." },
],
},
{
name: "Año 1",
sub: "Miembros consolidados",
items: [
{ t: "Ahorro completo", d: "El equipo ya está pagado. Desde aquí, la diferencia entre gasolina y GNV es tuya." },
{ t: "Crédito para tu unidad 0 km", d: "Tu historial en ZAGAZ habla por ti donde el banco no te escucha." },
{ t: "Caja de ahorro", d: "Tu dinero crece con rendimientos preferenciales. Sin bancos, sin trámites." },
{ t: "App ZAGAZ", d: "Todo tu historial, tus beneficios y tu comunidad en un solo lugar. Desde tu celular." },
{ t: "Seguro de vida", d: "Por primera vez, tu familia tiene respaldo si algo te pasa. Lo que el sistema nunca te dio." },
{ t: "Telemedicina", d: "Consultas médicas para ti y tu familia, cuando las necesites. Sin filas, sin costo adicional." },
],
},
];
function Benefits() {
const [tier, setTier] = useState(0);
return (
40+ Beneficios
Beneficios que se desbloquean conforme creces con la comunidad.
No es una promesa vacía. Es un sistema progresivo: tus kilómetros, tu consumo y tu antigüedad abren puertas reales, desde la garantía de tu motor hasta el crédito para tu próxima unidad nueva, cada etapa del sistema trabaja para ti.
Y más de 40 beneficios se van activando con tu antigüedad. Sin letra pequeña.
);
}
// ============ STEPS ============
const STEPS = [
{ n: "01", t: "Agenda tu cita", d: "Llena el formulario. Te llamamos en 24 horas para confirmar fecha y lugar.", micro: "5 min" },
{ n: "02", t: "Revisión gratuita", d: "Diagnosticamos tu unidad sin costo y te decimos si es viable convertirla a GNV.", micro: "Sin costo" },
{ n: "03", t: "Instalación", d: "Conversión profesional con equipo certificado y garantía completa.", micro: "1–2 días" },
{ n: "04", t: "Activa tus beneficios", d: "Recibes tu credencial de la comunidad y desbloqueas los beneficios del Día 1.", micro: "El mismo día" },
];
function Steps() {
return (
Cómo funciona
Cuatro pasos para entrar a la comunidad.
El proceso es simple, gratuito hasta la revisión, y diseñado para no parar tu jornada de trabajo.
{STEPS.map((s, i) => (
{s.n}
{s.t}
{s.d}
{s.micro}
))}
);
}
// ============ TESTIMONIALS ============
const TESTIMONIALS = [
{
q: "Por primera vez siento que alguien construye algo pensando en nosotros, ya era hora.",
n: "Salvador R.",
r: "Taxi · Uruapan, Michoacán",
img: "testimonial-1.png",
},
{
q: "Convertí la combi y bajé el gasto de combustible casi a la mitad. Y eso es solo el primer beneficio.",
n: "Hugo T.",
r: "Combi · Escobedo, Nuevo León",
img: "testimonial-2.png",
},
{
q: "Mi familia ya usó la telemedicina dos veces. Eso solo, ya valió la pena entrar al piloto.",
n: "Joel V.",
r: "Bus · Ixtapaluca, Estado de México",
img: "testimonial-3.png",
},
];
function Testimonials() {
return (
Voces de la comunidad
Transportistas como tú, ya están dentro.
{TESTIMONIALS.map((t, i) => (
"
{t.q}
{t.n}{t.r}
))}
);
}
// ============ FORM ============
const ZAGAZ_WEBHOOK_URL = "https://pruebas-automatizacion-n8n.2ji6er.easypanel.host/webhook/zagaz-lead";
function CitaForm({ tweaks }) {
const [data, setData] = useState({
nombre: "", telefono: "", email: "",
tipo: "", marca: "", anio: "", ruta: "",
});
const [errors, setErrors] = useState({});
const [sent, setSent] = useState(false);
const [submitting, setSubmitting] = useState(false);
const [origen] = useState(() => {
try {
const v = new URLSearchParams(window.location.search).get('origen');
return (v && v.trim()) ? v.trim().toLowerCase() : 'directo';
} catch (e) {
return 'directo';
}
});
const set = (k) => (e) => setData({ ...data, [k]: e.target.value });
const submit = async (e) => {
e.preventDefault();
const errs = {};
if (!data.nombre.trim()) errs.nombre = "Tu nombre completo";
if (!/^[\d\s+\-()]{8,}$/.test(data.telefono)) errs.telefono = "Teléfono válido (mín. 8 dígitos)";
if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(data.email)) errs.email = "Email válido";
if (!data.tipo) errs.tipo = "Selecciona un tipo";
if (!data.marca.trim()) errs.marca = "Marca y modelo";
if (!/^\d{4}$/.test(data.anio) || +data.anio < 1990 || +data.anio > 2026) errs.anio = "Año (1990–2026)";
setErrors(errs);
if (Object.keys(errs).length > 0) return;
setSubmitting(true);
try {
const res = await fetch(ZAGAZ_WEBHOOK_URL, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ ...data, source: "landing", origen }),
});
if (!res.ok) throw new Error(`HTTP ${res.status}`);
setSent(true);
} catch (err) {
setErrors({ _global: "No pudimos enviar tu solicitud. Verifica tu conexión e inténtalo de nuevo." });
} finally {
setSubmitting(false);
}
};
return (
Agenda tu revisión
Reserva tu lugar en el piloto.
200 lugares en tu ciudad. La revisión es gratis y sin compromiso. Te llamamos en 24h para coordinar.
Revisión · Gratis
Lo que incluye tu cita.
Un diagnóstico profesional de tu unidad, sin costo y sin compromiso de conversión.
Compresión de motor por cilindro
Sistema de encendido — bujías, bobinas y cables
Sensores de inyección y oxígeno en tiempo real
Análisis de gases de escape
Sistema de refrigeración completo
{sent ? (
Estás dentro del piloto.
Recibimos tu solicitud, {data.nombre.split(' ')[0]}. Te llamaremos al {data.telefono} en las próximas 24 horas para confirmar tu cita de revisión.