import { Suspense, type ReactNode } from "react";
import { Navigate, Route, Routes } from "react-router-dom";
import { RoutePageFallback } from "../components/common/RoutePageFallback";
import { AppShellLayout } from "../layouts/AppShellLayout";
import { AuthLayout } from "../layouts/AuthLayout";
import { BudgetsPage } from "../pages/BudgetsPage";
import { ChangePasswordPage } from "../pages/ChangePasswordPage";
import { DashboardPage } from "../pages/DashboardPage";
import { ForbiddenPage } from "../pages/ForbiddenPage";
import { LoginPage } from "../pages/LoginPage";
import { NotFoundPage } from "../pages/NotFoundPage";
import { ProfilePage } from "../pages/ProfilePage";
import {
ApOperationsPage,
ApprovalRulesPage,
AnnouncementsPage,
AttendancePage,
AssetRegistryPage,
AuditLogsPage,
CutoverConsolePage,
EmployeeProfilePage,
DelegationsPage,
DepartmentsPage,
ErpIntegrationPage,
ExpenseStandardsPage,
FeatureFlagsPage,
InventoryChecksPage,
InvoicePoolPage,
LeaveRequestPage,
MasterDataPage,
MobileApprovalsPage,
MobileAssetScanPage,
MobileCapturePage,
MobileMePage,
MobilePortalPage,
NotificationChannelsPage,
NotificationsPage,
OrganizationPage,
PayrollPage,
PerformancePage,
PaymentBatchesPage,
PeoplePage,
PeopleStatsPage,
PortalAnnouncementsPage,
PortalHomePage,
ProjectsPage,
ProjectDetailPage,
ContractsRegistryPage,
SystemSettingsPage,
TeamPresencePage,
TodosPage,
PurchaseRequestsPage,
ReimbursementDetailPage,
ReimbursementDashboardPage,
ReimbursementPrintPage,
ReimbursementTemplatesPage,
ReimbursementsPage,
TravelRequestsPage,
UserManagementPage,
WeeklyReportsPage,
WorkspaceSetupPage,
WorkflowDefinitionsPage,
WorkflowTaskDetailPage,
WorkflowTasksPage,
} from "./lazy";
import { GuestOnly, RequireAuth, RequirePermission } from "./guards";
function withRouteFallback(node: ReactNode) {
return }>{node};
}
export function AppRouter() {
return (
}
>
} />
}
>
} />
}
>
} />
)} />
)} />
)} />
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
)} />
)} />
} />
}
/>
)}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
)} />
)} />
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
)} />
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
)} />
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
{withRouteFallback()}
}
/>
} />
} />
} />
);
}