mirror of
https://github.com/hazemKrimi/crimson-quirks-ui.git
synced 2026-05-02 02:30:29 +00:00
Update app routing
This commit is contained in:
+45
-26
@@ -1,44 +1,63 @@
|
||||
import { useEffect } from 'react';
|
||||
import { Switch } from 'react-router-dom';
|
||||
import { ProtectedRoute, AuthRoute } from './components';
|
||||
import { tokenVar } from './graphql/state';
|
||||
import { useReactiveVar } from '@apollo/client';
|
||||
import { ProtectedRoute, AuthRoute, Navbar, Sidebar } from './components';
|
||||
import { roleVar, tokenVar } from './graphql/state';
|
||||
import {
|
||||
AdditionalInfo,
|
||||
ForgotPassword,
|
||||
Login,
|
||||
RecoverAccount,
|
||||
Signup,
|
||||
Main,
|
||||
Project,
|
||||
Settings,
|
||||
} from './pages';
|
||||
|
||||
const App = () => {
|
||||
useEffect(() => {
|
||||
const token = localStorage.getItem('token');
|
||||
const token = useReactiveVar(tokenVar);
|
||||
const role = useReactiveVar(roleVar);
|
||||
|
||||
if (token) tokenVar(token);
|
||||
useEffect(() => {
|
||||
const localStorageToken = localStorage.getItem('token');
|
||||
|
||||
if (localStorageToken) tokenVar(localStorageToken);
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<Switch>
|
||||
<ProtectedRoute path='/' exact>
|
||||
<Main />
|
||||
</ProtectedRoute>
|
||||
<AuthRoute path='/login' exact>
|
||||
<Login />
|
||||
</AuthRoute>
|
||||
<AuthRoute path='/signup' exact>
|
||||
<Signup />
|
||||
</AuthRoute>
|
||||
<AuthRoute path='/additional-info' exact>
|
||||
<AdditionalInfo />
|
||||
</AuthRoute>
|
||||
<AuthRoute path='/forgot-password' exact>
|
||||
<ForgotPassword />
|
||||
</AuthRoute>
|
||||
<AuthRoute path='/recover-account' exact>
|
||||
<RecoverAccount />
|
||||
</AuthRoute>
|
||||
</Switch>
|
||||
<>
|
||||
{token && (
|
||||
<>
|
||||
<Navbar withSidebar={role !== 'admin'} />
|
||||
{role !== 'admin' && <Sidebar />}
|
||||
</>
|
||||
)}
|
||||
<Switch>
|
||||
<ProtectedRoute path='/' exact>
|
||||
<Project />
|
||||
</ProtectedRoute>
|
||||
<ProtectedRoute path='/project' exact>
|
||||
<Project />
|
||||
</ProtectedRoute>
|
||||
<ProtectedRoute path='/settings' exact>
|
||||
<Settings />
|
||||
</ProtectedRoute>
|
||||
<AuthRoute path='/login' exact>
|
||||
<Login />
|
||||
</AuthRoute>
|
||||
<AuthRoute path='/signup' exact>
|
||||
<Signup />
|
||||
</AuthRoute>
|
||||
<AuthRoute path='/additional-info' exact>
|
||||
<AdditionalInfo />
|
||||
</AuthRoute>
|
||||
<AuthRoute path='/forgot-password' exact>
|
||||
<ForgotPassword />
|
||||
</AuthRoute>
|
||||
<AuthRoute path='/recover-account' exact>
|
||||
<RecoverAccount />
|
||||
</AuthRoute>
|
||||
</Switch>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user