/* global React, ReactDOM, Nav, Footer, ScheduleModal, HomePage, ServiciosPage, ServicioDetail, RedPage, PlanesPage, ContactoPage, LegalPage, NotFound */ const { useState, useEffect } = React; function useHashRoute() { const get = () => { const h = window.location.hash || "#/"; return h.replace(/^#/, "") || "/"; }; const [route, setRoute] = useState(get()); useEffect(() => { const onHash = () => { setRoute(get()); window.scrollTo({ top: 0, behavior: "instant" }); }; window.addEventListener("hashchange", onHash); return () => window.removeEventListener("hashchange", onHash); }, []); const navigate = (path) => { window.location.hash = "#" + path; }; return [route, navigate]; } function App() { const [route, navigate] = useHashRoute(); const [scheduleOpen, setScheduleOpen] = useState(false); const openSchedule = () => setScheduleOpen(true); let page; if (route === "/" || route === "") page = ; else if (route === "/servicios") page = ; else if (route.startsWith("/servicios/")) { const slug = route.replace("/servicios/", ""); page = ; } else if (route === "/red") page = ; else if (route === "/planes") page = ; else if (route === "/contacto") page = ; else if (route === "/aviso-legal") page = ; else if (route === "/privacidad") page = ; else if (route === "/cookies") page = ; else page = ; return (