import React from "react";
import ReactDOM from "react-dom/client";
import "./index.css";
import { createBrowserRouter, RouterProvider } from "react-router-dom";
import App from "./Pages/App";
import YourProjectsPage from "./Pages/YourProjectsPage.tsx";
import UserProjectPage from "./Pages/UserPages/UserProjectPage.tsx";
import AdminMenuPage from "./Pages/AdminPages/AdminMenuPage.tsx";
import UserEditTimeReportPage from "./Pages/UserPages/UserEditTimeReportPage.tsx";
import UserNewTimeReportPage from "./Pages/UserPages/UserNewTimeReportPage.tsx";
import UserViewTimeReportsPage from "./Pages/UserPages/UserViewTimeReportsPage.tsx";
import PMChangeRole from "./Pages/ProjectManagerPages/PMChangeRole.tsx";
import PMOtherUsersTR from "./Pages/ProjectManagerPages/PMOtherUsersTR.tsx";
import PMProjectMembers from "./Pages/ProjectManagerPages/PMProjectMembers.tsx";
import PMProjectPage from "./Pages/ProjectManagerPages/PMProjectPage.tsx";
import PMTotalTimeActivity from "./Pages/ProjectManagerPages/PMTotalTimeActivity.tsx";
import PMTotalTimeRole from "./Pages/ProjectManagerPages/PMTotalTimeRole.tsx";
import PMUnsignedReports from "./Pages/ProjectManagerPages/PMUnsignedReports.tsx";
import PMViewUnsignedReport from "./Pages/ProjectManagerPages/PMViewUnsignedReport.tsx";
import AdminManageUsers from "./Pages/AdminPages/AdminManageUsers.tsx";
import AdminManageProjects from "./Pages/AdminPages/AdminManageProjects.tsx";
import AdminAddProject from "./Pages/AdminPages/AdminAddProject.tsx";
import AdminAddUser from "./Pages/AdminPages/AdminAddUser.tsx";
import AdminProjectAddMember from "./Pages/AdminPages/AdminProjectAddMember.tsx";
import AdminProjectStatistics from "./Pages/AdminPages/AdminProjectStatistics.tsx";
import NotFoundPage from "./Pages/NotFoundPage.tsx";
import UnauthorizedPage from "./Pages/UnauthorizedPage.tsx";
import PMViewOtherUsersTR from "./Pages/ProjectManagerPages/PMViewOtherUsersTR.tsx";
// This is where the routes are mounted
const router = createBrowserRouter([
{
path: "/",
element: ,
errorElement: ,
},
{
path: "/admin",
element: ,
},
{
path: "/yourProjects",
element: ,
},
{
path: "/project/:projectName",
element: ,
},
{
path: "/newTimeReport/:projectName",
element: ,
},
{
path: "/timeReports/:projectName",
element: ,
},
{
path: "/editTimeReport/:projectName/:fetchedWeek",
element: ,
},
{
path: "/changeRole/:projectName/:username",
element: ,
},
{
path: "/otherUsersTimeReports/:projectName/:username",
element: ,
},
{
path: "/editOthersTR/:projectName/:username/:fetchedWeek",
element: ,
},
{
path: "/projectMembers/:projectName",
element: ,
},
{
path: "/PMProjectPage/:projectName",
element: ,
},
{
path: "/PMTimeActivity/:projectName",
element: ,
},
{
path: "/PMTimeRole/:projectName",
element: ,
},
{
path: "/unsignedReports/:projectName",
element: ,
},
{
path: "/PMViewUnsignedReport/:projectName/:username/:fetchedWeek",
element: ,
},
{
path: "/adminProjectAddMember",
element: ,
},
{
path: "/adminProjectStatistics",
element: ,
},
{
path: "/addProject",
element: ,
},
{
path: "/adminAddUser",
element: ,
},
{
path: "/adminManageProject",
element: ,
},
{
path: "/adminManageUser",
element: ,
},
{
path: "/unauthorized",
element: ,
},
]);
// Semi-hacky way to get the root element
const root = document.getElementById("root") ?? document.createElement("div");
// Render the router at the root
ReactDOM.createRoot(root).render(
,
);