import React, { Suspense } from "react"; import { createBrowserRouter, Navigate } from "react-router-dom"; import { RequireAuth, RequireRole, RequireOnboardingComplete } from "./guards"; // Layouts const ClientLayout = React.lazy(() => import("../layouts/ClientLayout")); const AdminLayout = React.lazy(() => import("../layouts/AdminLayout")); // Pages (Lazy Loaded) const LoginPage = React.lazy(() => import("../../pages/LoginPage").then((m) => ({ default: m.LoginPage })), ); const InvitePage = React.lazy(() => import("../../pages/InvitePage").then((m) => ({ default: m.InvitePage })), ); const DashboardPage = React.lazy(() => import("../../pages/DashboardPage").then((m) => ({ default: m.DashboardPage, })), ); const AssetsPage = React.lazy(() => import("../../pages/AssetsPage").then((m) => ({ default: m.AssetsPage })), ); const ApprovalsPage = React.lazy(() => import("../../pages/admin/ApprovalsPage").then((m) => ({ default: m.ApprovalsPage, })), ); const DirectoryPage = React.lazy(() => import("../../pages/admin/DirectoryPage").then((m) => ({ default: m.DirectoryPage, })), ); const OnboardingPage = React.lazy(() => import("../../pages/OnboardingPage").then((m) => ({ default: m.OnboardingPage, })), ); const LegalTemplatesPage = React.lazy(() => import("../../pages/admin/LegalTemplatesPage").then((m) => ({ default: m.LegalTemplatesPage, })), ); const ClientAgreementsPage = React.lazy(() => import("../../pages/ClientAgreementsPage").then((m) => ({ default: m.ClientAgreementsPage, })), ); const EcosystemPage = React.lazy(() => import("../../pages/EcosystemPage").then((m) => ({ default: m.EcosystemPage, })), ); const GroupDetailsPage = React.lazy(() => import("../../pages/admin/GroupDetailsPage").then((m) => ({ default: m.GroupDetailsPage, })), ); const EcosystemManagerPage = React.lazy(() => import("../../pages/admin/EcosystemManagerPage").then((m) => ({ default: m.EcosystemManagerPage, })), ); // Dummy Components for routing const LoadingFallback = () => (