Changeset 899b19d for frontend/src/App.js
- Timestamp:
- 07/10/22 10:27:45 (2 years ago)
- Branches:
- master
- Children:
- a26f6a1
- Parents:
- cc4db18
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
frontend/src/App.js
rcc4db18 r899b19d 1 1 import './App.css'; 2 import {Route, BrowserRouter as Router, Navigate, Routes } from "react-router-dom";2 import {Route, BrowserRouter as Router, Navigate, Routes, useNavigate} from "react-router-dom"; 3 3 import axios from 'axios' 4 4 import env from './env' … … 12 12 import Restaurant from "./Dashboard/Restaurant"; 13 13 import Menu from "./Dashboard/Menu"; 14 import Review from "./Dashboard/Review"; 14 15 15 16 16 17 function App() { 17 const [user, setUser] = useState( false)18 const [user, setUser] = useState(undefined) 18 19 const [loading, setLoading] = useState(false) 19 20 useEffect(()=>{ … … 29 30 }) 30 31 } 32 const logout = () => { 33 setUser(undefined); 34 sessionStorage.removeItem('Auth'); 35 window.location.replace('/') 36 } 31 37 return ( 32 38 <div style={{textAlign:'center'}}> 33 39 <Router> 34 40 <Routes> 35 <Route path="/dashboard" element={loading ? <Spin /> : user ? <Dashboard setUser={setUser}/>: <Navigate to="/login" replace={true} />}>41 <Route path="/dashboard" element={loading ? <Spin /> : user ? (user.isAdmin ? <Dashboard setUser={setUser}/> : <Navigate to="/" replace={true} />) : <Navigate to="/login" replace={true} />}> 36 42 <Route path="/dashboard" element={<Restaurant/>}/> 37 43 <Route path="/dashboard/menu" element={<Menu/>}/> 38 44 <Route path="/dashboard/reservations" element={<Reservations/>}/> 39 <Route path="/dashboard/reviews" element={ 'reviews'}/>45 <Route path="/dashboard/reviews" element={<Review/>}/> 40 46 <Route path="/dashboard/todo" element={'todo'}/> 41 47 </Route> 42 48 <Route path="/login" element={loading ? <Spin /> : !user ? <Login setUser={setUser}/> : <Navigate to="/dashboard" replace={true} />}/> 43 49 <Route path="/register" element={loading ? <Spin /> : !user ? <Register setUser={setUser}/> : <Navigate to="/dashboard" replace={true} />}/> 44 <Route path="/" element={<FrontPage />}/>50 <Route path="/" element={<FrontPage user={user} logout={logout}/>}/> 45 51 </Routes> 46 52 </Router>
Note:
See TracChangeset
for help on using the changeset viewer.