mirror of
https://github.com/anomalyco/opencode.git
synced 2026-07-24 23:53:34 +00:00
40 lines
1 KiB
TypeScript
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>
|
|
)
|
|
}
|