opencode/packages/stats/app/src/app.tsx

40 lines
1 KiB
TypeScript

import { MetaProvider, Meta, Title } from "@solidjs/meta"
import { Router } from "@solidjs/router"
import { FileRoutes } from "@solidjs/start/router"
import { Suspense } from "solid-js"
import { I18nProvider, useI18n } from "./context/i18n"
import { LanguageProvider } from "./context/language"
import { strip } from "./lib/language"
import "./app.css"
function AppMeta() {
const i18n = useI18n()
return (
<>
<Title>{i18n.t("app.title")}</Title>
<Meta name="description" content={i18n.t("app.description")} />
</>
)
}
export default function App() {
return (
<Router
base={import.meta.env.BASE_URL.replace(/\/$/, "")}
explicitLinks={true}
transformUrl={strip}
root={(props) => (
<LanguageProvider>
<I18nProvider>
<MetaProvider>
<AppMeta />
<Suspense>{props.children}</Suspense>
</MetaProvider>
</I18nProvider>
</LanguageProvider>
)}
>
<FileRoutes />
</Router>
)
}