diff --git a/src/App.tsx b/src/App.tsx index f7c0d32..e23764e 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,3 +1,4 @@ +import { lazy, Suspense } from "react"; import React, { useEffect } from "react"; import { Routes, Route, Navigate, useNavigate } from "react-router-dom"; import { Helmet, HelmetProvider, HtmlProps } from "react-helmet-async"; @@ -5,50 +6,90 @@ import { ToastContainer } from "react-toastify"; import { useTranslation } from "react-i18next"; import config from "./config.json"; import authentication from "./modules/frame/services/authenticationService"; -import ForgotPassword from "./modules/frame/components/ForgotPassword"; -import NotFound from "./modules/frame/components/NotFound"; -import Logout from "./modules/frame/components/Logout"; -import LoginForm from "./modules/frame/components/LoginForm"; -import Mainframe from "./modules/frame/components/Mainframe"; -import EmailUserAction from "./modules/frame/components/EmailUserAction"; import { HashNavigationProvider } from "./utils/HashNavigationContext"; - -import HomePage from "./modules/homepage/HomePage"; -import Profile from "./modules/profile/Profile"; -import EnvPage from "./modules/homepage/Env"; -import Sequence from "./modules/manager/sequence/sequence"; -import HOCSequenceDetails from "./modules/manager/sequence/SequenceDetails"; -import CustomFields from "./modules/manager/customfields/customFields"; -import HOCCustomFieldDetails from "./modules/manager/customfields/customFieldDetails"; -import Forms from "./modules/manager/forms/Forms"; -import HOCFormsDetails from "./modules/manager/forms/FormsDetails"; -import HOCGlossaries from "./modules/manager/glossary/Glossary"; -import HOCGlossariesDetails from "./modules/manager/glossary/GlossariesDetails"; -import HOCAudit from "./modules/audit/audit"; -import Domains from "./modules/manager/domains/Domains"; -import DomainsDetails from "./modules/manager/domains/DomainsDetails"; -import Users from "./modules/manager/users/users"; -import UserDetails from "./modules/manager/users/UserDetails"; -import RolesDetails from "./modules/manager/domains/components/RolesDetails"; -import AddUserToRole from "./modules/manager/domains/components/AddUserToRole"; -import LoginFrame from "./modules/frame/components/loginFrame"; import theme from "./utils/theme"; -import Organisations from "./modules/manager/organisations/Organisations"; -import HOCOrganisationsDetails from "./modules/manager/organisations/OrganisationsDetails"; -import Sites from "./modules/manager/sites/Sites"; -import SiteDetails from "./modules/manager/sites/SiteDetails"; -import Specifications from "./modules/manager/specifications/Specifications"; -import SpecificationsDetails from "./modules/manager/specifications/SpecificationsDetails"; -import BlockedIPs from "./modules/blockedIPs/blockedIPs"; -import ErrorLogs from "./modules/errorLogs/errorLogs"; -import SsoManager from "./modules/manager/ssoManager/ssoManager"; -import SsoProviderDetails from "./modules/manager/ssoManager/SsoProviderDetails"; import { Namespaces } from "./i18n/i18n"; -import WorkflowTemplateManager from "./modules/manager/workflowTemplates/WorkflowTemplateManager"; -import WorkflowTemplateDetails from "./modules/manager/workflowTemplates/WorkflowTemplateDetails"; -import CreateActivity from "./modules/manager/activity/CreateActivity"; -import Tasks from "./modules/manager/tasks/tasks"; -import AssignmentComplete from "./modules/manager/task/assignments/AssignmentComplete"; + +const ForgotPassword = lazy( + () => import("./modules/frame/components/ForgotPassword"), +); +const NotFound = lazy(() => import("./modules/frame/components/NotFound")); +const Logout = lazy(() => import("./modules/frame/components/Logout")); +const LoginForm = lazy(() => import("./modules/frame/components/LoginForm")); +const Mainframe = lazy(() => import("./modules/frame/components/Mainframe")); +const EmailUserAction = lazy( + () => import("./modules/frame/components/EmailUserAction"), +); +const HomePage = lazy(() => import("./modules/homepage/HomePage")); +const Profile = lazy(() => import("./modules/profile/Profile")); +const EnvPage = lazy(() => import("./modules/homepage/Env")); +const Sequence = lazy(() => import("./modules/manager/sequence/sequence")); +const HOCSequenceDetails = lazy( + () => import("./modules/manager/sequence/SequenceDetails"), +); +const CustomFields = lazy( + () => import("./modules/manager/customfields/customFields"), +); +const HOCCustomFieldDetails = lazy( + () => import("./modules/manager/customfields/customFieldDetails"), +); +const Forms = lazy(() => import("./modules/manager/forms/Forms")); +const HOCFormsDetails = lazy( + () => import("./modules/manager/forms/FormsDetails"), +); +const HOCGlossaries = lazy(() => import("./modules/manager/glossary/Glossary")); +const HOCGlossariesDetails = lazy( + () => import("./modules/manager/glossary/GlossariesDetails"), +); +const HOCAudit = lazy(() => import("./modules/audit/audit")); +const Domains = lazy(() => import("./modules/manager/domains/Domains")); +const DomainsDetails = lazy( + () => import("./modules/manager/domains/DomainsDetails"), +); +const Users = lazy(() => import("./modules/manager/users/users")); +const UserDetails = lazy(() => import("./modules/manager/users/UserDetails")); +const RolesDetails = lazy( + () => import("./modules/manager/domains/components/RolesDetails"), +); +const AddUserToRole = lazy( + () => import("./modules/manager/domains/components/AddUserToRole"), +); +const LoginFrame = lazy(() => import("./modules/frame/components/loginFrame")); +const Organisations = lazy( + () => import("./modules/manager/organisations/Organisations"), +); +const HOCOrganisationsDetails = lazy( + () => import("./modules/manager/organisations/OrganisationsDetails"), +); +const Sites = lazy(() => import("./modules/manager/sites/Sites")); +const SiteDetails = lazy(() => import("./modules/manager/sites/SiteDetails")); +const Specifications = lazy( + () => import("./modules/manager/specifications/Specifications"), +); +const SpecificationsDetails = lazy( + () => import("./modules/manager/specifications/SpecificationsDetails"), +); +const BlockedIPs = lazy(() => import("./modules/blockedIPs/blockedIPs")); +const ErrorLogs = lazy(() => import("./modules/errorLogs/errorLogs")); +const SsoManager = lazy( + () => import("./modules/manager/ssoManager/ssoManager"), +); +const SsoProviderDetails = lazy( + () => import("./modules/manager/ssoManager/SsoProviderDetails"), +); +const WorkflowTemplateManager = lazy( + () => import("./modules/manager/workflowTemplates/WorkflowTemplateManager"), +); +const WorkflowTemplateDetails = lazy( + () => import("./modules/manager/workflowTemplates/WorkflowTemplateDetails"), +); +const CreateActivity = lazy( + () => import("./modules/manager/activity/CreateActivity"), +); +const Tasks = lazy(() => import("./modules/manager/tasks/tasks")); +const AssignmentComplete = lazy( + () => import("./modules/manager/task/assignments/AssignmentComplete"), +); function GetSecureRoutes() { const { t } = useTranslation(Namespaces.Common);