Files
react_task_1b/src/main.jsx
T
2022-11-26 01:25:31 -05:00

52 lines
1.3 KiB
React

import React from "react";
import { AuthContext } from "./authContext";
import { Routes, Route, Navigate } from "react-router-dom";
import SnackBar from "./components/SnackBar";
import AdminDashboardPage from "./pages/AdminDashboardPage";
import AdminLoginPage from "./pages/AdminLoginPage";
import NotFoundPage from "./pages/NotFoundPage";
function renderRoutes(role) {
switch (role) {
case "admin":
return (
<Routes>
<Route
path="/admin/dashboard"
element={<AdminDashboardPage />}
></Route>
</Routes>
);
break;
default:
return (
<Routes>
<Route exact path="/admin/login" element={<AdminLoginPage />}></Route>
<Route path="*" exact element={<NotFoundPage />}></Route>
</Routes>
);
break;
}
}
function Main() {
const { state } = React.useContext(AuthContext);
return (
<div className="h-full">
<div className="flex w-full">
<div className="w-full">
<div className="page-wrapper w-full py-10 px-5">
{!state.isAuthenticated
? renderRoutes("none")
: renderRoutes(state.role)}
</div>
</div>
</div>
<SnackBar />
</div>
);
}
export default Main;