diff --git a/admin.log b/admin.log new file mode 100644 index 0000000..76e78d2 --- /dev/null +++ b/admin.log @@ -0,0 +1,961 @@ + +> dev +> vinxi dev + +vinxi v0.5.11 +vinxi found vinxi app config in vite.config.ts +vinxi starting dev server + + ➜ Local: http://localhost:3000/ + ➜ Network: use --host to expose + +3:56:34 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +3:56:34 PM [vite] (client) page reload src/routes/admin/company.tsx +3:56:34 PM [vite] (ssr) page reload vinxi/routes +3:56:34 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +3:56:34 PM [vite] (ssr) page reload vinxi/routes +3:57:27 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +3:57:27 PM [vite] (client) hmr update /src/routes/admin/approval.tsx, /src/app.css, /@fs/Users/ashwin/workspace/nxtgauge-admin-solid/src/routes/admin/approval.tsx?pick=default&pick=$css +3:57:27 PM [vite] (ssr) page reload vinxi/routes +3:57:27 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +3:57:27 PM [vite] (ssr) page reload vinxi/routes +3:57:27 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +3:57:27 PM [vite] (client) page reload src/routes/admin/jobs.tsx +3:57:27 PM [vite] (ssr) page reload vinxi/routes +3:57:27 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +3:57:27 PM [vite] (ssr) page reload vinxi/routes +3:57:27 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +3:57:27 PM [vite] (client) page reload src/routes/admin/kb.tsx +3:57:27 PM [vite] (ssr) page reload vinxi/routes +3:57:27 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +3:57:27 PM [vite] (ssr) page reload vinxi/routes +3:57:27 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +3:57:27 PM [vite] (client) page reload src/routes/admin/leads.tsx +3:57:27 PM [vite] (ssr) page reload vinxi/routes +3:57:27 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +3:57:27 PM [vite] (ssr) page reload vinxi/routes +3:57:27 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +3:57:27 PM [vite] (client) page reload src/routes/admin/photographer.tsx +3:57:27 PM [vite] (ssr) page reload vinxi/routes +3:57:27 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +3:57:27 PM [vite] (ssr) page reload vinxi/routes +3:57:27 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +3:57:27 PM [vite] (client) hmr update /src/routes/admin/users.tsx, /src/app.css +3:57:27 PM [vite] (ssr) page reload vinxi/routes +3:57:27 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +3:57:27 PM [vite] (ssr) page reload vinxi/routes +3:57:27 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +3:57:27 PM [vite] (client) page reload src/routes/admin/verification-status.tsx +3:57:27 PM [vite] (ssr) page reload vinxi/routes +3:57:27 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +3:57:27 PM [vite] (ssr) page reload vinxi/routes +3:57:27 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +3:57:27 PM [vite] (client) hmr update /src/routes/admin/verification.tsx, /src/app.css, /@fs/Users/ashwin/workspace/nxtgauge-admin-solid/src/routes/admin/verification.tsx?pick=default&pick=$css +3:57:27 PM [vite] (ssr) page reload vinxi/routes +3:57:27 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +3:57:27 PM [vite] (ssr) page reload vinxi/routes +3:57:27 PM [vite] (client) page reload src/routes/admin/approval/index.tsx +3:57:27 PM [vite] (client) page reload src/routes/admin/verification/index.tsx +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) hmr update /@fs/Users/ashwin/workspace/nxtgauge-admin-solid/src/entry-client.tsx, /src/app.css +4:03:29 PM [vite] (client) hmr update /src/components/AdminShell.tsx, /src/app.css +4:03:29 PM [vite] (client) hmr update /src/components/AdminSidebar.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/components/admin/ExternalRoleForm.tsx +4:03:29 PM [vite] (client) page reload src/components/admin/ProfessionAdminListPage.tsx +4:03:29 PM [vite] (client) page reload src/components/admin/UserListPage.tsx +4:03:29 PM [vite] (client) page reload src/components/admin/OnboardingManagementTabs.tsx +4:03:29 PM [vite] (client) hmr update /src/components/admin/DashboardDesignPreview.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/components/admin/OnboardingFlowBuilder.tsx +4:03:29 PM [vite] (client) page reload src/components/admin/RoleUserManagementTablePage.tsx +4:03:29 PM [vite] (client) page reload src/components/admin/AdminUi.tsx +4:03:29 PM [vite] (client) page reload src/components/admin/ExternalRoleTabs.tsx +4:03:29 PM [vite] (client) page reload src/stories/Button.stories.ts +4:03:29 PM [vite] (client) page reload src/stories/Page.stories.ts +4:03:29 PM [vite] (client) page reload src/stories/admin/AdminPages.stories.tsx +4:03:29 PM [vite] (client) page reload src/stories/AdminDashboard.stories.tsx +4:03:29 PM [vite] (client) page reload src/stories/Header.tsx +4:03:29 PM [vite] (client) page reload src/stories/Button.tsx +4:03:29 PM [vite] (client) page reload src/stories/Page.tsx +4:03:29 PM [vite] (client) page reload src/stories/Header.stories.ts +4:03:29 PM [vite] (client) page reload src/entry-server.tsx +4:03:29 PM [vite] (ssr) page reload src/entry-server.tsx +4:03:29 PM [vite] (client) hmr update /src/app.css, /src/components/AdminShell.tsx +4:03:29 PM [vite] (client) page reload src/lib/runtime/storage.ts +4:03:29 PM [vite] (client) page reload src/lib/runtime/types.ts +4:03:29 PM [vite] (client) page reload src/lib/admin/dashboard.ts +4:03:29 PM [vite] (client) page reload src/lib/admin/types.ts +4:03:29 PM [vite] (client) page reload src/lib/admin/client.ts +4:03:29 PM [vite] (client) hmr update /src/app.css, /src/components/AdminShell.tsx +4:03:29 PM [vite] (client) page reload src/lib/admin/module-access.test.ts +4:03:29 PM [vite] (client) page reload src/lib/server/gateway.ts +4:03:29 PM [vite] (ssr) page reload src/lib/server/gateway.ts +4:03:29 PM [vite] (client) page reload src/lib/admin-auth.test.ts +4:03:29 PM [vite] (client) page reload src/lib/admin-modules.ts +4:03:29 PM [vite] (client) hmr update /src/app.css, /src/components/AdminShell.tsx +4:03:29 PM [vite] (client) page reload src/lib/sidebar-state.ts +4:03:29 PM [vite] (client) page reload src/global.d.ts +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/index.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/login.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/approval-management.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/index.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/graphic-designers.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/pricing.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/external-roles.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/tutors.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/order.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/discount.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/developers.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/kb/index.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/kb/articles/new.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/kb/articles/[id].tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/kb/articles/[id]/edit.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/kb/articles.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/kb/categories.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/financial/reconcile.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/financial/adjust-credit.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/support.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/designation.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/approvals.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/leads/index.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/leads/[id].tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/workspace/[menuId].tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/ugc-content-creator.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/department-management.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/review.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/roles/index.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/roles/templates.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/roles/create.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/roles/[id]/index.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/roles/[id]/edit.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/requirements/[id].tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/runtime-roles/index.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/runtime-roles/new.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/runtime-roles/[roleKey].tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/modules.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/designation-management.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/external-dashboard-management/index.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/department.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/verification/[id].tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/notifications.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/role-ui-configs/index.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/role-ui-configs/new.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/role-ui-configs/[roleKey].tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/credit.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/profile/[id].tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/catering-services.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/customer.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/users/index.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/users/details/[id].tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/users/[id]/edit.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/tax.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/invoice.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/photographer/index.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/photographer/[id].tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/verification-status/index.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/verification-status/[id].tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/video-editors.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/report.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/coupon.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/ledger.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/jobs/index.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/jobs/[id].tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/onboarding-schemas/index.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/onboarding-schemas/new.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/onboarding-schemas/[schemaId].tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/makeup-artist.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/social-media-managers.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/applications.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/responses.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/fitness-trainers.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/help/support-bridge.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/help/[id].tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/approval/[id].tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/company/create.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/company/[id].tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/employees/index.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/employees/create.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/admin/employees/[id]/edit.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/[...404].tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) page reload src/routes/api/gateway/[...path].ts +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +4:03:29 PM [vite] (client) page reload src/routes/about.tsx +4:03:29 PM [vite] (ssr) page reload vinxi/routes +4:03:29 PM [vite] (client) hmr update /@fs/Users/ashwin/workspace/nxtgauge-admin-solid/src/routes/admin/company/index.tsx?pick=default&pick=$css +4:03:29 PM [vite] (client) hmr invalidate /@fs/Users/ashwin/workspace/nxtgauge-admin-solid/src/entry-client.tsx +4:03:29 PM [vite] (client) hmr update /src/app.css +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) hmr update /@fs/Users/ashwin/workspace/nxtgauge-admin-solid/src/entry-client.tsx, /src/app.css +6:06:53 PM [vite] (client) hmr update /src/components/AdminShell.tsx, /src/app.css +6:06:53 PM [vite] (client) hmr update /src/components/AdminSidebar.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/components/admin/ExternalRoleForm.tsx +6:06:53 PM [vite] (client) hmr update /src/components/admin/ProfessionAdminListPage.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/components/admin/UserListPage.tsx +6:06:53 PM [vite] (client) page reload src/components/admin/OnboardingManagementTabs.tsx +6:06:53 PM [vite] (client) hmr update /src/components/admin/DashboardDesignPreview.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/components/admin/OnboardingFlowBuilder.tsx +6:06:53 PM [vite] (client) hmr update /src/components/admin/RoleUserManagementTablePage.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/components/admin/AdminUi.tsx +6:06:53 PM [vite] (client) page reload src/components/admin/ExternalRoleTabs.tsx +6:06:53 PM [vite] (client) page reload src/stories/Button.stories.ts +6:06:53 PM [vite] (client) page reload src/stories/Page.stories.ts +6:06:53 PM [vite] (client) page reload src/stories/admin/AdminPages.stories.tsx +6:06:53 PM [vite] (client) page reload src/stories/AdminDashboard.stories.tsx +6:06:53 PM [vite] (client) page reload src/stories/Header.tsx +6:06:53 PM [vite] (client) page reload src/stories/Button.tsx +6:06:53 PM [vite] (client) page reload src/stories/Page.tsx +6:06:53 PM [vite] (client) page reload src/stories/Header.stories.ts +6:06:53 PM [vite] (client) page reload src/entry-server.tsx +6:06:53 PM [vite] (ssr) page reload src/entry-server.tsx +6:06:53 PM [vite] (client) hmr update /src/app.css, /src/components/AdminShell.tsx +6:06:53 PM [vite] (client) page reload src/lib/runtime/storage.ts +6:06:53 PM [vite] (client) page reload src/lib/runtime/types.ts +6:06:53 PM [vite] (client) page reload src/lib/admin/dashboard.ts +6:06:53 PM [vite] (client) page reload src/lib/admin/types.ts +6:06:53 PM [vite] (client) page reload src/lib/admin/client.ts +6:06:53 PM [vite] (client) hmr update /src/app.css, /src/components/AdminShell.tsx +6:06:53 PM [vite] (client) page reload src/lib/admin/module-access.test.ts +6:06:53 PM [vite] (client) page reload src/lib/server/gateway.ts +6:06:53 PM [vite] (ssr) page reload src/lib/server/gateway.ts +6:06:53 PM [vite] (client) page reload src/lib/admin-auth.test.ts +6:06:53 PM [vite] (client) page reload src/lib/admin-modules.ts +6:06:53 PM [vite] (client) hmr update /src/app.css, /src/components/AdminShell.tsx +6:06:53 PM [vite] (client) page reload src/lib/sidebar-state.ts +6:06:53 PM [vite] (client) page reload src/global.d.ts +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/index.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/login.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/approval-management.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/index.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/order.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/discount.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/kb/index.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/kb/articles/new.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/kb/articles/[id].tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/kb/articles/[id]/edit.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/kb/articles.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/kb/categories.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/financial/reconcile.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/financial/adjust-credit.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/support.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/designation.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/approvals.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/workspace/[menuId].tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/department-management.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/review.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/roles/index.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/roles/templates.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/roles/create.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/roles/[id]/index.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/roles/[id]/edit.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/requirements/[id].tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/runtime-roles/index.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/runtime-roles/new.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/runtime-roles/[roleKey].tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/modules.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/designation-management.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/external-dashboard-management/index.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/department.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/verification/[id].tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/notifications.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/role-ui-configs/index.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/role-ui-configs/new.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/role-ui-configs/[roleKey].tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/credit.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/profile/[id].tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/users/details/[id].tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/users/[id]/edit.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/tax.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/invoice.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/photographer/[id].tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/verification-status/index.tsx +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/verification-status/[id].tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/report.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/coupon.tsx +6:06:53 PM [vite] (ssr) page reload vinxi/routes +6:06:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:53 PM [vite] (client) page reload src/routes/admin/ledger.tsx +6:06:54 PM [vite] (ssr) page reload vinxi/routes +6:06:54 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:54 PM [vite] (ssr) page reload vinxi/routes +6:06:54 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:54 PM [vite] (client) page reload src/routes/admin/jobs/[id].tsx +6:06:54 PM [vite] (ssr) page reload vinxi/routes +6:06:54 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:54 PM [vite] (client) page reload src/routes/admin/onboarding-schemas/index.tsx +6:06:54 PM [vite] (ssr) page reload vinxi/routes +6:06:54 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:54 PM [vite] (client) page reload src/routes/admin/onboarding-schemas/new.tsx +6:06:54 PM [vite] (ssr) page reload vinxi/routes +6:06:54 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:54 PM [vite] (client) page reload src/routes/admin/onboarding-schemas/[schemaId].tsx +6:06:54 PM [vite] (ssr) page reload vinxi/routes +6:06:54 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:54 PM [vite] (ssr) page reload vinxi/routes +6:06:54 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:54 PM [vite] (ssr) page reload vinxi/routes +6:06:54 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:54 PM [vite] (ssr) page reload vinxi/routes +6:06:54 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:54 PM [vite] (ssr) page reload vinxi/routes +6:06:54 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:54 PM [vite] (ssr) page reload vinxi/routes +6:06:54 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:54 PM [vite] (client) page reload src/routes/admin/help/support-bridge.tsx +6:06:54 PM [vite] (ssr) page reload vinxi/routes +6:06:54 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:54 PM [vite] (client) page reload src/routes/admin/help/[id].tsx +6:06:54 PM [vite] (ssr) page reload vinxi/routes +6:06:54 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:54 PM [vite] (ssr) page reload vinxi/routes +6:06:54 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:54 PM [vite] (client) page reload src/routes/admin/approval/[id].tsx +6:06:54 PM [vite] (ssr) page reload vinxi/routes +6:06:54 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:54 PM [vite] (ssr) page reload vinxi/routes +6:06:54 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:54 PM [vite] (client) page reload src/routes/admin/company/create.tsx +6:06:54 PM [vite] (ssr) page reload vinxi/routes +6:06:54 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:54 PM [vite] (client) page reload src/routes/admin/company/[id].tsx +6:06:54 PM [vite] (ssr) page reload vinxi/routes +6:06:54 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:54 PM [vite] (client) page reload src/routes/admin/employees/index.tsx +6:06:54 PM [vite] (ssr) page reload vinxi/routes +6:06:54 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:54 PM [vite] (client) page reload src/routes/admin/employees/create.tsx +6:06:54 PM [vite] (ssr) page reload vinxi/routes +6:06:54 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:54 PM [vite] (client) page reload src/routes/admin/employees/[id]/edit.tsx +6:06:54 PM [vite] (ssr) page reload vinxi/routes +6:06:54 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:54 PM [vite] (client) page reload src/routes/[...404].tsx +6:06:54 PM [vite] (ssr) page reload vinxi/routes +6:06:54 PM [vite] (client) page reload src/routes/api/gateway/[...path].ts +6:06:54 PM [vite] (ssr) page reload vinxi/routes +6:06:54 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:54 PM [vite] (ssr) page reload vinxi/routes +6:06:54 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:06:54 PM [vite] (client) page reload src/routes/about.tsx +6:06:54 PM [vite] (ssr) page reload vinxi/routes +6:06:54 PM [vite] (client) hmr update /@fs/Users/ashwin/workspace/nxtgauge-admin-solid/src/routes/admin/pricing.tsx?pick=default&pick=$css +6:06:54 PM [vite] (client) hmr update /@fs/Users/ashwin/workspace/nxtgauge-admin-solid/src/routes/admin/external-roles.tsx?pick=default&pick=$css +6:06:54 PM [vite] (client) hmr update /@fs/Users/ashwin/workspace/nxtgauge-admin-solid/src/routes/admin/internal-dashboard-management/index.tsx?pick=default&pick=$css +6:06:54 PM [vite] (client) hmr update /@fs/Users/ashwin/workspace/nxtgauge-admin-solid/src/routes/admin/leads/index.tsx?pick=default&pick=$css +6:06:54 PM [vite] (client) hmr update /@fs/Users/ashwin/workspace/nxtgauge-admin-solid/src/routes/admin/leads/[id].tsx?pick=default&pick=$css +6:06:54 PM [vite] (client) page reload src/routes/admin/verification/index.tsx +6:06:54 PM [vite] (client) hmr update /@fs/Users/ashwin/workspace/nxtgauge-admin-solid/src/routes/admin/candidate.tsx?pick=default&pick=$css +6:06:54 PM [vite] (client) hmr update /@fs/Users/ashwin/workspace/nxtgauge-admin-solid/src/routes/admin/customer.tsx?pick=default&pick=$css +6:06:54 PM [vite] (client) hmr update /@fs/Users/ashwin/workspace/nxtgauge-admin-solid/src/routes/admin/jobs/index.tsx?pick=default&pick=$css +6:06:54 PM [vite] (client) hmr update /@fs/Users/ashwin/workspace/nxtgauge-admin-solid/src/routes/admin/applications.tsx?pick=default&pick=$css +6:06:54 PM [vite] (client) hmr update /@fs/Users/ashwin/workspace/nxtgauge-admin-solid/src/routes/admin/responses.tsx?pick=default&pick=$css +6:06:54 PM [vite] (client) page reload src/routes/admin/approval/index.tsx +6:06:54 PM [vite] (client) hmr invalidate /@fs/Users/ashwin/workspace/nxtgauge-admin-solid/src/entry-client.tsx +6:06:54 PM [vite] (client) hmr update /src/app.css +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) hmr update /@fs/Users/ashwin/workspace/nxtgauge-admin-solid/src/entry-client.tsx, /src/app.css +6:07:45 PM [vite] (client) hmr update /src/components/AdminShell.tsx, /src/app.css +6:07:45 PM [vite] (client) hmr update /src/components/AdminSidebar.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/components/admin/ExternalRoleForm.tsx +6:07:45 PM [vite] (client) hmr update /src/components/admin/ProfessionAdminListPage.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/components/admin/UserListPage.tsx +6:07:45 PM [vite] (client) page reload src/components/admin/OnboardingManagementTabs.tsx +6:07:45 PM [vite] (client) hmr update /src/components/admin/DashboardDesignPreview.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/components/admin/OnboardingFlowBuilder.tsx +6:07:45 PM [vite] (client) hmr update /src/components/admin/RoleUserManagementTablePage.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/components/admin/AdminUi.tsx +6:07:45 PM [vite] (client) page reload src/components/admin/ExternalRoleTabs.tsx +6:07:45 PM [vite] (client) page reload src/stories/Button.stories.ts +6:07:45 PM [vite] (client) page reload src/stories/Page.stories.ts +6:07:45 PM [vite] (client) page reload src/stories/admin/AdminPages.stories.tsx +6:07:45 PM [vite] (client) page reload src/stories/AdminDashboard.stories.tsx +6:07:45 PM [vite] (client) page reload src/stories/Header.tsx +6:07:45 PM [vite] (client) page reload src/stories/Button.tsx +6:07:45 PM [vite] (client) page reload src/stories/Page.tsx +6:07:45 PM [vite] (client) page reload src/stories/Header.stories.ts +6:07:45 PM [vite] (client) page reload src/entry-server.tsx +6:07:45 PM [vite] (ssr) page reload src/entry-server.tsx +6:07:45 PM [vite] (client) hmr update /src/app.css, /src/components/AdminShell.tsx +6:07:45 PM [vite] (client) page reload src/lib/runtime/storage.ts +6:07:45 PM [vite] (client) page reload src/lib/runtime/types.ts +6:07:45 PM [vite] (client) page reload src/lib/admin/dashboard.ts +6:07:45 PM [vite] (client) page reload src/lib/admin/types.ts +6:07:45 PM [vite] (client) page reload src/lib/admin/client.ts +6:07:45 PM [vite] (client) hmr update /src/app.css, /src/components/AdminShell.tsx +6:07:45 PM [vite] (client) page reload src/lib/admin/module-access.test.ts +6:07:45 PM [vite] (client) page reload src/lib/server/gateway.ts +6:07:45 PM [vite] (ssr) page reload src/lib/server/gateway.ts +6:07:45 PM [vite] (client) page reload src/lib/admin-auth.test.ts +6:07:45 PM [vite] (client) page reload src/lib/admin-modules.ts +6:07:45 PM [vite] (client) hmr update /src/app.css, /src/components/AdminShell.tsx +6:07:45 PM [vite] (client) page reload src/lib/sidebar-state.ts +6:07:45 PM [vite] (client) page reload src/global.d.ts +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/index.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/login.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/approval-management.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/index.tsx +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/order.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/discount.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/kb/index.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/kb/articles/new.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/kb/articles/[id].tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/kb/articles/[id]/edit.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/kb/articles.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/kb/categories.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/financial/reconcile.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/financial/adjust-credit.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/support.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/designation.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/approvals.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/workspace/[menuId].tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/department-management.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/review.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/roles/index.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/roles/templates.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/roles/create.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/roles/[id]/index.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/roles/[id]/edit.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/requirements/[id].tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/runtime-roles/index.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/runtime-roles/new.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/runtime-roles/[roleKey].tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/modules.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/designation-management.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/external-dashboard-management/index.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/department.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/verification/[id].tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/notifications.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/role-ui-configs/index.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/role-ui-configs/new.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/role-ui-configs/[roleKey].tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/credit.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/profile/[id].tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/users/details/[id].tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/users/[id]/edit.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/tax.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/invoice.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/photographer/[id].tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/verification-status/index.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/verification-status/[id].tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/report.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/coupon.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/ledger.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/jobs/[id].tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/onboarding-schemas/index.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/onboarding-schemas/new.tsx +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/onboarding-schemas/[schemaId].tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/help/support-bridge.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/help/[id].tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/approval/[id].tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/company/create.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/company/[id].tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/employees/index.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/employees/create.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/admin/employees/[id]/edit.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/[...404].tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) page reload src/routes/api/gateway/[...path].ts +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:45 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +6:07:45 PM [vite] (client) page reload src/routes/about.tsx +6:07:45 PM [vite] (ssr) page reload vinxi/routes +6:07:46 PM [vite] (client) hmr invalidate /@fs/Users/ashwin/workspace/nxtgauge-admin-solid/src/entry-client.tsx +6:07:46 PM [vite] (client) hmr update /src/app.css +7:02:59 PM [vite] (client) hmr update /src/components/AdminSidebar.tsx, /src/app.css +7:15:46 PM [vite] (client) hmr update /src/components/admin/ProfessionAdminListPage.tsx, /src/app.css +7:18:08 PM [vite] (client) hmr update /src/app.css, /@fs/Users/ashwin/workspace/nxtgauge-admin-solid/src/routes/admin/index.tsx?pick=default&pick=$css +7:18:52 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +7:18:52 PM [vite] (ssr) page reload vinxi/routes +7:18:52 PM [vite] (client) page reload src/routes/login.tsx +7:19:49 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +7:19:49 PM [vite] (ssr) page reload vinxi/routes +7:19:49 PM [vite] (client) page reload src/routes/login.tsx +7:19:53 PM [vite] (client) hmr update /src/app.tsx, /src/app.css +7:19:53 PM [vite] (ssr) page reload vinxi/routes +7:19:53 PM [vite] (client) page reload src/routes/login.tsx +7:21:11 PM [vite] (client) hmr update /src/components/AdminShell.tsx, /src/app.css diff --git a/admin.pid b/admin.pid new file mode 100644 index 0000000..c054741 --- /dev/null +++ b/admin.pid @@ -0,0 +1 @@ +87293 diff --git a/src/components/AdminShell.tsx b/src/components/AdminShell.tsx index 47ee8b5..0c70da7 100644 --- a/src/components/AdminShell.tsx +++ b/src/components/AdminShell.tsx @@ -90,7 +90,7 @@ const ROUTE_MODULE_KEYS: Array<{ prefix: string; keys: string[] }> = [ { prefix: '/admin/video-editors', keys: ['VIDEO_EDITOR_MANAGEMENT', 'VIDEO_EDITORS'] }, { prefix: '/admin/fitness-trainers', keys: ['FITNESS_TRAINER_MANAGEMENT', 'FITNESS_TRAINERS'] }, { prefix: '/admin/catering-services', keys: ['CATERING_SERVICES_MANAGEMENT', 'CATERING_SERVICES'] }, - { prefix: '/admin/ugc-content-creators', keys: ['UGC_CONTENT_CREATOR_MANAGEMENT', 'UGC_CONTENT_CREATOR'] }, + { prefix: '/admin/ugc-content-creator', keys: ['UGC_CONTENT_CREATOR_MANAGEMENT', 'UGC_CONTENT_CREATOR'] }, { prefix: '/admin/graphic-designers', keys: ['GRAPHIC_DESIGNER_MANAGEMENT', 'GRAPHIC_DESIGNERS'] }, { prefix: '/admin/social-media-managers', keys: ['SOCIAL_MEDIA_MANAGEMENT', 'SOCIAL_MEDIA_MANAGER_MANAGEMENT', 'SOCIAL_MEDIA_MANAGERS'] }, { prefix: '/admin/jobs', keys: ['JOBS_MANAGEMENT', 'JOBS'] }, @@ -116,7 +116,7 @@ const SEARCH_MODULES = [ { label: 'Users', viewAllHref: '/admin/users', - api: '/api/gateway/api/admin/users', + api: '/api/admin/users', listKeys: ['users', 'items'], titleKeys: ['full_name', 'name'], subtitleKeys: ['email', 'phone'], @@ -125,7 +125,7 @@ const SEARCH_MODULES = [ { label: 'Companies', viewAllHref: '/admin/company', - api: '/api/gateway/api/admin/companies', + api: '/api/admin/companies', listKeys: ['companies', 'items'], titleKeys: ['name', 'companyName'], subtitleKeys: ['email', 'phone'], @@ -134,7 +134,7 @@ const SEARCH_MODULES = [ { label: 'Employees', viewAllHref: '/admin/employees', - api: '/api/gateway/api/admin/employees', + api: '/api/admin/employees', listKeys: ['employees', 'items'], titleKeys: ['full_name', 'name'], subtitleKeys: ['email', 'department_name'], @@ -143,7 +143,7 @@ const SEARCH_MODULES = [ { label: 'Jobs', viewAllHref: '/admin/jobs', - api: '/api/gateway/api/admin/jobs', + api: '/api/admin/jobs', listKeys: ['jobs', 'items'], titleKeys: ['title', 'name'], subtitleKeys: ['status', 'company_name'], @@ -152,7 +152,7 @@ const SEARCH_MODULES = [ { label: 'Leads', viewAllHref: '/admin/leads', - api: '/api/gateway/api/admin/leads', + api: '/api/admin/leads', listKeys: ['leads', 'items'], titleKeys: ['name', 'full_name'], subtitleKeys: ['email', 'status'], @@ -330,7 +330,7 @@ export default function AdminShell(props: { children: JSX.Element }) { const accessToken = typeof sessionStorage !== 'undefined' ? sessionStorage.getItem('nxtgauge_admin_access_token') || '' : ''; - await fetch('/api/gateway/auth/logout', { + await fetch('/api/auth/logout', { method: 'POST', headers: { Accept: 'application/json', @@ -414,7 +414,7 @@ export default function AdminShell(props: { children: JSX.Element }) { ? sessionStorage.getItem('nxtgauge_admin_access_token') || '' : ''; if (!accessToken) return; - const res = await fetch('/api/gateway/api/me/notifications/unread-count', { + const res = await fetch('/api/me/notifications/unread-count', { method: 'GET', headers: { Accept: 'application/json', @@ -455,7 +455,7 @@ export default function AdminShell(props: { children: JSX.Element }) { const accessToken = typeof sessionStorage !== 'undefined' ? sessionStorage.getItem('nxtgauge_admin_access_token') || '' : ''; - const response = await fetch('/api/gateway/api/auth/session', { + const response = await fetch('/api/auth/session', { method: 'GET', headers: { Accept: 'application/json', @@ -480,7 +480,7 @@ export default function AdminShell(props: { children: JSX.Element }) { setIsSuperAdmin(roleKey === 'SUPER_ADMIN'); try { - const res = await fetch('/api/gateway/api/runtime-config', { + const res = await fetch('/api/runtime-config', { method: 'GET', headers: { Accept: 'application/json', diff --git a/src/components/AdminSidebar.tsx b/src/components/AdminSidebar.tsx index a0281f1..15a3ad5 100644 --- a/src/components/AdminSidebar.tsx +++ b/src/components/AdminSidebar.tsx @@ -58,8 +58,6 @@ const GROUPS: NavItem[][] = [ [ { href: '/admin/jobs', label: 'Jobs Management', icon: BriefcaseBusiness, moduleKeys: ['JOBS_MANAGEMENT', 'JOBS'] }, { href: '/admin/leads', label: 'Leads Management', icon: HandHelping, moduleKeys: ['LEADS_MANAGEMENT', 'LEADS', 'REQUIREMENTS_MANAGEMENT', 'REQUIREMENTS'] }, - { href: '/admin/applications', label: 'Applications Management', icon: FileText, moduleKeys: ['APPLICATIONS_MANAGEMENT', 'APPLICATIONS'] }, - { href: '/admin/responses', label: 'Responses Management', icon: FileText, moduleKeys: ['RESPONSES_MANAGEMENT', 'RESPONSES'] }, ], [ { href: '/admin/pricing', label: 'Pricing Management', icon: WalletCards, moduleKeys: ['PRICING_MANAGEMENT', 'PRICING'] }, diff --git a/src/components/admin/ProfessionAdminListPage.tsx b/src/components/admin/ProfessionAdminListPage.tsx index 18b1be1..6eed6ba 100644 --- a/src/components/admin/ProfessionAdminListPage.tsx +++ b/src/components/admin/ProfessionAdminListPage.tsx @@ -1,7 +1,7 @@ import { A } from '@solidjs/router'; import { createMemo, createResource, createSignal, For, Show } from 'solid-js'; -const API = '/api/gateway'; +const API = ''; type SortMode = 'newest' | 'oldest' | 'name_asc' | 'name_desc'; @@ -90,140 +90,169 @@ export default function ProfessionAdminListPage(props: { URL.revokeObjectURL(url); }; - return ( -
-
-

{props.title}

-

{props.subtitle}

-
+ return ( +
+
+

{props.title}

+

{props.subtitle}

+
-
-
- setSearch(e.currentTarget.value)} - class="rounded-lg border border-gray-200 px-3 py-2 text-sm outline-none focus:border-[#FF5E13] w-72" - /> +
+
+ setSearch(e.currentTarget.value)} + class="rounded-lg border border-gray-200 px-3 py-2 text-sm outline-none focus:border-[#FF5E13] w-72" + /> -
- - -
- - {(item) => ( - - )} - -
-
-
+
+ + +
+ + {(item) => ( + + )} + +
+
+
-
- - -
- - {(item) => ( - - )} - -
-
-
+
+ + +
+ + {(item) => ( + + )} + +
+
+
- -
+ +
-
-
- - - - - - - - - - - - - - - - - - - - - - 0}> - - {(item) => ( - - - - - - - - - )} - - - -
NameEmailPhoneStatusRegisteredActions
Loading...
Failed to load. Is the backend running?
{props.emptyLabel}
{item.first_name || ''} {item.last_name || ''}{item.email}{item.phone || '—'} - {item.status?.toUpperCase() || '—'} - {item.created_at ? new Date(item.created_at).toLocaleDateString() : '—'} -
- View -
-
-
-
-
-
- ); +
+
+ + + + + + + + + + + + + + + + + + + + + + + + 0}> + + {(item) => ( + + + + + + + + + )} + + + +
NameEmailPhoneStatusRegisteredActions
Loading...
Failed to load. Is the backend running?
+

No {props.title} found

+

{props.emptyLabel}

+ {props.createHref && ( + Create {props.title} + )} +
+

{item.first_name || ''} {item.last_name || ''}

+
{item.email}{item.phone || '—'} + {item.status?.toUpperCase() || '—'} + {item.created_at ? new Date(item.created_at).toLocaleDateString() : '—'} +
+ View +
+
+
+
+ + {/* Pagination (matches department style, non-functional placeholder) */} + 0}> +
+

+ Showing 1–{filtered().length} of {filtered().length} {props.title.toLowerCase()} +

+
+ + + + + +
+
+
+
+
+ ); } diff --git a/src/components/admin/RoleUserManagementTablePage.tsx b/src/components/admin/RoleUserManagementTablePage.tsx index e7049dd..0326eee 100644 --- a/src/components/admin/RoleUserManagementTablePage.tsx +++ b/src/components/admin/RoleUserManagementTablePage.tsx @@ -1,7 +1,7 @@ import { A } from '@solidjs/router'; import { createMemo, createResource, createSignal, For, Show } from 'solid-js'; -const API = '/api/gateway'; +const API = ''; type SortMode = 'newest' | 'oldest' | 'name_asc' | 'name_desc'; diff --git a/src/components/admin/UserListPage.tsx b/src/components/admin/UserListPage.tsx index 779248c..2491b48 100644 --- a/src/components/admin/UserListPage.tsx +++ b/src/components/admin/UserListPage.tsx @@ -5,7 +5,7 @@ import { createMemo, createResource, createSignal, For, Show, type JSX } from 'solid-js'; import { Search, MoreVertical, Users, UserCheck, UserX, Clock } from 'lucide-solid'; -const API = '/api/gateway'; +const API = ''; export interface UserListPageConfig { /** e.g. "photographer" */ diff --git a/src/lib/runtime/storage.ts b/src/lib/runtime/storage.ts index 16a4b45..5f6abb3 100644 --- a/src/lib/runtime/storage.ts +++ b/src/lib/runtime/storage.ts @@ -1,7 +1,7 @@ import type { RuntimeDashboardLayout } from './types'; -// All API calls go through the server route gateway proxy -const API_GATEWAY = '/api/gateway'; +// All API calls go through the gateway proxy +const API_GATEWAY = ''; export type RuntimeRecordType = 'role' | 'dashboard' | 'onboarding' | 'knowledge_base'; export type RuntimeRecordStatus = 'draft' | 'published'; diff --git a/src/routes/admin/applications.tsx b/src/routes/admin/applications.tsx index ddef494..84b352c 100644 --- a/src/routes/admin/applications.tsx +++ b/src/routes/admin/applications.tsx @@ -1,6 +1,6 @@ import { createMemo, createResource, createSignal, For, Show } from 'solid-js'; -const API = '/api/gateway'; +const API = ''; type ApplicationRow = { id: string; diff --git a/src/routes/admin/approval.tsx b/src/routes/admin/approval.tsx deleted file mode 100644 index f630d32..0000000 --- a/src/routes/admin/approval.tsx +++ /dev/null @@ -1,761 +0,0 @@ -import { For, Show, createMemo, createSignal, onMount } from 'solid-js'; -import type { CrudRecord } from '~/lib/admin/types'; - -const API = '/api/gateway'; -const APPROVAL_QUEUE_STORAGE_KEY = 'nxtgauge_admin_approval_queue'; - -type ApprovalSubmittedField = { label: string; value: string }; -type ApprovalDocument = { - id: string; - title: string; - type: 'IMAGE' | 'PDF'; - url: string; - status: 'SUBMITTED' | 'MISSING' | 'INVALID'; -}; - -type ApprovalRecord = CrudRecord & { - applicantName?: string; - approvalType: 'PROFILE' | 'BUSINESS' | 'JOB' | 'ORDER' | 'INVOICE' | 'COUPON' | 'DISCOUNT' | 'TAX' | 'ROLE' | 'REQUIREMENT' | 'PORTFOLIO'; - userType: 'CUSTOMER' | 'PROFESSIONAL' | 'COMPANY' | 'JOBSEEKER'; - roleTags?: string[]; - primaryService?: string; - area?: string; - submittedDate?: string; - verificationStatus: 'PENDING' | 'VERIFIED' | 'FLAGGED'; - assignedApprover?: string; - priority: 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL'; - status: 'PENDING' | 'IN_REVIEW' | 'APPROVED' | 'REJECTED' | 'ON_HOLD' | 'ESCALATED'; - sourceKey?: string; - submittedFields?: ApprovalSubmittedField[]; - documents?: ApprovalDocument[]; - payload?: any; -}; - -type ApprovalQueueItem = { - id: string; - requestType: - | 'Profile Approval' - | 'Portfolio Approval' - | 'Company Approval' - | 'Job Seeker Approval' - | 'Service Seeker Profile Approval' - | 'Service Seeker Requirement' - | 'Job Approval'; - applicantName: string; - roleLabel: string; - userType: 'PROFESSIONAL' | 'COMPANY' | 'JOBSEEKER' | 'CUSTOMER'; - roleKey: string; - area: string; - submittedOn: string; - documents: ApprovalDocument[]; - submittedFields: ApprovalSubmittedField[]; -}; - -const toTitle = (value: string) => String(value || '') - .replace(/_/g, ' ') - .replace(/\b\w/g, (c) => c.toUpperCase()); - -const normalizeUserType = (value: unknown): ApprovalRecord['userType'] => { - const key = String(value || '').toUpperCase(); - if (key.includes('COMPANY')) return 'COMPANY'; - if (key.includes('JOB_SEEKER') || key.includes('JOBSEEKER')) return 'JOBSEEKER'; - if (key.includes('CUSTOMER') || key.includes('SERVICE_SEEKER')) return 'CUSTOMER'; - return 'PROFESSIONAL'; -}; - -function extractRoleTags(source: any): string[] { - const values: string[] = []; - const pushValue = (value: unknown) => { - if (!value) return; - if (Array.isArray(value)) { - value.forEach((v) => pushValue(v)); - return; - } - const text = String(value || '').trim(); - if (!text) return; - values.push(text); - }; - pushValue(source?.role_key); - pushValue(source?.roleKey); - pushValue(source?.role_keys); - pushValue(source?.roleKeys); - pushValue(source?.roles); - pushValue(source?.categories); - pushValue(source?.category); - pushValue(source?.service_category); - pushValue(source?.serviceCategory); - pushValue(source?.profession); - pushValue(source?.service_type); - return Array.from(new Set(values.map((v) => toTitle(v)))).slice(0, 4); -} - -function extractSubmittedFields(source: any): ApprovalSubmittedField[] { - const payload = source || {}; - const fullName = String( - payload.full_name - || payload.fullName - || [payload.first_name || payload.firstName, payload.last_name || payload.lastName].filter(Boolean).join(' ') - || payload.company_name - || payload.title - || '—', - ).trim(); - - const candidates: ApprovalSubmittedField[] = [ - { label: 'Name / Title', value: fullName || '—' }, - { label: 'Email', value: String(payload.email || payload.email_address || payload.emailAddress || '—') }, - { label: 'Mobile', value: String(payload.mobile || payload.mobile_number || payload.phone || payload.contact_number || '—') }, - { label: 'Role / Category', value: String(payload.role_key || payload.role || payload.category || payload.profession || payload.service_category || '—') }, - { label: 'Area', value: String(payload.area || payload.location || payload.city || 'Chennai') }, - { label: 'Place', value: String(payload.place || payload.locality || payload.city || 'Chennai') }, - { label: 'Description', value: String(payload.description || payload.about || payload.bio || '—') }, - ]; - - return candidates.filter((item) => item.value && item.value !== '—'); -} - -function extractDocuments(source: any): ApprovalDocument[] { - const raw = Array.isArray(source?.documents) ? source.documents : []; - if (!raw.length) { - const portfolioImages = Array.isArray(source?.portfolio_images) - ? source.portfolio_images - : Array.isArray(source?.images) - ? source.images - : Array.isArray(source?.gallery) - ? source.gallery - : []; - if (!portfolioImages.length) return []; - return portfolioImages.slice(0, 6).map((asset: any, idx: number) => ({ - id: String(asset.id || `portfolio-${idx + 1}`), - title: String(asset.title || asset.name || `Portfolio Image ${idx + 1}`), - type: 'IMAGE', - url: String(asset.url || '/nxtgauge-logo.png'), - status: 'SUBMITTED', - })); - } - return raw.slice(0, 12).map((doc: any, idx: number) => { - const statusRaw = String(doc.status || '').toUpperCase(); - return { - id: String(doc.id || `doc-${idx + 1}`), - title: String(doc.title || doc.name || `Document ${idx + 1}`), - type: String(doc.type || '').toUpperCase().includes('PDF') ? 'PDF' : 'IMAGE', - url: String(doc.url || '/nxtgauge-logo.png'), - status: statusRaw === 'MISSING' - ? 'MISSING' - : statusRaw === 'INVALID' - ? 'INVALID' - : 'SUBMITTED', - }; - }); -} - - - -function verificationToApprovalType(requestType: ApprovalQueueItem['requestType']): ApprovalRecord['approvalType'] { - if (requestType === 'Portfolio Approval') return 'PORTFOLIO'; - if (requestType === 'Service Seeker Requirement') return 'REQUIREMENT'; - if (requestType === 'Job Approval') return 'JOB'; - if (requestType === 'Company Approval') return 'BUSINESS'; - return 'PROFILE'; -} - -function mapQueueItemsToApprovals(items: ApprovalQueueItem[]): ApprovalRecord[] { - return items.map((item) => ({ - id: String(item.id), - name: `${item.requestType} - ${item.applicantName}`, - applicantName: item.applicantName, - approvalType: verificationToApprovalType(item.requestType), - userType: normalizeUserType(item.userType), - roleTags: [toTitle(item.roleLabel), toTitle(item.roleKey)].filter((v, i, arr) => v && arr.indexOf(v) === i), - primaryService: toTitle(item.roleLabel || item.roleKey || item.requestType), - area: item.area || 'Chennai', - submittedDate: item.submittedOn || '', - verificationStatus: 'VERIFIED', - assignedApprover: 'Unassigned', - priority: item.requestType === 'Portfolio Approval' || item.requestType === 'Job Approval' ? 'HIGH' : 'MEDIUM', - status: 'PENDING', - updatedAt: item.submittedOn || '', - sourceKey: `verification:${item.id}`, - submittedFields: Array.isArray(item.submittedFields) ? item.submittedFields : [], - documents: Array.isArray(item.documents) ? item.documents : [], - payload: { queueRequestType: item.requestType }, - })); -} - -function StatusBadge(props: { status: string }) { - const getColors = () => { - switch (props.status) { - case 'APPROVED': return { border: '#B7E4C7', bg: '#DEF7E8', text: '#0B8A4A', dot: '#0B8A4A' }; - case 'IN_REVIEW': return { border: '#F6D78F', bg: '#FFF3D6', text: '#B7791F', dot: '#B7791F' }; - case 'PENDING': return { border: '#D1D5DB', bg: '#F3F4F6', text: '#4B5563', dot: '#9CA3AF' }; - case 'ON_HOLD': return { border: '#FDE68A', bg: '#FEF3C7', text: '#D97706', dot: '#D97706' }; - case 'ESCALATED': return { border: '#FECACA', bg: '#FEF2F2', text: '#DC2626', dot: '#DC2626' }; - case 'REJECTED': return { border: '#FECACA', bg: '#FEF2F2', text: '#DC2626', dot: '#DC2626' }; - default: return { border: '#D1D5DB', bg: '#F3F4F6', text: '#4B5563', dot: '#9CA3AF' }; - } - }; - const colors = getColors(); - const label = props.status.split('_').map(w => w.charAt(0) + w.slice(1).toLowerCase()).join(' '); - - return ( - - - {label} - - ); -} - -function PriorityBadge(props: { priority: string }) { - const color = props.priority === 'CRITICAL' ? '#7F1D1D' : props.priority === 'HIGH' ? '#DC2626' : props.priority === 'MEDIUM' ? '#F59E0B' : '#16A34A'; - return ( - - - {props.priority} - - ); -} - -function VerificationBadge(props: { status: ApprovalRecord['verificationStatus'] }) { - const getColors = () => { - if (props.status === 'VERIFIED') return { border: '#B7E4C7', bg: '#DEF7E8', text: '#0B8A4A', dot: '#0B8A4A' }; - if (props.status === 'FLAGGED') return { border: '#FECACA', bg: '#FEF2F2', text: '#DC2626', dot: '#DC2626' }; - return { border: '#F6D78F', bg: '#FFF3D6', text: '#B7791F', dot: '#B7791F' }; - }; - const colors = getColors(); - return ( - - - {props.status} - - ); -} - -export default function ApprovalManagementPage() { - const [listTab, setListTab] = createSignal<'all' | 'view' | 'escalated'>('all'); - const [detailTab, setDetailTab] = createSignal<'overview' | 'verification' | 'checklist' | 'logs'>('overview'); - - const [search, setSearch] = createSignal(''); - const [rows, setRows] = createSignal([]); - const [viewingCase, setViewingCase] = createSignal(null); - const [openMenuId, setOpenMenuId] = createSignal(null); - - const [statusFilter, setStatusFilter] = createSignal<'all' | 'pending' | 'escalated'>('all'); - const [sortBy, setSortBy] = createSignal<'submitted_desc' | 'submitted_asc' | 'priority_desc' | 'priority_asc'>('submitted_desc'); - const [sortMenuOpen, setSortMenuOpen] = createSignal(false); - const [filterMenuOpen, setFilterMenuOpen] = createSignal(false); - const [error, setError] = createSignal(''); - const [isActing, setIsActing] = createSignal(false); - - const selectedDocuments = createMemo(() => { - const row = viewingCase(); - if (!row) return []; - if (Array.isArray(row.documents) && row.documents.length) return row.documents; - return extractDocuments(row.payload || {}); - }); - - const selectedFields = createMemo(() => { - const row = viewingCase(); - if (!row) return []; - if (Array.isArray(row.submittedFields) && row.submittedFields.length) return row.submittedFields; - return extractSubmittedFields(row.payload || row); - }); - - const load = async () => { - setError(''); - try { - const accessToken = typeof sessionStorage !== 'undefined' - ? sessionStorage.getItem('nxtgauge_admin_access_token') || '' - : ''; - const res = await fetch(`${API}/api/admin/verifications?page=1&limit=100`, { - headers: { - Accept: 'application/json', - ...(accessToken ? { Authorization: `Bearer ${accessToken}` } : {}), - }, - credentials: 'include', - }); - if (!res.ok) throw new Error(`Request failed (${res.status})`); - const payload = await res.json().catch(() => ({} as any)); - const items = Array.isArray(payload?.items) ? payload.items : []; - - const mappedItems: ApprovalRecord[] = items.map((v: any) => { - const p = v.payload || {}; - return { - id: v.id, - name: `${toTitle(v.type)} - ${v.user_name || 'Applicant'}`, - applicantName: v.user_name || 'Applicant', - approvalType: verificationToApprovalType(v.type === 'job_approval' ? 'Job Approval' : (v.type === 'requirement_approval' ? 'Service Seeker Requirement' : 'Profile Approval')), - userType: normalizeUserType(v.role_key), - roleTags: [toTitle(v.role_key)], - primaryService: toTitle(v.role_key || 'User'), - area: p.city || p.area || 'Unknown', - submittedDate: v.created_at, - verificationStatus: v.status === 'APPROVED' ? 'VERIFIED' : 'PENDING', - assignedApprover: 'Unassigned', - priority: 'MEDIUM', - status: v.status === 'APPROVED' ? 'APPROVED' : (v.status === 'REJECTED' ? 'REJECTED' : 'PENDING'), - updatedAt: v.updated_at, - sourceKey: `v:${v.id}`, - submittedFields: extractSubmittedFields(p), - documents: extractDocuments(p), - payload: v, - }; - }); - - setRows(mappedItems); - } catch (e: any) { - setRows([]); - setError(e?.message || 'Could not reach approvals API.'); - } - }; - - onMount(() => void load()); - - const formatDate = (v?: string) => { - const s = v || ''; - if (/^\d{4}-\d{2}-\d{2}$/.test(s)) return s; - return s.slice(0, 10) || '—'; - }; - - const filteredRows = createMemo(() => { - let list = rows(); - const f = statusFilter(); - if (f === 'pending') list = list.filter((r) => r.status === 'PENDING' || r.status === 'IN_REVIEW'); - if (f === 'escalated') list = list.filter((r) => r.status === 'ESCALATED'); - - const q = search().trim().toLowerCase(); - if (q) { - list = list.filter((r) => - String(r.applicantName || '').toLowerCase().includes(q) - || String(r.id || '').toLowerCase().includes(q) - || String(r.approvalType || '').toLowerCase().includes(q) - ); - } - - const sorted = [...list]; - const mode = sortBy(); - const priorityRank = (p: ApprovalRecord['priority']) => (p === 'CRITICAL' ? 4 : p === 'HIGH' ? 3 : p === 'MEDIUM' ? 2 : 1); - sorted.sort((a, b) => { - const ad = Date.parse(String(a.submittedDate || a.updatedAt || '')) || 0; - const bd = Date.parse(String(b.submittedDate || b.updatedAt || '')) || 0; - if (mode === 'submitted_asc') return ad - bd; - if (mode === 'priority_desc') return priorityRank(b.priority) - priorityRank(a.priority); - if (mode === 'priority_asc') return priorityRank(a.priority) - priorityRank(b.priority); - return bd - ad; - }); - return sorted; - }); - - const escalatedCount = createMemo(() => rows().filter((r) => r.status === 'ESCALATED').length); - - const exportCsv = () => { - const headers = ['Approval ID', 'Applicant', 'Type', 'Verification', 'Priority', 'Status', 'Submitted Date']; - const rowsData = filteredRows().map((row) => [ - row.id || '', - row.applicantName || '', - row.approvalType || '', - row.verificationStatus || '', - row.priority || '', - row.status || '', - formatDate(row.submittedDate || row.updatedAt), - ]); - const csv = [headers, ...rowsData] - .map((line) => line.map((cell) => `"${String(cell).replace(/"/g, '""')}"`).join(',')) - .join('\n'); - const blob = new Blob([csv], { type: 'text/csv;charset=utf-8;' }); - const url = URL.createObjectURL(blob); - const a = document.createElement('a'); - a.href = url; - a.download = `approval-management-${new Date().toISOString().slice(0, 10)}.csv`; - document.body.appendChild(a); - a.click(); - document.body.removeChild(a); - URL.revokeObjectURL(url); - }; - - const openView = (row: ApprovalRecord) => { - setViewingCase(row); - setDetailTab('overview'); - setListTab('view'); - setOpenMenuId(null); - }; - - const setLocalStatus = (row: ApprovalRecord, nextStatus: ApprovalRecord['status']) => { - setRows((prev) => prev.map((item) => ((item.sourceKey || item.id) === (row.sourceKey || row.id) ? { ...item, status: nextStatus } : item))); - setViewingCase((current) => { - if (!current) return current; - return (current.sourceKey || current.id) === (row.sourceKey || row.id) ? { ...current, status: nextStatus } : current; - }); - }; - - const runApprovalAction = async (row: ApprovalRecord, action: 'approve' | 'reject') => { - const type = row.approvalType; - const nextStatus: ApprovalRecord['status'] = action === 'approve' ? 'APPROVED' : 'REJECTED'; - - if (type !== 'JOB' && type !== 'REQUIREMENT') { - setLocalStatus(row, nextStatus); - return; - } - - setIsActing(true); - setError(''); - try { - const accessToken = typeof sessionStorage !== 'undefined' - ? sessionStorage.getItem('nxtgauge_admin_access_token') || '' - : ''; - const endpoint = `${API}/api/admin/verifications/${row.id}/${action}`; - const res = await fetch(endpoint, { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - Accept: 'application/json', - ...(accessToken ? { Authorization: `Bearer ${accessToken}` } : {}), - }, - credentials: 'include', - body: action === 'reject' - ? JSON.stringify({ reason: 'Rejected by admin from approval management' }) - : JSON.stringify({}), - }); - if (!res.ok) { - const data = await res.json().catch(() => ({})); - throw new Error((data as any).message || `Request failed (${res.status})`); - } - await load(); - setViewingCase(null); - setListTab('all'); - } catch (e: any) { - setError(e?.message || 'Approval action failed.'); - } finally { - setIsActing(false); - } - }; - - return ( -
- -
-

Approval Management

-

Manage final approval decisions for all platform entities and requests

-
- -
- {error()} -
-
- - -
- {([ - { key: 'all', label: 'All Approvals', action: () => { setListTab('all'); setStatusFilter('all'); } }, - { key: 'escalated', label: `Escalated (${escalatedCount()})`, action: () => { setListTab('escalated'); setStatusFilter('escalated'); } }, - { key: 'view', label: 'View Approval', action: () => { setListTab('view'); } }, - ] as const).map((tab) => ( - - ))} -
- - - -
-

No approval selected

-

Click the menu on any row and choose View Approval.

-
-
- -
-
-
-
-

{viewingCase()!.applicantName}

- - -
-

ID: {viewingCase()!.id} • {viewingCase()!.approvalType} • Submitted: {formatDate(viewingCase()!.submittedDate)}

-
-
- - -
-
- -
- {(['overview', 'verification', 'checklist', 'logs'] as const).map((tab, i) => { - const labels = ['Overview', 'Verification Summary', 'Approval Checklist', 'Activity Logs']; - const active = () => detailTab() === tab; - return ( - - ); - })} -
- -
- -
-
-
-

Approval Summary

-
-

Entity Name

{viewingCase()!.applicantName}

-

Approval Type

{viewingCase()!.approvalType}

-

Primary Service

{viewingCase()!.primaryService || '—'}

-

Area / Place

{viewingCase()!.area || '—'}

-

Verification Status

-

Assigned Approver

{viewingCase()!.assignedApprover}

-
- -
-

Registered Roles / Services

-
- - {(tag) => ( - {tag} - )} - -
-
-
-
- - 0}> -
-

Submitted Details

-
- - {(field) => ( -
-

{field.label}

-

{field.value || '—'}

-
- )} -
-
-
-
-
- -
-

Decision Notes

-