auth
Mon May 01 2023 13:46:04 GMT+0000 (Coordinated Universal Time)
Saved by @preston #javascript
import React, { useEffect, useState } from "react"; import { Routes, Route, Navigate } from "react-router-dom"; import Topbar from "./scenes/global/Topbar"; import Dashboard from "./scenes/dashboard"; import DashboardSales from "./scenes/dashboardsales/index"; import DashboardMerchant from "./scenes/dashboardmerchandiser/index"; import Contacts from "./scenes/contacts/index"; import MerchantInfo from "./scenes/contacts/app" import Form from "./scenes/form/index.js"; import Merchant from "./scenes/merchant/app"; import { CssBaseline, ThemeProvider } from "@mui/material"; import { ColorModeContext, useMode } from "./theme"; import Calendar from "./scenes/calendar/calendar"; import GoogleMap from "./scenes/maps/maps"; import RoutePlan from "./scenes/routeplan/RoutePlan"; import Home from './Home' import SignUpAdmin from "./SignAdmin"; import LoginAdmin from "./LoginAdmin"; import LoginSales from "./LoginSales"; import LoginMerchant from "./LoginMerchant"; function App() { const [theme, colorMode] = useMode(); const [isSidebar, setIsSidebar] = useState(true); const [isAuthenticated, setIsAuthenticated] = useState(false); useEffect(() => { const token = localStorage.getItem("jwt"); console.log({token}); if (!token) { setIsAuthenticated(false); } else { setIsAuthenticated(true); } }, []); return ( <ColorModeContext.Provider value={colorMode}> <ThemeProvider theme={theme}> <CssBaseline /> <div className="app"> <main className="content"> <Topbar setIsSidebar={setIsSidebar} /> <Routes> {/* protect routesclear */} <Route path="/admin" element={isAuthenticated?<Navigate replace to="/admin" />: <Navigate replace to="/" />} /> <Route path="/sales" element={isAuthenticated?<Navigate replace to="/sales" />: <Navigate replace to="/" />} /> <Route path="/merchant" element={isAuthenticated?<Navigate replace to="/merchant" />: <Navigate replace to="/" />} /> <Route path="/contacts" element={isAuthenticated?<Navigate replace to="/contacts" />: <Navigate replace to="/" />} /> <Route path="/merchantInfo" element={isAuthenticated?<Navigate replace to="/merchantInfo" />: <Navigate replace to="/" />} /> <Route path="/form" element={isAuthenticated?<Navigate replace to="/form" />: <Navigate replace to="/" />} /> <Route path="/form-merchant" element={isAuthenticated?<Navigate replace to="/form-merchant" />: <Navigate replace to="/" />} /> <Route path="/calendar" element={isAuthenticated?<Navigate replace to="/calendar" />: <Navigate replace to="/" />} /> <Route path="/maps" element={isAuthenticated?<Navigate replace to="/maps" />: <Navigate replace to="/" />} /> <Route path="/routeplans" element={isAuthenticated?<Navigate replace to="/routeplans" />: <Navigate replace to="/" />} /> <Route path ="/" element={<Home/>}/> <Route path="/signup-admin" element={<SignUpAdmin />} /> <Route path="/admin-log" element={<LoginAdmin />} /> <Route path="/sales-log" element={<LoginSales />} /> <Route path="/merchant-log" element={<LoginMerchant />} /> <Route path="/admin" element={<Dashboard />} /> <Route path="/sales" element={<DashboardSales />} /> <Route path="/merchant" element={<DashboardMerchant />} /> <Route path="/contacts" element={<Contacts />} /> <Route path="/merchantInfo" element={<MerchantInfo />} /> <Route path="/form" element={<Form />} /> <Route path="/form-merchant" element={<Merchant />} /> <Route path="/calendar" element={<Calendar />} /> <Route path="/maps" element={<GoogleMap/>}/> <Route path="/routeplans" element={<RoutePlan />}/> </Routes> </main> </div> </ThemeProvider> </ColorModeContext.Provider> ); } export default App;
Comments