cloudaxe-opencode/packages/console/app/src/app.tsx

45 lines
1.1 KiB
TypeScript
Raw Permalink Normal View History

2025-09-10 03:43:37 +00:00
import { MetaProvider, Title, Meta } from "@solidjs/meta"
import { Router } from "@solidjs/router"
import { FileRoutes } from "@solidjs/start/router"
import { Suspense } from "solid-js"
import { Favicon } from "@opencode-ai/ui/favicon"
2025-12-11 12:51:39 +00:00
import { Font } from "@opencode-ai/ui/font"
2025-09-10 03:43:37 +00:00
import "@ibm/plex/css/ibm-plex.css"
import "./app.css"
2026-02-06 14:54:51 +00:00
import { LanguageProvider } from "~/context/language"
2026-02-27 21:50:50 +00:00
import { I18nProvider, useI18n } from "~/context/i18n"
import { strip } from "~/lib/language"
2025-08-15 23:29:24 +00:00
2026-02-27 21:50:50 +00:00
function AppMeta() {
const i18n = useI18n()
return (
<>
<Title>opencode</Title>
<Meta name="description" content={i18n.t("app.meta.description")} />
<Favicon />
<Font />
</>
)
}
2025-08-15 23:29:24 +00:00
export default function App() {
return (
<Router
2025-09-03 18:57:02 +00:00
explicitLinks={true}
transformUrl={strip}
2025-09-10 03:43:37 +00:00
root={(props) => (
2026-02-06 14:54:51 +00:00
<LanguageProvider>
<I18nProvider>
<MetaProvider>
2026-02-27 21:50:50 +00:00
<AppMeta />
2026-02-06 14:54:51 +00:00
<Suspense>{props.children}</Suspense>
</MetaProvider>
</I18nProvider>
</LanguageProvider>
2025-08-15 23:29:24 +00:00
)}
>
<FileRoutes />
</Router>
2025-09-10 03:43:37 +00:00
)
2025-08-15 23:29:24 +00:00
}