53 lines
1.5 KiB
TypeScript
53 lines
1.5 KiB
TypeScript
// @refresh reload
|
|
import { HopeProvider } from '@hope-ui/solid';
|
|
import { Suspense } from 'solid-js';
|
|
import {
|
|
Body,
|
|
ErrorBoundary,
|
|
FileRoutes,
|
|
Head,
|
|
Html,
|
|
Meta,
|
|
Routes,
|
|
Scripts,
|
|
Title,
|
|
} from 'solid-start';
|
|
import './styles/weather-icons.min.css';
|
|
import './styles/reset.css';
|
|
import './root.css';
|
|
import { SettingsProvider } from './state/SettingsProvider';
|
|
|
|
export default function Root() {
|
|
return (
|
|
<Html lang="en">
|
|
<Head>
|
|
<Title>gar.dev</Title>
|
|
<Meta charset="utf-8" />
|
|
<Meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous" />
|
|
<link
|
|
href="https://fonts.googleapis.com/css2?family=Bad+Script&family=Fragment+Mono:ital@0;1&family=Nova+Mono&family=Raleway:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&family=Share+Tech+Mono&display=swap"
|
|
rel="stylesheet"
|
|
/>
|
|
</Head>
|
|
<Body>
|
|
<HopeProvider config={{ initialColorMode: 'dark' }}>
|
|
<SettingsProvider>
|
|
<div class="scroll-wrapper">
|
|
<Suspense>
|
|
<ErrorBoundary>
|
|
<Routes>
|
|
<FileRoutes />
|
|
</Routes>
|
|
</ErrorBoundary>
|
|
</Suspense>
|
|
</div>
|
|
</SettingsProvider>
|
|
<Scripts />
|
|
</HopeProvider>
|
|
</Body>
|
|
</Html>
|
|
);
|
|
}
|