99 lines
3.0 KiB
JavaScript
99 lines
3.0 KiB
JavaScript
import { Route, Routes } from "react-router-dom";
|
|
import Dashboard from "../../Pages/Dashboard";
|
|
import {
|
|
Constants,
|
|
WebSocketContext,
|
|
hasOnePermission,
|
|
hasPermission,
|
|
} from "../../utils";
|
|
import UserProfile from "../../Pages/UserProfile";
|
|
import Scanners from "../../Pages/Scanners";
|
|
import AdminAreaRoles from "../../Pages/AdminArea/Roles";
|
|
import AdminAreaLogs from "../../Pages/AdminArea/Logs";
|
|
import AllUsers from "../../Pages/AllUsers";
|
|
import { useContext } from "react";
|
|
import GroupTasks from "../../Pages/GroupTasks/Overview";
|
|
import GroupTasksHistory from "../../Pages/GroupTasks/History";
|
|
import PageNotFound from "../../Pages/PageNotFound";
|
|
import EquipmentDocumentation from "../../Pages/EquipmentDocumentation";
|
|
|
|
export default function AppRoutes() {
|
|
const webSocketContext = useContext(WebSocketContext);
|
|
|
|
/*
|
|
TODO: move down
|
|
{hasPermission(
|
|
webSocketContext.User.Permissions,
|
|
Constants.PERMISSIONS.EQUIPMENT_DOCUMENTATION.VIEW
|
|
) && (
|
|
<Route
|
|
path="/equipment-documentation"
|
|
element={<EquipmentDocumentation />}
|
|
/>
|
|
)}
|
|
*/
|
|
|
|
return (
|
|
<Routes>
|
|
<Route path="/" element={<Dashboard />} />
|
|
|
|
<Route
|
|
path={Constants.ROUTE_PATHS.EQUIPMENT_DOCUMENTATION}
|
|
element={<EquipmentDocumentation isEquipmentViewModalOpen={false} />}
|
|
/>
|
|
|
|
<Route
|
|
path={
|
|
Constants.ROUTE_PATHS.EQUIPMENT_DOCUMENTATION_VIEW +
|
|
":paramEquipmentId"
|
|
}
|
|
element={<EquipmentDocumentation isEquipmentViewModalOpen={true} />}
|
|
/>
|
|
|
|
<Route
|
|
path={Constants.ROUTE_PATHS.GROUP_TASKS}
|
|
element={<GroupTasks isGroupTasksViewModalOpen={false} />}
|
|
/>
|
|
|
|
<Route
|
|
path={Constants.ROUTE_PATHS.GROUP_TASKS_VIEW + ":paramGroupTaskId"}
|
|
element={<GroupTasks isGroupTasksViewModalOpen={true} />}
|
|
/>
|
|
|
|
{hasPermission(
|
|
webSocketContext.User.Permissions,
|
|
Constants.PERMISSIONS.GROUP_TASKS.HISTORY
|
|
) && (
|
|
<Route
|
|
path={Constants.ROUTE_PATHS.GROUP_TASKS + "-history"}
|
|
element={<GroupTasksHistory />}
|
|
/>
|
|
)}
|
|
|
|
{hasPermission(
|
|
webSocketContext.User.Permissions,
|
|
Constants.PERMISSIONS.SCANNER.USE_SCANNERS
|
|
) && <Route path="/scanners" element={<Scanners />} />}
|
|
|
|
<Route path="/users" element={<AllUsers />} />
|
|
|
|
<Route path="/user-profile" element={<UserProfile />} />
|
|
|
|
{hasOnePermission(
|
|
webSocketContext.User.Permissions,
|
|
Constants.PERMISSIONS.ADMIN_AREA.ROLES.CREATE_NEW_ROLE,
|
|
Constants.PERMISSIONS.ADMIN_AREA.ROLES.UPDATE_ROLE,
|
|
Constants.PERMISSIONS.ADMIN_AREA.ROLES.DELETE_ROLE,
|
|
Constants.PERMISSIONS.ADMIN_AREA.ROLES.MOVE_ROLE_UP_DOWN
|
|
) && <Route path="/admin-area/roles" element={<AdminAreaRoles />} />}
|
|
|
|
{hasPermission(
|
|
webSocketContext.User.Permissions,
|
|
Constants.PERMISSIONS.ADMIN_AREA.LOGS
|
|
) && <Route path="/admin-area/logs" element={<AdminAreaLogs />} />}
|
|
|
|
<Route path="*" element={<PageNotFound />} />
|
|
</Routes>
|
|
);
|
|
}
|