summaryrefslogtreecommitdiffhomepage
path: root/cloud/web/src/app.tsx
blob: aae71ddded29a92ab303d50dc323f0b03da393e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/// <reference types="vite-plugin-pages/client-solid" />

import { Router } from "@solidjs/router"
import routes from "~solid-pages"
import "./ui/style/index.css"
import { MetaProvider } from "@solidjs/meta"
import { AccountProvider } from "./components/context-account"
import { DialogProvider } from "./ui/context-dialog"
import { DialogString } from "./ui/dialog-string"
import { DialogSelect } from "./ui/dialog-select"
import { ThemeProvider } from "./components/context-theme"
import { Suspense } from "solid-js"
import { OpenAuthProvider } from "./components/context-openauth"

export function App(props: { url?: string }) {
  return (
    <ThemeProvider>
      <Suspense>
        <DialogProvider>
          <DialogString />
          <DialogSelect />
          <OpenAuthProvider
            clientID="web"
            issuer={import.meta.env.VITE_AUTH_URL || "http://dummy"}
          >
            <AccountProvider>
              <MetaProvider>
                <Router
                  children={routes}
                  url={props.url}
                  root={(props) => {
                    return <>{props.children}</>
                  }}
                />
              </MetaProvider>
            </AccountProvider>
          </OpenAuthProvider>
        </DialogProvider>
      </Suspense>
    </ThemeProvider>
  )
}