app.tsx 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import { MetaProvider, Title, Meta } from "@solidjs/meta"
  2. import { Router } from "@solidjs/router"
  3. import { FileRoutes } from "@solidjs/start/router"
  4. import { Suspense } from "solid-js"
  5. import { Favicon } from "@opencode-ai/ui/favicon"
  6. import { Font } from "@opencode-ai/ui/font"
  7. import "@ibm/plex/css/ibm-plex.css"
  8. import "./app.css"
  9. import { LanguageProvider } from "~/context/language"
  10. import { I18nProvider } from "~/context/i18n"
  11. import { strip } from "~/lib/language"
  12. export default function App() {
  13. return (
  14. <Router
  15. explicitLinks={true}
  16. transformUrl={strip}
  17. root={(props) => (
  18. <LanguageProvider>
  19. <I18nProvider>
  20. <MetaProvider>
  21. <Title>opencode</Title>
  22. <Meta name="description" content="OpenCode - The open source coding agent." />
  23. <Favicon />
  24. <Font />
  25. <Suspense>{props.children}</Suspense>
  26. </MetaProvider>
  27. </I18nProvider>
  28. </LanguageProvider>
  29. )}
  30. >
  31. <FileRoutes />
  32. </Router>
  33. )
  34. }