Merge branch 'gruppDM' into frontend
This commit is contained in:
		
						commit
						baade40d77
					
				
					 19 changed files with 496 additions and 20 deletions
				
			
		
							
								
								
									
										59
									
								
								frontend/src/Components/TimeReport.tsx
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								frontend/src/Components/TimeReport.tsx
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,59 @@ | |||
| function NewTimeReport(): JSX.Element { | ||||
|   const activities = [ | ||||
|     "Development", | ||||
|     "Meeting", | ||||
|     "Administration", | ||||
|     "Own Work", | ||||
|     "Studies", | ||||
|     "Testing", | ||||
|   ]; | ||||
| 
 | ||||
|   return ( | ||||
|     <> | ||||
|       <div className="border-4 border-black bg-white flex flex-col justify-start min-h-[65vh] h-fit w-[50vw] rounded-3xl overflow-scroll space-y-[2vh] p-[30px] items-center"> | ||||
|         <input | ||||
|           className="w-fill h-[5vh] font-sans text-[3vh] pl-[1vw] rounded-full text-center pt-[1vh] pb-[1vh] border-2 border-black" | ||||
|           type="week" | ||||
|           placeholder="Week" | ||||
|           onKeyDown={(event) => { | ||||
|             event.preventDefault(); | ||||
|           }} | ||||
|           onPaste={(event) => { | ||||
|             event.preventDefault(); | ||||
|           }} | ||||
|         /> | ||||
|         <table className="w-full text-center divide-y divide-x divide-white text-[30px]"> | ||||
|           <thead> | ||||
|             <tr> | ||||
|               <th className="w-1/2 py-2 border-b-2 border-black">Activity</th> | ||||
|               <th className="w-1/2 py-2 border-b-2 border-black"> | ||||
|                 Total Time (min) | ||||
|               </th> | ||||
|             </tr> | ||||
|           </thead> | ||||
|           <tbody className="divide-y divide-black"> | ||||
|             {activities.map((activity, index) => ( | ||||
|               <tr key={index} className="h-[10vh]"> | ||||
|                 <td>{activity}</td> | ||||
|                 <td> | ||||
|                   <input | ||||
|                     type="number" | ||||
|                     min="0" | ||||
|                     className="border-2 border-black rounded-md text-center w-1/2" | ||||
|                     onKeyDown={(event) => { | ||||
|                       const keyValue = event.key; | ||||
|                       if (!/\d/.test(keyValue) && keyValue !== "Backspace") | ||||
|                         event.preventDefault(); | ||||
|                     }} | ||||
|                   /> | ||||
|                 </td> | ||||
|               </tr> | ||||
|             ))} | ||||
|           </tbody> | ||||
|         </table> | ||||
|       </div> | ||||
|     </> | ||||
|   ); | ||||
| } | ||||
| 
 | ||||
| export default NewTimeReport; | ||||
							
								
								
									
										26
									
								
								frontend/src/Pages/AdminPages/AdminAddProject.tsx
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								frontend/src/Pages/AdminPages/AdminAddProject.tsx
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,26 @@ | |||
| import BasicWindow from "../../Components/BasicWindow"; | ||||
| import Button from "../../Components/Button"; | ||||
| 
 | ||||
| function AdminAddProject(): JSX.Element { | ||||
|   const content = <></>; | ||||
| 
 | ||||
|   const buttons = ( | ||||
|     <> | ||||
|       <Button | ||||
|         text="Finish" | ||||
|         onClick={(): void => { | ||||
|           return; | ||||
|         }} | ||||
|       /> | ||||
|       <Button | ||||
|         text="Back" | ||||
|         onClick={(): void => { | ||||
|           return; | ||||
|         }} | ||||
|       /> | ||||
|     </> | ||||
|   ); | ||||
| 
 | ||||
|   return <BasicWindow username="Admin" content={content} buttons={buttons} />; | ||||
| } | ||||
| export default AdminAddProject; | ||||
							
								
								
									
										26
									
								
								frontend/src/Pages/AdminPages/AdminAddUser.tsx
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								frontend/src/Pages/AdminPages/AdminAddUser.tsx
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,26 @@ | |||
| import BasicWindow from "../../Components/BasicWindow"; | ||||
| import Button from "../../Components/Button"; | ||||
| 
 | ||||
| function AdminAddUser(): JSX.Element { | ||||
|   const content = <></>; | ||||
| 
 | ||||
|   const buttons = ( | ||||
|     <> | ||||
|       <Button | ||||
|         text="Finish" | ||||
|         onClick={(): void => { | ||||
|           return; | ||||
|         }} | ||||
|       /> | ||||
|       <Button | ||||
|         text="Back" | ||||
|         onClick={(): void => { | ||||
|           return; | ||||
|         }} | ||||
|       /> | ||||
|     </> | ||||
|   ); | ||||
| 
 | ||||
|   return <BasicWindow username="Admin" content={content} buttons={buttons} />; | ||||
| } | ||||
| export default AdminAddUser; | ||||
							
								
								
									
										26
									
								
								frontend/src/Pages/AdminPages/AdminChangeUsername.tsx
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								frontend/src/Pages/AdminPages/AdminChangeUsername.tsx
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,26 @@ | |||
| import BasicWindow from "../../Components/BasicWindow"; | ||||
| import Button from "../../Components/Button"; | ||||
| 
 | ||||
| function AdminChangeUsername(): JSX.Element { | ||||
|   const content = <></>; | ||||
| 
 | ||||
|   const buttons = ( | ||||
|     <> | ||||
|       <Button | ||||
|         text="Finish" | ||||
|         onClick={(): void => { | ||||
|           return; | ||||
|         }} | ||||
|       /> | ||||
|       <Button | ||||
|         text="Back" | ||||
|         onClick={(): void => { | ||||
|           return; | ||||
|         }} | ||||
|       /> | ||||
|     </> | ||||
|   ); | ||||
| 
 | ||||
|   return <BasicWindow username="Admin" content={content} buttons={buttons} />; | ||||
| } | ||||
| export default AdminChangeUsername; | ||||
							
								
								
									
										26
									
								
								frontend/src/Pages/AdminPages/AdminManageProjects.tsx
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								frontend/src/Pages/AdminPages/AdminManageProjects.tsx
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,26 @@ | |||
| import BasicWindow from "../../Components/BasicWindow"; | ||||
| import Button from "../../Components/Button"; | ||||
| 
 | ||||
| function AdminManageProjects(): JSX.Element { | ||||
|   const content = <></>; | ||||
| 
 | ||||
|   const buttons = ( | ||||
|     <> | ||||
|       <Button | ||||
|         text="Add Project" | ||||
|         onClick={(): void => { | ||||
|           return; | ||||
|         }} | ||||
|       /> | ||||
|       <Button | ||||
|         text="Back" | ||||
|         onClick={(): void => { | ||||
|           return; | ||||
|         }} | ||||
|       /> | ||||
|     </> | ||||
|   ); | ||||
| 
 | ||||
|   return <BasicWindow username="Admin" content={content} buttons={buttons} />; | ||||
| } | ||||
| export default AdminManageProjects; | ||||
							
								
								
									
										26
									
								
								frontend/src/Pages/AdminPages/AdminManageUsers.tsx
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								frontend/src/Pages/AdminPages/AdminManageUsers.tsx
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,26 @@ | |||
| import BasicWindow from "../../Components/BasicWindow"; | ||||
| import Button from "../../Components/Button"; | ||||
| 
 | ||||
| function AdminManageUsers(): JSX.Element { | ||||
|   const content = <></>; | ||||
| 
 | ||||
|   const buttons = ( | ||||
|     <> | ||||
|       <Button | ||||
|         text="Add User" | ||||
|         onClick={(): void => { | ||||
|           return; | ||||
|         }} | ||||
|       /> | ||||
|       <Button | ||||
|         text="Back" | ||||
|         onClick={(): void => { | ||||
|           return; | ||||
|         }} | ||||
|       /> | ||||
|     </> | ||||
|   ); | ||||
| 
 | ||||
|   return <BasicWindow username="Admin" content={content} buttons={buttons} />; | ||||
| } | ||||
| export default AdminManageUsers; | ||||
							
								
								
									
										26
									
								
								frontend/src/Pages/AdminPages/AdminProjectAddMember.tsx
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								frontend/src/Pages/AdminPages/AdminProjectAddMember.tsx
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,26 @@ | |||
| import BasicWindow from "../../Components/BasicWindow"; | ||||
| import Button from "../../Components/Button"; | ||||
| 
 | ||||
| function AdminProjectAddMember(): JSX.Element { | ||||
|   const content = <></>; | ||||
| 
 | ||||
|   const buttons = ( | ||||
|     <> | ||||
|       <Button | ||||
|         text="Add" | ||||
|         onClick={(): void => { | ||||
|           return; | ||||
|         }} | ||||
|       /> | ||||
|       <Button | ||||
|         text="Back" | ||||
|         onClick={(): void => { | ||||
|           return; | ||||
|         }} | ||||
|       /> | ||||
|     </> | ||||
|   ); | ||||
| 
 | ||||
|   return <BasicWindow username="Admin" content={content} buttons={buttons} />; | ||||
| } | ||||
| export default AdminProjectAddMember; | ||||
							
								
								
									
										26
									
								
								frontend/src/Pages/AdminPages/AdminProjectChangeUserRole.tsx
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								frontend/src/Pages/AdminPages/AdminProjectChangeUserRole.tsx
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,26 @@ | |||
| import BasicWindow from "../../Components/BasicWindow"; | ||||
| import Button from "../../Components/Button"; | ||||
| 
 | ||||
| function AdminProjectChangeUserRole(): JSX.Element { | ||||
|   const content = <></>; | ||||
| 
 | ||||
|   const buttons = ( | ||||
|     <> | ||||
|       <Button | ||||
|         text="Change" | ||||
|         onClick={(): void => { | ||||
|           return; | ||||
|         }} | ||||
|       /> | ||||
|       <Button | ||||
|         text="Back" | ||||
|         onClick={(): void => { | ||||
|           return; | ||||
|         }} | ||||
|       /> | ||||
|     </> | ||||
|   ); | ||||
| 
 | ||||
|   return <BasicWindow username="Admin" content={content} buttons={buttons} />; | ||||
| } | ||||
| export default AdminProjectChangeUserRole; | ||||
							
								
								
									
										26
									
								
								frontend/src/Pages/AdminPages/AdminProjectManageMembers.tsx
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								frontend/src/Pages/AdminPages/AdminProjectManageMembers.tsx
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,26 @@ | |||
| import BasicWindow from "../../Components/BasicWindow"; | ||||
| import Button from "../../Components/Button"; | ||||
| 
 | ||||
| function AdminProjectManageMembers(): JSX.Element { | ||||
|   const content = <></>; | ||||
| 
 | ||||
|   const buttons = ( | ||||
|     <> | ||||
|       <Button | ||||
|         text="Add Member" | ||||
|         onClick={(): void => { | ||||
|           return; | ||||
|         }} | ||||
|       /> | ||||
|       <Button | ||||
|         text="Back" | ||||
|         onClick={(): void => { | ||||
|           return; | ||||
|         }} | ||||
|       /> | ||||
|     </> | ||||
|   ); | ||||
| 
 | ||||
|   return <BasicWindow username="Admin" content={content} buttons={buttons} />; | ||||
| } | ||||
| export default AdminProjectManageMembers; | ||||
							
								
								
									
										26
									
								
								frontend/src/Pages/AdminPages/AdminProjectPage.tsx
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								frontend/src/Pages/AdminPages/AdminProjectPage.tsx
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,26 @@ | |||
| import BasicWindow from "../../Components/BasicWindow"; | ||||
| import Button from "../../Components/Button"; | ||||
| 
 | ||||
| function AdminProjectPage(): JSX.Element { | ||||
|   const content = <></>; | ||||
| 
 | ||||
|   const buttons = ( | ||||
|     <> | ||||
|       <Button | ||||
|         text="Delete" | ||||
|         onClick={(): void => { | ||||
|           return; | ||||
|         }} | ||||
|       /> | ||||
|       <Button | ||||
|         text="Back" | ||||
|         onClick={(): void => { | ||||
|           return; | ||||
|         }} | ||||
|       /> | ||||
|     </> | ||||
|   ); | ||||
| 
 | ||||
|   return <BasicWindow username="Admin" content={content} buttons={buttons} />; | ||||
| } | ||||
| export default AdminProjectPage; | ||||
							
								
								
									
										20
									
								
								frontend/src/Pages/AdminPages/AdminProjectStatistics.tsx
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								frontend/src/Pages/AdminPages/AdminProjectStatistics.tsx
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,20 @@ | |||
| import BasicWindow from "../../Components/BasicWindow"; | ||||
| import Button from "../../Components/Button"; | ||||
| 
 | ||||
| function AdminProjectStatistics(): JSX.Element { | ||||
|   const content = <></>; | ||||
| 
 | ||||
|   const buttons = ( | ||||
|     <> | ||||
|       <Button | ||||
|         text="Back" | ||||
|         onClick={(): void => { | ||||
|           return; | ||||
|         }} | ||||
|       /> | ||||
|     </> | ||||
|   ); | ||||
| 
 | ||||
|   return <BasicWindow username="Admin" content={content} buttons={buttons} />; | ||||
| } | ||||
| export default AdminProjectStatistics; | ||||
							
								
								
									
										26
									
								
								frontend/src/Pages/AdminPages/AdminProjectViewMemberInfo.tsx
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								frontend/src/Pages/AdminPages/AdminProjectViewMemberInfo.tsx
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,26 @@ | |||
| import BasicWindow from "../../Components/BasicWindow"; | ||||
| import Button from "../../Components/Button"; | ||||
| 
 | ||||
| function AdminProjectViewMemberInfo(): JSX.Element { | ||||
|   const content = <></>; | ||||
| 
 | ||||
|   const buttons = ( | ||||
|     <> | ||||
|       <Button | ||||
|         text="Remove" | ||||
|         onClick={(): void => { | ||||
|           return; | ||||
|         }} | ||||
|       /> | ||||
|       <Button | ||||
|         text="Back" | ||||
|         onClick={(): void => { | ||||
|           return; | ||||
|         }} | ||||
|       /> | ||||
|     </> | ||||
|   ); | ||||
| 
 | ||||
|   return <BasicWindow username="Admin" content={content} buttons={buttons} />; | ||||
| } | ||||
| export default AdminProjectViewMemberInfo; | ||||
							
								
								
									
										26
									
								
								frontend/src/Pages/AdminPages/AdminViewUserInfo.tsx
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								frontend/src/Pages/AdminPages/AdminViewUserInfo.tsx
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,26 @@ | |||
| import BasicWindow from "../../Components/BasicWindow"; | ||||
| import Button from "../../Components/Button"; | ||||
| 
 | ||||
| function AdminViewUserInfo(): JSX.Element { | ||||
|   const content = <></>; | ||||
| 
 | ||||
|   const buttons = ( | ||||
|     <> | ||||
|       <Button | ||||
|         text="Delete" | ||||
|         onClick={(): void => { | ||||
|           return; | ||||
|         }} | ||||
|       /> | ||||
|       <Button | ||||
|         text="Back" | ||||
|         onClick={(): void => { | ||||
|           return; | ||||
|         }} | ||||
|       /> | ||||
|     </> | ||||
|   ); | ||||
| 
 | ||||
|   return <BasicWindow username="Admin" content={content} buttons={buttons} />; | ||||
| } | ||||
| export default AdminViewUserInfo; | ||||
|  | @ -1,8 +1,16 @@ | |||
| import BasicWindow from "../../Components/BasicWindow"; | ||||
| import Button from "../../Components/Button"; | ||||
| import TimeReport from "../../Components/TimeReport"; | ||||
| 
 | ||||
| function PMTotalTimeActivity(): JSX.Element { | ||||
|   const content = <></>; | ||||
|   const content = ( | ||||
|     <> | ||||
|       <h1 className="font-bold text-[30px] mb-[20px]"> | ||||
|         Total Time Per Activity | ||||
|       </h1> | ||||
|       <TimeReport /> | ||||
|     </> | ||||
|   ); | ||||
| 
 | ||||
|   const buttons = ( | ||||
|     <> | ||||
|  |  | |||
|  | @ -1,8 +1,16 @@ | |||
| import BasicWindow from "../../Components/BasicWindow"; | ||||
| import Button from "../../Components/Button"; | ||||
| import TimeReport from "../../Components/TimeReport"; | ||||
| 
 | ||||
| function PMViewUnsignedReport(): JSX.Element { | ||||
|   const content = <></>; | ||||
|   const content = ( | ||||
|     <> | ||||
|       <h1 className="font-bold text-[30px] mb-[20px]"> | ||||
|         Username's Time Report | ||||
|       </h1> | ||||
|       <TimeReport /> | ||||
|     </> | ||||
|   ); | ||||
| 
 | ||||
|   const buttons = ( | ||||
|     <> | ||||
|  |  | |||
|  | @ -1,8 +1,14 @@ | |||
| import BasicWindow from "../../Components/BasicWindow"; | ||||
| import Button from "../../Components/Button"; | ||||
| import NewTimeReport from "../../Components/TimeReport"; | ||||
| 
 | ||||
| function UserEditTimeReportPage(): JSX.Element { | ||||
|   const content = <></>; | ||||
|   const content = ( | ||||
|     <> | ||||
|       <h1 className="font-bold text-[30px] mb-[20px]">Edit Time Report</h1> | ||||
|       <NewTimeReport /> | ||||
|     </> | ||||
|   ); | ||||
| 
 | ||||
|   const buttons = ( | ||||
|     <> | ||||
|  |  | |||
|  | @ -1,8 +1,15 @@ | |||
| import BasicWindow from "../../Components/BasicWindow"; | ||||
| import Button from "../../Components/Button"; | ||||
| import NewTimeReport from "../../Components/TimeReport"; | ||||
| import { Link } from "react-router-dom"; | ||||
| 
 | ||||
| function UserNewTimeReportPage(): JSX.Element { | ||||
|   const content = <></>; | ||||
|   const content = ( | ||||
|     <> | ||||
|       <h1 className="font-bold text-[30px] mb-[20px]">New Time Report</h1> | ||||
|       <NewTimeReport /> | ||||
|     </> | ||||
|   ); | ||||
| 
 | ||||
|   const buttons = ( | ||||
|     <> | ||||
|  | @ -12,12 +19,14 @@ function UserNewTimeReportPage(): JSX.Element { | |||
|           return; | ||||
|         }} | ||||
|       /> | ||||
|       <Button | ||||
|         text="Back" | ||||
|         onClick={(): void => { | ||||
|           return; | ||||
|         }} | ||||
|       /> | ||||
|       <Link to="/project"> | ||||
|         <Button | ||||
|           text="Back" | ||||
|           onClick={(): void => { | ||||
|             return; | ||||
|           }} | ||||
|         /> | ||||
|       </Link> | ||||
|     </> | ||||
|   ); | ||||
| 
 | ||||
|  |  | |||
|  | @ -5,16 +5,16 @@ import Button from "../../Components/Button"; | |||
| function UserProjectPage(): JSX.Element { | ||||
|   const content = ( | ||||
|     <> | ||||
|       <Link to="/settingsPage"> | ||||
|         <h1 className="font-bold text-[30px] mb-[20px]">ProjectNameExample</h1> | ||||
|       </Link> | ||||
|       <h1 className="font-bold text-[30px] mb-[20px]">ProjectNameExample</h1> | ||||
|       <div className="border-4 border-black bg-white flex flex-col items-center justify-center min-h-[65vh] h-fit w-[50vw] rounded-3xl content-center overflow-scroll space-y-[10vh] p-[30px]"> | ||||
|         <h1 className="font-bold underline text-[30px] cursor-pointer"> | ||||
|           Your Time Reports | ||||
|         </h1> | ||||
|         <h1 className="font-bold underline text-[30px] cursor-pointer"> | ||||
|           New Time Report | ||||
|         </h1> | ||||
|         <Link to="/new-time-report"> | ||||
|           <h1 className="font-bold underline text-[30px] cursor-pointer"> | ||||
|             New Time Report | ||||
|           </h1> | ||||
|         </Link> | ||||
|       </div> | ||||
|     </> | ||||
|   ); | ||||
|  |  | |||
|  | @ -13,6 +13,22 @@ 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 AdminViewUserInfo from "./Pages/AdminPages/AdminViewUserInfo.tsx"; | ||||
| import AdminManageProjects from "./Pages/AdminPages/AdminManageProjects.tsx"; | ||||
| import AdminAddProject from "./Pages/AdminPages/AdminAddProject.tsx"; | ||||
| import AdminAddUser from "./Pages/AdminPages/AdminAddUser.tsx"; | ||||
| import AdminChangeUsername from "./Pages/AdminPages/AdminChangeUsername.tsx"; | ||||
| import AdminProjectAddMember from "./Pages/AdminPages/AdminProjectAddMember.tsx"; | ||||
| import AdminProjectChangeUserRole from "./Pages/AdminPages/AdminProjectChangeUserRole.tsx"; | ||||
| import AdminProjectManageMembers from "./Pages/AdminPages/AdminProjectManageMembers.tsx"; | ||||
| import AdminProjectStatistics from "./Pages/AdminPages/AdminProjectStatistics.tsx"; | ||||
| import AdminProjectViewMemberInfo from "./Pages/AdminPages/AdminProjectViewMemberInfo.tsx"; | ||||
| import AdminProjectPage from "./Pages/AdminPages/AdminProjectPage.tsx"; | ||||
| 
 | ||||
| // This is where the routes are mounted
 | ||||
| const router = createBrowserRouter([ | ||||
|  | @ -20,10 +36,6 @@ const router = createBrowserRouter([ | |||
|     path: "/", | ||||
|     element: <LoginPage />, | ||||
|   }, | ||||
|   { | ||||
|     path: "/admin-menu", | ||||
|     element: <AdminMenuPage />, | ||||
|   }, | ||||
|   { | ||||
|     path: "/your-projects", | ||||
|     element: <YourProjectsPage />, | ||||
|  | @ -60,6 +72,74 @@ const router = createBrowserRouter([ | |||
|     path: "/PM-project-page", | ||||
|     element: <PMProjectPage />, | ||||
|   }, | ||||
|   { | ||||
|     path: "/PM-time-activity", | ||||
|     element: <PMTotalTimeActivity />, | ||||
|   }, | ||||
|   { | ||||
|     path: "/PM-time-role", | ||||
|     element: <PMTotalTimeRole />, | ||||
|   }, | ||||
|   { | ||||
|     path: "/PM-unsigned-reports", | ||||
|     element: <PMUnsignedReports />, | ||||
|   }, | ||||
|   { | ||||
|     path: "/PM-view-unsigned-report", | ||||
|     element: <PMViewUnsignedReport />, | ||||
|   }, | ||||
|   { | ||||
|     path: "/admin-add-project", | ||||
|     element: <AdminAddProject />, | ||||
|   }, | ||||
|   { | ||||
|     path: "/admin-add-user", | ||||
|     element: <AdminAddUser />, | ||||
|   }, | ||||
|   { | ||||
|     path: "/admin-change-username", | ||||
|     element: <AdminChangeUsername />, | ||||
|   }, | ||||
|   { | ||||
|     path: "/admin-manage-projects", | ||||
|     element: <AdminManageProjects />, | ||||
|   }, | ||||
|   { | ||||
|     path: "/admin-manage-users", | ||||
|     element: <AdminManageUsers />, | ||||
|   }, | ||||
|   { | ||||
|     path: "/admin-menu", | ||||
|     element: <AdminMenuPage />, | ||||
|   }, | ||||
|   { | ||||
|     path: "/admin-project-add-member", | ||||
|     element: <AdminProjectAddMember />, | ||||
|   }, | ||||
|   { | ||||
|     path: "/admin-project-change-user-role", | ||||
|     element: <AdminProjectChangeUserRole />, | ||||
|   }, | ||||
|   { | ||||
|     path: "/admin-project-manage-members", | ||||
|     element: <AdminProjectManageMembers />, | ||||
|   }, | ||||
|   { | ||||
|     path: "/admin-project-page", | ||||
|     element: <AdminProjectPage />, | ||||
|   }, | ||||
|   { | ||||
|     path: "/admin-project-statistics", | ||||
|     element: <AdminProjectStatistics />, | ||||
|   }, | ||||
|   { | ||||
|     path: "/admin-project-view-members", | ||||
|     element: <AdminProjectViewMemberInfo />, | ||||
|   }, | ||||
|   { | ||||
|     path: "/admin-view-user", | ||||
|     element: <AdminViewUserInfo />, | ||||
|   }, | ||||
| ]); | ||||
| 
 | ||||
| // Semi-hacky way to get the root element
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Imbus
						Imbus