2021-06-18 20:07:26 +01:00
|
|
|
import { Route, Switch } from "react-router-dom";
|
2021-06-18 17:57:08 +01:00
|
|
|
|
2021-06-19 12:34:53 +01:00
|
|
|
import { lazy, Suspense } from "preact/compat";
|
2021-07-05 11:23:23 +01:00
|
|
|
|
2021-12-25 14:32:28 +00:00
|
|
|
import ErrorBoundary from "../lib/ErrorBoundary";
|
2021-12-25 20:43:54 +00:00
|
|
|
import FakeClient from "../lib/FakeClient";
|
2021-12-25 14:32:28 +00:00
|
|
|
|
2021-07-05 11:23:23 +01:00
|
|
|
import Context from "../context";
|
|
|
|
import { CheckAuth } from "../context/revoltjs/CheckAuth";
|
|
|
|
|
|
|
|
import Masks from "../components/ui/Masks";
|
|
|
|
import Preloader from "../components/ui/Preloader";
|
|
|
|
|
2021-09-13 17:22:17 +01:00
|
|
|
import Invite from "./invite/Invite";
|
|
|
|
|
2021-07-05 11:23:23 +01:00
|
|
|
const Login = lazy(() => import("./login/Login"));
|
|
|
|
const RevoltApp = lazy(() => import("./RevoltApp"));
|
2021-06-18 22:47:25 +01:00
|
|
|
|
2021-06-18 12:05:01 +01:00
|
|
|
export function App() {
|
2021-07-05 11:25:20 +01:00
|
|
|
return (
|
2021-12-25 16:03:05 +00:00
|
|
|
<ErrorBoundary section="client">
|
2021-12-25 14:32:28 +00:00
|
|
|
<Context>
|
|
|
|
<Masks />
|
|
|
|
{/*
|
|
|
|
// @ts-expect-error typings mis-match between preact... and preact? */}
|
|
|
|
<Suspense fallback={<Preloader type="spinner" />}>
|
|
|
|
<Switch>
|
|
|
|
<Route path="/login/verify/:token">
|
|
|
|
<Login />
|
|
|
|
</Route>
|
|
|
|
<Route path="/login/reset/:token">
|
2021-07-05 11:25:20 +01:00
|
|
|
<Login />
|
2021-12-25 14:32:28 +00:00
|
|
|
</Route>
|
2021-12-28 12:24:35 +00:00
|
|
|
<Route path="/invite/:code">
|
|
|
|
<CheckAuth blockRender>
|
|
|
|
<FakeClient>
|
|
|
|
<Invite />
|
|
|
|
</FakeClient>
|
|
|
|
</CheckAuth>
|
|
|
|
<CheckAuth auth blockRender>
|
|
|
|
<Invite />
|
|
|
|
</CheckAuth>
|
|
|
|
</Route>
|
2021-12-25 14:32:28 +00:00
|
|
|
<Route path="/login">
|
|
|
|
<CheckAuth>
|
|
|
|
<Login />
|
|
|
|
</CheckAuth>
|
|
|
|
</Route>
|
|
|
|
<Route path="/">
|
|
|
|
<CheckAuth auth>
|
|
|
|
<RevoltApp />
|
|
|
|
</CheckAuth>
|
|
|
|
</Route>
|
|
|
|
</Switch>
|
|
|
|
</Suspense>
|
|
|
|
</Context>
|
|
|
|
</ErrorBoundary>
|
2021-07-05 11:25:20 +01:00
|
|
|
);
|
2021-06-18 12:05:01 +01:00
|
|
|
}
|