123 lines
3.7 KiB
TypeScript
123 lines
3.7 KiB
TypeScript
import { lazy, FC, Suspense } from "react";
|
|
import { Route, Routes, Navigate } from "react-router-dom";
|
|
import { MasterLayout } from "../../_digifi/layout/MasterLayout";
|
|
import TopBarProgress from "react-topbar-progress-indicator";
|
|
import { DashboardWrapper } from "../pages/dashboard/DashboardWrapper";
|
|
// import {MenuTestPage} from '../pages/MenuTestPage'
|
|
import { getCSSVariableValue } from "../../_digifi/assets/ts/_utils";
|
|
import { WithChildren } from "../../_digifi/helpers";
|
|
import HelpPage from "../modules/help/HelpPage";
|
|
// import BuilderPageWrapper from '../pages/layout-builder/BuilderPageWrapper'
|
|
|
|
const PrivateRoutes = () => {
|
|
// const WizardsPage = lazy(() => import('../modules/wizards/WizardsPage'))
|
|
// const AccountPage = lazy(() => import('../modules/accounts/AccountPage'))
|
|
// const WidgetsPage = lazy(() => import('../modules/widgets/WidgetsPage'))
|
|
// const ChatPage = lazy(() => import('../modules/apps/chat/ChatPage'))
|
|
const ProcessPage = lazy(() => import("../modules/process/ProcessPage"));
|
|
const UsersPage = lazy(
|
|
() => import("../modules/apps/user-management/UsersPage")
|
|
);
|
|
const EmployersPage = lazy(
|
|
() => import("../modules/employers/employers-list/UsersPage")
|
|
);
|
|
const ApproveRejectRoutes = lazy(
|
|
() => import("../modules/process/approve-reject-page/ApproveRejectRoutes")
|
|
);
|
|
|
|
return (
|
|
<Routes>
|
|
<Route element={<MasterLayout />}>
|
|
{/* Redirect to Dashboard after success login/registartion */}
|
|
<Route path="auth/*" element={<Navigate to="/dashboard" />} />
|
|
{/* Pages */}
|
|
<Route path="dashboard" element={<DashboardWrapper />} />
|
|
{/* <Route path='builder' element={<BuilderPageWrapper />} /> */}
|
|
{/* <Route path='menu-test' element={<MenuTestPage />} /> */}
|
|
{/* Lazy Modules */}
|
|
<Route
|
|
path="loan/pages/process/*"
|
|
element={
|
|
<SuspensedView>
|
|
<ProcessPage />
|
|
</SuspensedView>
|
|
}
|
|
/>
|
|
<Route
|
|
path="loan/verified/*"
|
|
element={
|
|
<SuspensedView>
|
|
<ApproveRejectRoutes />
|
|
</SuspensedView>
|
|
}
|
|
/>
|
|
{/* <Route
|
|
path='crafted/pages/wizards/*'
|
|
element={
|
|
<SuspensedView>
|
|
<WizardsPage />
|
|
</SuspensedView>
|
|
}
|
|
/> */}
|
|
{/* <Route
|
|
path='crafted/widgets/*'
|
|
element={
|
|
<SuspensedView>
|
|
<WidgetsPage />
|
|
</SuspensedView>
|
|
}
|
|
/> */}
|
|
{/* <Route
|
|
path='crafted/account/*'
|
|
element={
|
|
<SuspensedView>
|
|
<AccountPage />
|
|
</SuspensedView>
|
|
}
|
|
/> */}
|
|
{/* <Route
|
|
path='apps/chat/*'
|
|
element={
|
|
<SuspensedView>
|
|
<ChatPage />
|
|
</SuspensedView>
|
|
}
|
|
/> */}
|
|
<Route
|
|
path="tools/user-management/*"
|
|
element={
|
|
<SuspensedView>
|
|
<UsersPage />
|
|
</SuspensedView>
|
|
}
|
|
/>
|
|
<Route
|
|
path="/employers/*"
|
|
element={
|
|
<SuspensedView>
|
|
<EmployersPage />
|
|
</SuspensedView>
|
|
}
|
|
/>
|
|
<Route path='/help' element={<HelpPage />} />
|
|
{/* Page Not Found */}
|
|
<Route path="*" element={<Navigate to="/error/404" />} />
|
|
</Route>
|
|
</Routes>
|
|
);
|
|
};
|
|
|
|
const SuspensedView: FC<WithChildren> = ({ children }) => {
|
|
const baseColor = getCSSVariableValue("--bs-primary");
|
|
TopBarProgress.config({
|
|
barColors: {
|
|
"0": baseColor,
|
|
},
|
|
barThickness: 1,
|
|
shadowBlur: 5,
|
|
});
|
|
return <Suspense fallback={<TopBarProgress />}>{children}</Suspense>;
|
|
};
|
|
|
|
export { PrivateRoutes };
|