import "./App.css"; import { RouterProvider, createBrowserRouter, Navigate, } from "react-router-dom"; import Login from "./pages/Login"; import Surveys from "./pages/Surveys"; import NewSurvey from "./pages/NewSurvey"; import SurveyResults from "./pages/SurveyResults"; import SurveyAssignees from "./pages/SurveyAssignees"; import Users from "./pages/Users"; import NavBar from "./components/NavBar"; import useLoginState from "./hooks/useLoginState"; import Container from "@mui/material/Container"; import CssBaseline from "@mui/material/CssBaseline"; import CustomThemeProvider from "./CustomThemeProvider"; function routes({ login, logout, isLoggedIn }) { function withNavBar(component) { const navbarLinks = [ { label: "Surveys", link: "/surveys" }, { label: "New Survey", link: "/surveys/new" }, { label: "Users", link: "/users" }, ]; return ( <> {component} ); } if (!isLoggedIn) { return [ { path: "*", element: , }, ]; } else { return [ { path: "/", element: , }, { path: "/surveys", element: withNavBar(), }, { path: "/surveys/new", element: withNavBar(), }, { path: "/surveys/:surveyId/results", element: withNavBar(), }, { path: "/surveys/:surveyId/assignees", element: withNavBar(), }, { path: "/users", element: withNavBar(), }, ]; } } export default function App() { const { login, logout, isLoggedIn } = useLoginState(); const currentRoutes = routes({ isLoggedIn, logout, login }); return ( <> ); }