import { isRouteErrorResponse, Link, Links, Meta, Outlet, Scripts, ScrollRestoration, } from "react-router"; import type { Route } from "./+types/root"; import "@fontsource-variable/roboto"; import "./root.css"; //#region Maplibre setup import "maplibre-theme/icons.default.css"; import "maplibre-theme/modern.css"; import { Protocol } from "pmtiles"; import maplibregl, { type LngLatLike } from "maplibre-gl"; import { AppProvider } from "./AppContext"; const pmtiles = new Protocol(); maplibregl.addProtocol("pmtiles", pmtiles.tile); //#endregion import "./i18n"; export const links: Route.LinksFunction = () => []; export function HydrateFallback() { return "Cargando..."; } export function Layout({ children }: { children: React.ReactNode }) { return ( Busurbano {children} ); } import NavBar from "./components/NavBar"; export default function App() { if ('serviceWorker' in navigator) { navigator.serviceWorker .register('/pwa-worker.js') .catch((error) => { console.error('Error registering SW:', error); }); } return (
); } export function ErrorBoundary({ error }: Route.ErrorBoundaryProps) { let message = "Oops!"; let details = "An unexpected error occurred."; let stack: string | undefined; if (isRouteErrorResponse(error)) { message = error.status === 404 ? "404" : "Error"; details = error.status === 404 ? "The requested page could not be found." : error.statusText || details; } else if (import.meta.env.DEV && error && error instanceof Error) { details = error.message; stack = error.stack; } return (

{message}

{details}

{stack && (
          {stack}
        
)}
); }