Update app routing

This commit is contained in:
Hazem Krimi
2021-05-01 17:52:33 +01:00
parent 0123cf648d
commit 50eac01666
+45 -26
View File
@@ -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>
</>
);
};