/* Sucursales — cobertura Tijuana */ const WA = "https://wa.me/526646985015"; const SUC_EMAIL = "atencionaclientes@infectolab.mx"; /* Las sucursales vienen de la API (src/api.js). Lo único que se guarda aquí es * presentación que la API no tiene: la etiqueta de zona y los distintivos. * Antes había un arreglo SUCURSALES con 6 sucursales escritas a mano. */ const ZONA = { "Matriz": "Col. Empleados Federales", "Express Plaza": "Zona Río Tijuana", "NewCity Medical Plaza": "Zona Río Tijuana", "Centro Médico Florence": "Col. Madero (Cacho)", "City Point": "Río Tijuana 3a. Etapa", "Hospital INT": "Zona Urbana Río Tijuana", }; /* El distintivo de vacunación no está en los datos; el de 24 horas sí se puede * deducir del horario, así que ése no se escribe a mano. */ const DISTINTIVO_VACUNA = { type: "vacuna", label: "Centro de Vacunación", icon: "drop" }; const DISTINTIVO_24H = { type: "h24", label: "Servicio 24 / 7", icon: "clock" }; const CON_VACUNACION = ["NewCity Medical Plaza"]; function decorarSucursal(s) { const abre24 = (s.horario || []).some((h) => /24\s*\/?\s*7|24\s*horas/i.test(h)); return Object.assign({}, s, { zona: ZONA[s.nombre] || null, badge: CON_VACUNACION.indexOf(s.nombre) !== -1 ? DISTINTIVO_VACUNA : abre24 ? DISTINTIVO_24H : null, }); } function SucBranchCard({ s }) { return (

{s.nombre}

{s.zona && {s.zona}}
{s.tieneMapa && (
)}
{s.badge && ( {s.badge.label} )}
Ver en Google Maps WhatsApp directo
); } function SucProximaCard({ nombre, zona, progreso }) { return (
Próximamente 2026

{nombre}

{zona}

Progreso de construcción
{progreso}%
); } function SucursalesPage({ navigate, onOpenLead }) { const [sucursales, setSucursales] = React.useState([]); const [cargando, setCargando] = React.useState(true); React.useEffect(() => { let vivo = true; window.InfectoAPI.getSucursales() .then((lista) => { if (!vivo) return; // las que no tienen dirección real son registros a medio capturar setSucursales(lista.filter((s) => s.publicable).map(decorarSucursal)); }) .catch(() => { /* si falla, la página se muestra sin el listado */ }) .finally(() => { if (vivo) setCargando(false); }); return () => { vivo = false; }; }, []); const total = sucursales.length; const con24h = sucursales.filter((s) => s.badge && s.badge.type === "h24").length; return (
{/* ── HERO ── */}
Tijuana, B.C.{total ? ` · ${total} sucursales activas` : ""}

Donde estés en Tijuana,
InfectoLab está cerca.

{total ? `${total} sucursales estratégicas` : "Sucursales estratégicas"} {con24h ? ", una disponible las 24 horas" : ""}. Encuentra la más cercana y agenda tu prueba hoy mismo.

WhatsApp · Agendar cita
{/* ── METRO LINE ── */}
Zonas con cobertura InfectoLab
{sucursales.map((s, i) => (
{s.zona || s.nombre}
{s.nombre}
{s.badge && ( {s.badge.label} )}
))}
{/* ── MÉTRICAS ── */}
{[ [total ? String(total) : "—", "Sucursales activas"], [String(con24h), "Disponible 24/7"], ["2", "Abriendo en 2026"], ["15+", "Años cuidando Tijuana"], ].map(([n, l]) => (
{n} {l}
))}
{/* ── SUCURSALES ACTIVAS ── */}
Nuestra red

Nuestras sucursales

Toca cualquier sucursal para ver su ubicación exacta, horarios y contacto directo.

{cargando ?

Cargando sucursales…

: sucursales.map(s => )}
{/* ── DOMICILIO ── */}

¿No puedes venir? Vamos nosotros.

Nuestro equipo especializado realiza toma de muestras a domicilio en toda Tijuana. Agenda por WhatsApp con anticipación y nosotros llegamos a ti.

Solicitar toma a domicilio
{/* ── PRÓXIMAMENTE ── */}
En construcción · 2026

InfectoLab sigue creciendo

Dos nuevas sucursales llegan a Tijuana este año para acercar el diagnóstico a más colonias.

{/* ── CTA FINAL ── */}
¿Aún tienes dudas?

¿No sabes cuál sucursal visitar?

Escríbenos y te ayudamos a encontrar la más cercana o a agendar la prueba correcta según tus síntomas.

Escribir por WhatsApp

Tiempo de respuesta: menos de 10 minutos en horario de atención.

); } Object.assign(window, { SucursalesPage });