import React, { Suspense } from "react"; import { Switch } from "react-router-dom"; import { Permissions } from "../../utils/roles"; import { useUserContext } from "../Contexts/UserContext"; import { MessageBar } from "../MessageBar"; import { AuthRoute, TYPES } from "../Routes/AuthRoute"; const CANFilterCreate = React.lazy(() => import("../CANFilter/Add")); const CANFilterUpdate = React.lazy(() => import("../CANFilter/Update")); const IssuesList = React.lazy(() => import("../Issues/List")) const IssueInfo = React.lazy(() => import("../Issues/Info")) const CarsList = React.lazy(() => import("../Cars/List")); const CarStatus = React.lazy(() => import("../Cars/Status")); const CarUpdateStatus = React.lazy(() => import("../Cars/UpdateStatus")); const FleetsList = React.lazy(() => import("../Fleets/Table")); const FleetStatus = React.lazy(() => import("../Fleets/Status")); const FleetAddForm = React.lazy(() => import("../Fleets/Add")); const FleetUpdateForm = React.lazy(() => import("../Fleets/Update")); const FleetAddVehicleForm = React.lazy(() => import("../Fleets/Status/Vehicles/Add") ); const FleetAddCANFilterForm = React.lazy(() => import("../Fleets/Status/CANFilters/Add") ); const FleetUpdateCANFilterForm = React.lazy(() => import("../Fleets/Status/CANFilters/Update") ); const Home = React.lazy(() => import("../Home")); const Manifests = React.lazy(() => import("../Manifest/List")); const ManifestDeploy = React.lazy(() => import("../Manifest/Deploy")); const ManifestStatus = React.lazy(() => import("../Manifest/Status")); const ManifestUpdate = React.lazy(() => import("../Manifest/Update")); const PageNotFound = React.lazy(() => import("../404")); const SSOForm = React.lazy(() => import("../SSOForm")); const VehicleAddForm = React.lazy(() => import("../Cars/Add")); const VehicleUpdateForm = React.lazy(() => import("../Cars/Update")); const CertificateCreate = React.lazy(() => import("../Certificates/Add")); const SecurityDLL = React.lazy(() => import("../Magna/SecurityDLL")); const SMSSend = React.lazy(() => import("../SMS/Send")); const SuppliersList = React.lazy(() => import("../Suppliers/List")); const SupplierDetails = React.lazy(() => import("../Suppliers/Details")); const Datascope = React.lazy(() => import("../Dashboard")); const SiteRoutes = () => { const { token, groups, providers } = useUserContext(); return ( } type={TYPES.GUEST} token={token} /> } type={TYPES.PROTECTED} token={token} groups={groups} rolesPerGroup={Permissions.FiskerCreate} providers={providers} /> } type={TYPES.PROTECTED} token={token} groups={groups} rolesPerGroup={Permissions.FiskerCreate} providers={providers} /> } type={TYPES.PROTECTED} token={token} groups={groups} rolesPerGroup={Permissions.FiskerRead} providers={providers} /> } type={TYPES.PROTECTED} token={token} groups={groups} rolesPerGroup={Permissions.FiskerCreate} providers={providers} /> } type={TYPES.PROTECTED} token={token} groups={groups} rolesPerGroup={Permissions.FiskerCreate} providers={providers} /> } type={TYPES.PROTECTED} token={token} groups={groups} rolesPerGroup={Permissions.FiskerCreate} providers={providers} /> } type={TYPES.PROTECTED} token={token} groups={groups} rolesPerGroup={Permissions.FiskerRead} providers={providers} /> } type={TYPES.PROTECTED} token={token} groups={groups} rolesPerGroup={Permissions.FiskerCreate} providers={providers} /> } type={TYPES.PROTECTED} token={token} groups={groups} rolesPerGroup={Permissions.FiskerCreate} providers={providers} /> } type={TYPES.PROTECTED} token={token} /> } type={TYPES.PROTECTED} token={token} groups={groups} rolesPerGroup={Permissions.FiskerMagnaRead} providers={providers} /> } type={TYPES.PROTECTED} token={token} groups={groups} rolesPerGroup={Permissions.FiskerMagnaCreate} providers={providers} /> } type={TYPES.PROTECTED} token={token} groups={groups} rolesPerGroup={Permissions.FiskerMagnaRead} providers={providers} /> } type={TYPES.PROTECTED} token={token} groups={groups} rolesPerGroup={Permissions.FiskerRead} providers={providers} /> } type={TYPES.PROTECTED} token={token} groups={groups} rolesPerGroup={Permissions.FiskerRead} providers={providers} /> } type={TYPES.PROTECTED} token={token} groups={groups} rolesPerGroup={Permissions.FiskerRead} providers={providers} /> } type={TYPES.PROTECTED} token={token} groups={groups} rolesPerGroup={Permissions.FiskerMagnaRead} providers={providers} /> } type={TYPES.PROTECTED} token={token} groups={groups} rolesPerGroup={Permissions.FiskerCreate} providers={providers} /> } type={TYPES.PROTECTED} token={token} groups={groups} rolesPerGroup={Permissions.FiskerMagnaRead} providers={providers} /> } type={TYPES.PROTECTED} token={token} groups={groups} rolesPerGroup={Permissions.FiskerMagnaRead} providers={providers} /> } type={TYPES.PROTECTED} token={token} groups={groups} rolesPerGroup={Permissions.FiskerCreate} providers={providers} /> } type={TYPES.PROTECTED} token={token} groups={groups} rolesPerGroup={Permissions.FiskerMagnaCertificate} providers={providers} /> } type={TYPES.PROTECTED} token={token} groups={groups} rolesPerGroup={Permissions.Magna} providers={providers} /> } type={TYPES.PROTECTED} token={token} groups={groups} rolesPerGroup={Permissions.FiskerCreate} providers={providers} /> } type={TYPES.PROTECTED} token={token} groups={groups} rolesPerGroup={Permissions.FiskerSupplierAdmin} providers={providers} /> } type={TYPES.PROTECTED} token={token} groups={groups} rolesPerGroup={Permissions.FiskerSupplierAdmin} providers={providers} /> } type={TYPES.PROTECTED} token={token} groups={groups} rolesPerGroup={Permissions.FiskerRead} providers={providers} /> ); }; export default SiteRoutes;