import type { ReactNode } from 'react' import { isRouteErrorResponse, Links, Meta, Outlet, Scripts, ScrollRestoration, } from 'react-router' import type { Route } from './+types/root' import './app.css' import { APP, META_TITLE_CONFIG } from './data/meta' export const links: Route.LinksFunction = () => [ { rel: 'preconnect', href: 'https://fonts.googleapis.com' }, { rel: 'preconnect', href: 'https://fonts.gstatic.com', crossOrigin: 'anonymous', }, ] export const meta = ({ location }: Route.MetaArgs) => { const { pathname } = location const pageTitle = META_TITLE_CONFIG.find( (meta) => meta.path === pathname, )?.title const metaTitle = APP.title const title = `${pageTitle ? `${pageTitle} - ` : ''}${metaTitle}` return [ { title, }, ] } export function Layout({ children }: { children: ReactNode }) { return ( {children} ) } export default function App() { 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}
        
)}
) }