source: sources/client/src/App.js@ 9504a09

Last change on this file since 9504a09 was 3a58bd6, checked in by Viktor <39170279+Tasevski2@…>, 3 years ago

Added Frontend

  • Property mode set to 100644
File size: 1.3 KB
Line 
1import './App.css';
2import { Route, Switch, Redirect } from 'react-router-dom';
3
4import DestinationComponent from './utils/DestinationComponent';
5
6import AdminHomeScreen from './screens/AdminHomeScreen';
7import LoginScreenImported from './screens/LoginScreen';
8
9import { roles } from './config/enums';
10
11const LoginScreen = new DestinationComponent('/', LoginScreenImported, true);
12const AdminEmployeeHomeScreen = new DestinationComponent('/', AdminHomeScreen);
13// const UserHomeScreen = new DestinationComponent('/', UserHomeScreen); TODO
14
15const publicRoutes = [LoginScreen];
16
17const userRoutes = [
18 // UserHomeScreen
19];
20
21const adminAndEmployeeRoutes = [AdminEmployeeHomeScreen];
22
23function App(props) {
24 const user = {
25 role: 'ROLE_ADMIN',
26 };
27
28 // const user = null;
29
30 let routes = publicRoutes;
31 if (user) {
32 switch (user.role) {
33 case roles.user:
34 routes = userRoutes;
35 break;
36 case roles.admin:
37 case roles.employee:
38 routes = adminAndEmployeeRoutes;
39 break;
40 default:
41 break;
42 }
43 }
44 console.log(publicRoutes);
45 return (
46 <Switch>
47 {routes?.map((route, index) => (
48 <Route key={index} path={route.path} component={route.component} />
49 ))}
50 <Redirect to='/' />
51 </Switch>
52 );
53}
54
55export default App;
Note: See TracBrowser for help on using the repository browser.