/* Embedded static pages (Home navy, Médicos, Programa Lealtad) * Renders the original hand-built HTML with its CSS scoped under a wrapper * class so it can't collide with styles.css. Internal links carry data-nav * and are routed through the SPA navigate(). */ function EmbeddedPage({ data, scope, navigate, onMount }) { const ref = React.useRef(null); React.useEffect(() => { const el = ref.current; if (!el) return; const onClick = (e) => { const a = e.target.closest("[data-nav]"); if (a && el.contains(a)) { e.preventDefault(); navigate(a.getAttribute("data-nav")); window.scrollTo({ top: 0, behavior: "instant" }); } }; el.addEventListener("click", onClick); const cleanup = onMount ? onMount(el) : null; return () => { el.removeEventListener("click", onClick); if (cleanup) cleanup(); }; }, [data, navigate, onMount]); if (!data) return null; return (
); } /* Home "audiencias" tabs behavior */ function initHomeTabs(el) { const tabs = el.querySelector("#tabs"); if (!tabs) return null; const handler = (e) => { const btn = e.target.closest(".tab"); if (!btn) return; const key = btn.getAttribute("data-tab"); el.querySelectorAll("#tabs .tab").forEach(t => t.classList.toggle("active", t === btn)); el.querySelectorAll(".panel").forEach(p => p.classList.toggle("active", p.id === "panel-" + key)); }; tabs.addEventListener("click", handler); return () => tabs.removeEventListener("click", handler); } function HomeNavy({ navigate }) { return ; } function MedicosNavy({ navigate }) { return ; } function LealtadPage({ navigate }) { return ; } Object.assign(window, { EmbeddedPage, HomeNavy, MedicosNavy, LealtadPage });