import { isRouteErrorResponse, Links, Meta, Scripts, ScrollRestoration, } from "react-router"; import "@fontsource-variable/roboto"; import type { Route } from "./+types/root"; import "./root.css"; //#region Maplibre setup import maplibregl from "maplibre-gl"; import "maplibre-theme/icons.default.css"; import "maplibre-theme/modern.css"; import { Protocol } from "pmtiles"; import { AppProvider } from "./AppContext"; const pmtiles = new Protocol(); maplibregl.addProtocol("pmtiles", pmtiles.tile); //#endregion import "./i18n"; export const links: Route.LinksFunction = () => []; export function Layout({ children }: { children: React.ReactNode }) { return ( Busurbano {children} ); } import { AppShell } from "./components/layout/AppShell"; 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}
        
)}
); }