aboutsummaryrefslogtreecommitdiff
path: root/Timeline/ClientApp/src/app/App.tsx
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-10-27 19:21:35 +0800
committercrupest <crupest@outlook.com>2020-10-27 19:21:35 +0800
commitac769e656b122ff569c3f1534701b71e00fed586 (patch)
tree72966645ff1e25139d3995262e1c4349f2c14733 /Timeline/ClientApp/src/app/App.tsx
parent14e5848c23c643cea9b5d709770747d98c3d75e2 (diff)
downloadtimeline-ac769e656b122ff569c3f1534701b71e00fed586.tar.gz
timeline-ac769e656b122ff569c3f1534701b71e00fed586.tar.bz2
timeline-ac769e656b122ff569c3f1534701b71e00fed586.zip
Split front and back end.
Diffstat (limited to 'Timeline/ClientApp/src/app/App.tsx')
-rw-r--r--Timeline/ClientApp/src/app/App.tsx84
1 files changed, 0 insertions, 84 deletions
diff --git a/Timeline/ClientApp/src/app/App.tsx b/Timeline/ClientApp/src/app/App.tsx
deleted file mode 100644
index b68eddb6..00000000
--- a/Timeline/ClientApp/src/app/App.tsx
+++ /dev/null
@@ -1,84 +0,0 @@
-import React from "react";
-import { BrowserRouter as Router, Route, Switch } from "react-router-dom";
-import { hot } from "react-hot-loader/root";
-
-import AppBar from "./views/common/AppBar";
-import LoadingPage from "./views/common/LoadingPage";
-import Home from "./views/home";
-import Login from "./views/login";
-import Settings from "./views/settings";
-import About from "./views/about";
-import User from "./views/user";
-import TimelinePage from "./views/timeline";
-import AlertHost from "./views/common/alert/AlertHost";
-
-import { dataStorage } from "./services/common";
-import { userService, useRawUser } from "./services/user";
-
-const NoMatch: React.FC = () => {
- return (
- <>
- <AppBar />
- <div style={{ height: 56 }} />
- <div>Ah-oh, 404!</div>
- </>
- );
-};
-
-const LazyAdmin = React.lazy(
- () => import(/* webpackChunkName: "admin" */ "./views/admin/Admin")
-);
-
-const App: React.FC = () => {
- const [loading, setLoading] = React.useState<boolean>(true);
-
- const user = useRawUser();
-
- React.useEffect(() => {
- void userService.checkLoginState();
- void dataStorage.ready().then(() => setLoading(false));
- }, []);
-
- if (user === undefined || loading) {
- return <LoadingPage />;
- } else {
- return (
- <React.Suspense fallback={<LoadingPage />}>
- <Router>
- <AppBar />
- <Switch>
- <Route exact path="/">
- <Home />
- </Route>
- <Route exact path="/login">
- <Login />
- </Route>
- <Route path="/settings">
- <Settings />
- </Route>
- <Route path="/about">
- <About />
- </Route>
- <Route path="/timelines/:name">
- <TimelinePage />
- </Route>
- <Route path="/users/:username">
- <User />
- </Route>
- {user && user.administrator && (
- <Route path="/admin">
- <LazyAdmin user={user} />
- </Route>
- )}
- <Route>
- <NoMatch />
- </Route>
- </Switch>
- <AlertHost />
- </Router>
- </React.Suspense>
- );
- }
-};
-
-export default hot(App);