source: frontend/src/App.js@ cc4db18

Last change on this file since cc4db18 was cc4db18, checked in by Danilo <danilo.najkov@…>, 2 years ago

reservation module changes + contact module + menu module

  • Property mode set to 100644
File size: 1.9 KB
Line 
1import './App.css';
2import {Route, BrowserRouter as Router, Navigate, Routes} from "react-router-dom";
3import axios from 'axios'
4import env from './env'
5
6import {Spin} from "antd";
7import React, {useEffect, useState} from "react";
8import {Login, Register} from "./auth";
9import Dashboard from "./Dashboard";
10import Reservations from "./Dashboard/Reservations";
11import FrontPage from "./FrontPage";
12import Restaurant from "./Dashboard/Restaurant";
13import Menu from "./Dashboard/Menu";
14
15
16function App() {
17 const [user, setUser] = useState(false)
18 const [loading, setLoading] = useState(false)
19 useEffect(()=>{
20 getUser()
21 },[])
22
23 const getUser = () => {
24 setLoading(true)
25 axios.get(env.api+'Users/authed',{headers:{Authorization:sessionStorage.getItem('Auth')}}).then(res=>{
26 console.log(!res.data)
27 setUser(res.data)
28 setLoading(false)
29 })
30 }
31 return (
32 <div style={{textAlign:'center'}}>
33 <Router>
34 <Routes>
35 <Route path="/dashboard" element={loading ? <Spin /> : user ?<Dashboard setUser={setUser}/> : <Navigate to="/login" replace={true} />}>
36 <Route path="/dashboard" element={<Restaurant/>}/>
37 <Route path="/dashboard/menu" element={<Menu/>}/>
38 <Route path="/dashboard/reservations" element={<Reservations/>}/>
39 <Route path="/dashboard/reviews" element={'reviews'}/>
40 <Route path="/dashboard/todo" element={'todo'}/>
41 </Route>
42 <Route path="/login" element={loading ? <Spin /> : !user ? <Login setUser={setUser}/> : <Navigate to="/dashboard" replace={true} />}/>
43 <Route path="/register" element={loading ? <Spin /> : !user ? <Register setUser={setUser}/> : <Navigate to="/dashboard" replace={true} />}/>
44 <Route path="/" element={<FrontPage/>}/>
45 </Routes>
46 </Router>
47 </div>
48 );
49}
50
51export default App;
Note: See TracBrowser for help on using the repository browser.