Made a change to the app.tsx to lazy load the routes, helping the application performance.

This commit is contained in:
Colin Dawson 2026-03-18 11:29:18 +00:00
parent 408a5b6457
commit d36b051bad

View File

@ -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);