2021-10-06 00:52:06 +00:00
|
|
|
import * as Reach from "@reach/router"
|
|
|
|
import {RouteComponentProps} from "@reach/router"
|
|
|
|
import {LayoutThreeCol} from "@steffo/bluelib-react"
|
|
|
|
import * as React from "react"
|
|
|
|
import {AuthorizationRouter} from "./components/authorization/AuthorizationRouter"
|
|
|
|
import {AuthorizationStepPage} from "./components/authorization/AuthorizationStepPage"
|
|
|
|
import {SophonFooter} from "./components/elements/SophonFooter"
|
|
|
|
import {ErrorCatcherBox} from "./components/errors/ErrorCatcherBox"
|
2021-10-07 00:14:34 +00:00
|
|
|
import {GroupRouter} from "./components/group/GroupRouter"
|
2021-10-06 00:52:06 +00:00
|
|
|
import {InstanceRouter} from "./components/instance/InstanceRouter"
|
|
|
|
import {InstanceStepPage} from "./components/instance/InstanceStepPage"
|
|
|
|
import {DebugBox} from "./components/placeholder/DebugBox"
|
|
|
|
import {ThemedBluelib} from "./components/theme/ThemedBluelib"
|
|
|
|
import {ThemedTitle} from "./components/theme/ThemedTitle"
|
|
|
|
import {AuthorizationProvider} from "./contexts/authorization"
|
|
|
|
import {InstanceProvider} from "./contexts/instance"
|
|
|
|
import {ThemeProvider} from "./contexts/theme"
|
2021-08-29 20:58:31 +00:00
|
|
|
|
2021-09-29 23:50:45 +00:00
|
|
|
|
2021-10-06 00:52:06 +00:00
|
|
|
function App({...props}: RouteComponentProps) {
|
2021-09-08 16:05:01 +00:00
|
|
|
return (
|
2021-10-06 00:52:06 +00:00
|
|
|
<InstanceProvider>
|
|
|
|
<InstanceRouter
|
|
|
|
unselectedRoute={() => <>
|
|
|
|
<InstanceStepPage/>
|
|
|
|
</>}
|
|
|
|
selectedRoute={() => <>
|
|
|
|
<AuthorizationProvider>
|
|
|
|
<AuthorizationRouter
|
|
|
|
unselectedRoute={() => <>
|
|
|
|
<AuthorizationStepPage/>
|
|
|
|
</>}
|
2021-10-07 00:14:34 +00:00
|
|
|
selectedRoute={() => <>
|
|
|
|
<GroupRouter
|
|
|
|
unselectedRoute={DebugBox}
|
|
|
|
selectedRoute={DebugBox}
|
|
|
|
/>
|
|
|
|
</>}
|
2021-10-06 00:52:06 +00:00
|
|
|
/>
|
|
|
|
</AuthorizationProvider>
|
|
|
|
</>}
|
|
|
|
/>
|
|
|
|
</InstanceProvider>
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
export default function AppWrapper() {
|
|
|
|
return (
|
|
|
|
<ThemeProvider>
|
|
|
|
<ThemedBluelib>
|
|
|
|
<LayoutThreeCol>
|
|
|
|
<LayoutThreeCol.Center>
|
|
|
|
<ThemedTitle level={1}/>
|
|
|
|
<ErrorCatcherBox>
|
|
|
|
<Reach.Router>
|
|
|
|
<App default/>
|
|
|
|
</Reach.Router>
|
|
|
|
</ErrorCatcherBox>
|
|
|
|
<SophonFooter/>
|
|
|
|
</LayoutThreeCol.Center>
|
|
|
|
</LayoutThreeCol>
|
|
|
|
</ThemedBluelib>
|
|
|
|
</ThemeProvider>
|
|
|
|
)
|
2021-08-29 20:58:31 +00:00
|
|
|
}
|