app.tsx 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /// <reference types="vite-plugin-pages/client-solid" />
  2. import { Router } from "@solidjs/router"
  3. import routes from "~solid-pages"
  4. import "./ui/style/index.css"
  5. import { MetaProvider } from "@solidjs/meta"
  6. import { AccountProvider } from "./components/context-account"
  7. import { DialogProvider } from "./ui/context-dialog"
  8. import { DialogString } from "./ui/dialog-string"
  9. import { DialogSelect } from "./ui/dialog-select"
  10. import { ThemeProvider } from "./components/context-theme"
  11. import { Suspense } from "solid-js"
  12. import { OpenAuthProvider } from "./components/context-openauth"
  13. export function App(props: { url?: string }) {
  14. return (
  15. <ThemeProvider>
  16. <Suspense>
  17. <DialogProvider>
  18. <DialogString />
  19. <DialogSelect />
  20. <OpenAuthProvider
  21. clientID="web"
  22. issuer={import.meta.env.VITE_AUTH_URL || "http://dummy"}
  23. >
  24. <AccountProvider>
  25. <MetaProvider>
  26. <Router
  27. children={routes}
  28. url={props.url}
  29. root={(props) => {
  30. return <>{props.children}</>
  31. }}
  32. />
  33. </MetaProvider>
  34. </AccountProvider>
  35. </OpenAuthProvider>
  36. </DialogProvider>
  37. </Suspense>
  38. </ThemeProvider>
  39. )
  40. }