|
@@ -1,42 +1,68 @@
|
|
|
import React, { Suspense, lazy } from "react";
|
|
|
import { Switch, Route } from "react-router-dom";
|
|
|
|
|
|
-import * as routes from './constants/routes'
|
|
|
+import * as routes from './constants/routes';
|
|
|
|
|
|
-import Header from "./containers/Header"
|
|
|
-import landingPage from './components/landingPage'
|
|
|
-import Footer from './components/footer'
|
|
|
-import PrivateRouter from './PrivateRouter'
|
|
|
+import Header from "./containers/Header";
|
|
|
+import landingPage from './components/public-components/landingPage';
|
|
|
+import Footer from './components/public-components/footer';
|
|
|
+import PrivateRouter from './components/common/privateRouter';
|
|
|
+import PrivateAdminRouter from './components/common/privateAdminRouter';
|
|
|
|
|
|
import Spinner from "./components/common/spinner";
|
|
|
|
|
|
-const notFound = lazy(() => import("./components/notFound"));
|
|
|
-const homePage = lazy(() => import("./components/homePage"));
|
|
|
+const notFound = lazy(() => import("./components/public-components/notFound"));
|
|
|
+// const permissionDenied = lazy(() => import("./components/public-components/permissionDenied"));
|
|
|
+
|
|
|
+const homePage = lazy(() => import("./components/user-components/homePage"));
|
|
|
const signInPage = lazy(() => import("./containers/auth/SignInPage"));
|
|
|
const signUpPage = lazy(() => import("./containers/auth/SignUpPage"));
|
|
|
-const createTestPage = lazy(() => import("./components/admin-components/createTestPage"));
|
|
|
-
|
|
|
-export default () => (
|
|
|
- <div className="app">
|
|
|
- <Header />
|
|
|
- <Suspense fallback={<Spinner />}>
|
|
|
- <Switch>
|
|
|
- <Route path={routes.LANDING} exact component={landingPage} />
|
|
|
- <Route path={routes.SIGN_IN} exact component={signInPage} />
|
|
|
- <Route path={routes.SIGN_UP} exact component={signUpPage} />
|
|
|
-
|
|
|
- <PrivateRouter path={routes.HOME} user={false} component={homePage}/>
|
|
|
- <PrivateRouter path={routes.TESTS} user={false} component={null}/>
|
|
|
- <PrivateRouter path={routes.CATEGORIES} user={false} component={null}/>
|
|
|
- <PrivateRouter path={routes.PROFILE} user={false} component={null} />
|
|
|
-
|
|
|
- <PrivateRouter path={routes.CREATE_TEST} user={true} component={createTestPage} />
|
|
|
- <PrivateRouter path={routes.CREATE_CATEGORY} user={false} component={createTestPage} />
|
|
|
- <PrivateRouter path={routes.DELETE_USER} user={false} component={createTestPage} />
|
|
|
-
|
|
|
- <Route component={notFound} />
|
|
|
- </Switch>
|
|
|
- </Suspense>
|
|
|
- <Footer />
|
|
|
- </div>
|
|
|
-);
|
|
|
+const createTestForm = lazy(() => import("./components/user-components/admin-components/createTestForm"));
|
|
|
+
|
|
|
+class Router extends React.Component {
|
|
|
+
|
|
|
+ checkUserInLocalStorage = () => {
|
|
|
+ // localStorage.getItem(token)
|
|
|
+ }
|
|
|
+
|
|
|
+ getSomeUsers() {
|
|
|
+ fetch('localhost:3306')
|
|
|
+ .then(res => console.log(res))
|
|
|
+ .catch(exc => console.warn(exc.message))
|
|
|
+ }
|
|
|
+
|
|
|
+ componentDidMount() {
|
|
|
+ this.getSomeUsers();
|
|
|
+ }
|
|
|
+
|
|
|
+ render() {
|
|
|
+ return (
|
|
|
+ <div className="app">
|
|
|
+ <Header />
|
|
|
+ <Suspense fallback={<Spinner />}>
|
|
|
+ <Switch>
|
|
|
+ <Route path={routes.LANDING} exact component={landingPage} />
|
|
|
+ <Route path={routes.SIGN_IN} exact component={signInPage} />
|
|
|
+ <Route path={routes.SIGN_UP} exact component={signUpPage} />
|
|
|
+ <Route path={routes.HOME} exact component={homePage} />
|
|
|
+
|
|
|
+ <PrivateRouter path={routes.HOME} exact component={homePage} />
|
|
|
+ <PrivateRouter path={routes.TESTS} exact component={null} />
|
|
|
+ <PrivateRouter path={routes.CATEGORIES} exact component={null} />
|
|
|
+ <PrivateRouter path={routes.PROFILE} exact component={null} />
|
|
|
+
|
|
|
+ <PrivateAdminRouter path={routes.CREATE_TEST} exact component={createTestForm} />
|
|
|
+ <PrivateAdminRouter path={routes.CREATE_CATEGORY} exact component={null} />
|
|
|
+ <PrivateAdminRouter path={routes.DELETE_USER} exact component={null} />
|
|
|
+
|
|
|
+ {/* <Route path={routes.PERMISSON_DENIED} exact component={permissionDenied} /> */}
|
|
|
+ <Route component={notFound} />
|
|
|
+ </Switch>
|
|
|
+ </Suspense>
|
|
|
+ <Footer />
|
|
|
+ </div>
|
|
|
+ )
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+export default Router;
|