import { Links, Meta, Outlet, Scripts, ScrollRestoration, isRouteErrorResponse } from "react-router"; import type { LinksFunction } from "react-router"; import type { Route } from "./+types/root"; import * as Sentry from "@sentry/react"; import { useTranslation } from "react-i18next"; import stylesheet from "./styles.css?url"; export const links: LinksFunction = () => [{ rel: "stylesheet", href: stylesheet }]; export function Layout({ children }: { children: React.ReactNode }) { const { i18n } = useTranslation(); return ( {children} ); } export default function App() { return ; } export function ErrorBoundary({ error }: Route.ErrorBoundaryProps) { if (!(isRouteErrorResponse(error) && error.status < 500)) { Sentry.captureException(error); } const { t } = useTranslation(); if (isRouteErrorResponse(error)) { return (

{error.status}

{error.status === 404 && t("pageNotFound")} {error.status === 503 && t("serviceUnavailable")} {error.status !== 404 && error.status !== 503 && (error.statusText || t("error"))}

); } return (

{t("error")}

{error instanceof Error ? error.message : t("error")}

); }