322 lines
8.9 KiB
JavaScript
322 lines
8.9 KiB
JavaScript
import { Route, Routes } from "react-router-dom";
|
|
import { Constants, hasOnePermission, hasPermission } from "../../utils";
|
|
import { useAppContext } from "../../Contexts/AppContext";
|
|
import { lazy } from "react";
|
|
import { MySupsenseFallback } from "../MySupsenseFallback";
|
|
|
|
// Lazy-loaded components
|
|
const Dashboard = lazy(() => import("../../Pages/Dashboard"));
|
|
const GroupTasks = lazy(() => import("../../Pages/GroupTasks/Overview"));
|
|
const UserProfile = lazy(() => import("../../Pages/UserProfile"));
|
|
const Scanners = lazy(() => import("../../Pages/Scanners"));
|
|
const AdminAreaRoles = lazy(() => import("../../Pages/AdminArea/Roles"));
|
|
const AdminAreaLogs = lazy(() => import("../../Pages/AdminArea/Logs"));
|
|
const AdminAreaManage = lazy(() => import("../../Pages/AdminArea/Manage"));
|
|
const AllUsers = lazy(() => import("../../Pages/AllUsers"));
|
|
const GroupTasksHistory = lazy(() => import("../../Pages/GroupTasks/History"));
|
|
const PageNotFound = lazy(() => import("../../Pages/PageNotFound"));
|
|
const EquipmentDocumentationOverview = lazy(() =>
|
|
import("../../Pages/EquipmentDocumentation")
|
|
);
|
|
const ViewEquipmentDocumentations = lazy(() =>
|
|
import("../../Pages/EquipmentDocumentation/ViewEquipmentDocumentation")
|
|
);
|
|
const Consoles = lazy(() => import("../../Pages/Consoles"));
|
|
const RoboticsRobots = lazy(() => import("../../Pages/Robotics/Robots"));
|
|
// const Crm = lazy(() => import("../../Pages/Crm"));
|
|
const CrmTest = lazy(() => import("../../Pages/CrmTest/CrmTest"));
|
|
const CustomerFeedback = lazy(() => import("../../Pages/CustomerFeedback"));
|
|
|
|
export default function AppRoutes({ userSession, setUserSession }) {
|
|
const appContext = useAppContext();
|
|
|
|
console.info("appRoutes");
|
|
|
|
return (
|
|
<Routes>
|
|
<Route
|
|
path="/"
|
|
element={
|
|
<MySupsenseFallback>
|
|
<Dashboard />
|
|
</MySupsenseFallback>
|
|
}
|
|
/>
|
|
|
|
{hasPermission(
|
|
appContext.userPermissions,
|
|
Constants.PERMISSIONS.EQUIPMENT_DOCUMENTATION.VIEW
|
|
) && (
|
|
<Route
|
|
path={Constants.ROUTE_PATHS.EQUIPMENT_DOCUMENTATION}
|
|
element={
|
|
<MySupsenseFallback>
|
|
<EquipmentDocumentationOverview />
|
|
</MySupsenseFallback>
|
|
}
|
|
/>
|
|
)}
|
|
|
|
{hasPermission(
|
|
appContext.userPermissions,
|
|
Constants.PERMISSIONS.EQUIPMENT_DOCUMENTATION.VIEW
|
|
) && (
|
|
<Route
|
|
path={`${Constants.ROUTE_PATHS.EQUIPMENT_DOCUMENTATION_VIEW}:paramStockId`}
|
|
element={
|
|
<MySupsenseFallback>
|
|
<ViewEquipmentDocumentations />
|
|
</MySupsenseFallback>
|
|
}
|
|
/>
|
|
)}
|
|
|
|
{hasPermission(
|
|
appContext.userPermissions,
|
|
Constants.PERMISSIONS.EQUIPMENT_DOCUMENTATION.EDIT
|
|
) && (
|
|
<Route
|
|
path={`${Constants.ROUTE_PATHS.EQUIPMENT_DOCUMENTATION_VIEW}:paramStockId/edit/:paramDocumentationId`}
|
|
element={
|
|
<MySupsenseFallback>
|
|
<ViewEquipmentDocumentations
|
|
isEditEquipmentDocumentationModalOpen={true}
|
|
/>
|
|
</MySupsenseFallback>
|
|
}
|
|
/>
|
|
)}
|
|
|
|
{hasPermission(
|
|
appContext.userPermissions,
|
|
Constants.PERMISSIONS.EQUIPMENT_DOCUMENTATION.CREATE
|
|
) && (
|
|
<Route
|
|
path={`${Constants.ROUTE_PATHS.EQUIPMENT_DOCUMENTATION_VIEW}:paramStockId/create`}
|
|
element={
|
|
<MySupsenseFallback>
|
|
<ViewEquipmentDocumentations
|
|
isCreateEquipmentDocumentationModalOpen={true}
|
|
/>
|
|
</MySupsenseFallback>
|
|
}
|
|
/>
|
|
)}
|
|
|
|
<Route
|
|
path={`${Constants.ROUTE_PATHS.GROUP_TASKS}:paramCategory`}
|
|
element={
|
|
<MySupsenseFallback>
|
|
<GroupTasks isGroupTasksViewModalOpen={false} />
|
|
</MySupsenseFallback>
|
|
}
|
|
/>
|
|
|
|
<Route
|
|
path={`${Constants.ROUTE_PATHS.GROUP_TASKS}:paramCategory/view/:paramGroupTaskId`}
|
|
element={
|
|
<MySupsenseFallback>
|
|
<GroupTasks isGroupTasksViewModalOpen={true} />
|
|
</MySupsenseFallback>
|
|
}
|
|
/>
|
|
|
|
{hasPermission(
|
|
appContext.userPermissions,
|
|
Constants.PERMISSIONS.GROUP_TASKS.HISTORY
|
|
) && (
|
|
<Route
|
|
path={Constants.ROUTE_PATHS.GROUP_TASKS_HISTORY}
|
|
element={
|
|
<MySupsenseFallback>
|
|
<GroupTasksHistory />
|
|
</MySupsenseFallback>
|
|
}
|
|
/>
|
|
)}
|
|
|
|
<Route
|
|
path={Constants.ROUTE_PATHS.SCANNERS}
|
|
element={
|
|
<MySupsenseFallback>
|
|
<Scanners />
|
|
</MySupsenseFallback>
|
|
}
|
|
/>
|
|
|
|
<Route
|
|
path={Constants.ROUTE_PATHS.USERS}
|
|
element={
|
|
<MySupsenseFallback>
|
|
<AllUsers />
|
|
</MySupsenseFallback>
|
|
}
|
|
/>
|
|
|
|
<Route
|
|
path={Constants.ROUTE_PATHS.USER_PROFILE}
|
|
element={
|
|
<MySupsenseFallback>
|
|
<UserProfile
|
|
userSession={userSession}
|
|
setUserSession={setUserSession}
|
|
/>
|
|
</MySupsenseFallback>
|
|
}
|
|
/>
|
|
|
|
{hasOnePermission(
|
|
appContext.userPermissions,
|
|
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={Constants.ROUTE_PATHS.ADMIN_AREA_ROLES}
|
|
element={
|
|
<MySupsenseFallback>
|
|
<AdminAreaRoles />
|
|
</MySupsenseFallback>
|
|
}
|
|
/>
|
|
)}
|
|
|
|
{hasPermission(
|
|
appContext.userPermissions,
|
|
Constants.PERMISSIONS.ADMIN_AREA.LOGS
|
|
) && (
|
|
<Route
|
|
path={Constants.ROUTE_PATHS.ADMIN_AREA_LOGS}
|
|
element={
|
|
<MySupsenseFallback>
|
|
<AdminAreaLogs />
|
|
</MySupsenseFallback>
|
|
}
|
|
/>
|
|
)}
|
|
|
|
{hasOnePermission(
|
|
appContext.userPermissions,
|
|
Constants.PERMISSIONS.ADMIN_AREA.MANAGE
|
|
.CHECK_WHICH_CATEGORIES_ARE_AVAILABLE,
|
|
Constants.PERMISSIONS.ADMIN_AREA.MANAGE
|
|
.ADD_LOG_MANAGER_SERVER_CONNECTION,
|
|
Constants.PERMISSIONS.ADMIN_AREA.MANAGE
|
|
.REMOVE_LOG_MANAGER_SERVER_CONNECTION
|
|
) && (
|
|
<Route
|
|
path={Constants.ROUTE_PATHS.ADMIN_AREA_MANAGE}
|
|
element={
|
|
<MySupsenseFallback>
|
|
<AdminAreaManage />
|
|
</MySupsenseFallback>
|
|
}
|
|
/>
|
|
)}
|
|
|
|
{hasPermission(
|
|
appContext.userPermissions,
|
|
Constants.PERMISSIONS.CONSOLES.VIEW
|
|
) && (
|
|
<Route
|
|
path={Constants.ROUTE_PATHS.CONSOLES}
|
|
element={
|
|
<MySupsenseFallback>
|
|
<Consoles />
|
|
</MySupsenseFallback>
|
|
}
|
|
/>
|
|
)}
|
|
|
|
{hasPermission(
|
|
appContext.userPermissions,
|
|
Constants.PERMISSIONS.ROBOTICS.ROBOTS.VIEW
|
|
) && (
|
|
<Route
|
|
path={Constants.ROUTE_PATHS.ROBOTICS_ROBOTS}
|
|
element={
|
|
<MySupsenseFallback>
|
|
<RoboticsRobots />
|
|
</MySupsenseFallback>
|
|
}
|
|
/>
|
|
)}
|
|
|
|
{hasOnePermission(
|
|
appContext.userPermissions,
|
|
Constants.PERMISSIONS.CRM.CUSTOMERS.VIEW,
|
|
Constants.PERMISSIONS.CRM.DMC_PIPELINE.VIEW,
|
|
Constants.PERMISSIONS.CRM.SETTER_CLOSER.VIEW
|
|
) && (
|
|
<Route
|
|
path={Constants.ROUTE_PATHS.CRM_TEST}
|
|
element={
|
|
<MySupsenseFallback>
|
|
<CrmTest />
|
|
</MySupsenseFallback>
|
|
}
|
|
/>
|
|
)}
|
|
|
|
{hasPermission(
|
|
appContext.userPermissions,
|
|
Constants.PERMISSIONS.CUSTOMERFEEDBACK.VIEW
|
|
) && (
|
|
<Route
|
|
path={Constants.ROUTE_PATHS.CUSTOMERFEEDBACK_VIEW}
|
|
element={
|
|
<MySupsenseFallback>
|
|
<CustomerFeedback />
|
|
</MySupsenseFallback>
|
|
}
|
|
/>
|
|
)}
|
|
|
|
{hasPermission(
|
|
appContext.userPermissions,
|
|
Constants.PERMISSIONS.CUSTOMERFEEDBACK.VIEW
|
|
) && (
|
|
<Route
|
|
path={`${Constants.ROUTE_PATHS.CUSTOMERFEEDBACK_VIEW}/:paramOrigin`}
|
|
element={
|
|
<MySupsenseFallback>
|
|
<CustomerFeedback />
|
|
</MySupsenseFallback>
|
|
}
|
|
/>
|
|
)}
|
|
|
|
<Route
|
|
path="*"
|
|
element={
|
|
<MySupsenseFallback>
|
|
<PageNotFound />
|
|
</MySupsenseFallback>
|
|
}
|
|
/>
|
|
</Routes>
|
|
);
|
|
}
|
|
|
|
/*
|
|
|
|
|
|
|
|
{hasOnePermission(
|
|
appContext.userPermissions,
|
|
Constants.PERMISSIONS.CRM.CUSTOMERS.VIEW,
|
|
Constants.PERMISSIONS.CRM.DMC_PIPELINE.VIEW,
|
|
Constants.PERMISSIONS.CRM.SETTER_CLOSER.VIEW
|
|
) && (
|
|
<Route
|
|
path={`${Constants.ROUTE_PATHS.CRM}:paramType/:paramDealPhase`}
|
|
element={
|
|
<MySupsenseFallback>
|
|
<Crm />
|
|
</MySupsenseFallback>
|
|
}
|
|
/>
|
|
)}
|
|
*/
|