revite/src/pages/app.tsx

48 lines
1.5 KiB
TypeScript
Raw Normal View History

2021-06-18 15:07:26 -04:00
import { Route, Switch } from "react-router-dom";
2021-06-19 07:34:53 -04:00
import { lazy, Suspense } from "preact/compat";
2021-07-05 06:23:23 -04:00
import Context from "../context";
import { CheckAuth } from "../context/revoltjs/CheckAuth";
import Masks from "../components/ui/Masks";
import Preloader from "../components/ui/Preloader";
import Invite from "./invite/Invite";
2021-07-05 06:23:23 -04:00
const Login = lazy(() => import("./login/Login"));
const RevoltApp = lazy(() => import("./RevoltApp"));
2021-06-18 07:05:01 -04:00
export function App() {
2021-07-05 06:25:20 -04:00
return (
<Context>
<Masks />
{/*
2021-08-05 09:47:00 -04:00
// @ts-expect-error typings mis-match between preact... and preact? */}
2021-07-05 06:25:20 -04:00
<Suspense fallback={<Preloader type="spinner" />}>
<Switch>
<Route path="/login/verify/:token">
<Login />
</Route>
<Route path="/login/reset/:token">
<Login />
</Route>
<Route path="/invite/:code">
<Invite />
</Route>
2021-07-05 06:25:20 -04:00
<Route path="/login">
<CheckAuth>
<Login />
</CheckAuth>
</Route>
<Route path="/">
<CheckAuth auth>
<RevoltApp />
</CheckAuth>
</Route>
</Switch>
</Suspense>
</Context>
);
2021-06-18 07:05:01 -04:00
}