diff --git a/.claude/launch.json b/.claude/launch.json index f160374..83c3c24 100644 --- a/.claude/launch.json +++ b/.claude/launch.json @@ -3,7 +3,7 @@ "configurations": [ { "name": "admin-solid", - "runtimeExecutable": "npm", + "runtimeExecutable": "/Users/ashwin/.bun/bin/bun", "runtimeArgs": ["run", "dev"], "port": 3000 } diff --git a/src/components/admin/RoleUserManagementTablePage.tsx b/src/components/admin/RoleUserManagementTablePage.tsx index a75c5ac..e7049dd 100644 --- a/src/components/admin/RoleUserManagementTablePage.tsx +++ b/src/components/admin/RoleUserManagementTablePage.tsx @@ -1,6 +1,5 @@ import { A } from '@solidjs/router'; import { createMemo, createResource, createSignal, For, Show } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -85,7 +84,6 @@ export default function RoleUserManagementTablePage(props: { }; return ( -

{props.title}

@@ -218,6 +216,5 @@ export default function RoleUserManagementTablePage(props: {
-
); } diff --git a/src/components/admin/UserListPage.tsx b/src/components/admin/UserListPage.tsx index f049691..779248c 100644 --- a/src/components/admin/UserListPage.tsx +++ b/src/components/admin/UserListPage.tsx @@ -4,7 +4,6 @@ */ import { createMemo, createResource, createSignal, For, Show, type JSX } from 'solid-js'; import { Search, MoreVertical, Users, UserCheck, UserX, Clock } from 'lucide-solid'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -95,7 +94,6 @@ export default function UserListPage(props: { config: UserListPageConfig }) { const { Icon } = props.config; return ( -
{/* Page header */} @@ -276,6 +274,5 @@ export default function UserListPage(props: { config: UserListPageConfig }) {
-
); } diff --git a/src/routes/admin.tsx b/src/routes/admin.tsx new file mode 100644 index 0000000..e077a47 --- /dev/null +++ b/src/routes/admin.tsx @@ -0,0 +1,10 @@ +import { Outlet } from '@solidjs/router'; +import AdminShell from '~/components/AdminShell'; + +export default function AdminLayout() { + return ( + + + + ); +} diff --git a/src/routes/admin/[...module].tsx b/src/routes/admin/[...module].tsx index 54fd0c3..406915a 100644 --- a/src/routes/admin/[...module].tsx +++ b/src/routes/admin/[...module].tsx @@ -1,6 +1,5 @@ import { A, useParams } from '@solidjs/router'; import { createMemo } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; import ApprovalManagementPage from './approval'; import VerificationManagementPage from './verification'; import UsersManagementPage from './users'; @@ -56,7 +55,6 @@ export default function LegacyModuleShellPage() { const legacyUrl = createMemo(() => `${LEGACY_ADMIN_ORIGIN}${legacyPath()}`); return ( -

{moduleName()}

Live legacy module embedded for exact design and functionality parity during migration. @@ -71,6 +69,5 @@ export default function LegacyModuleShellPage() { style={{ width: '100%', height: '72vh', border: '1px solid #e2e8f0', 'border-radius': '10px', 'margin-top': '10px' }} /> - ); } diff --git a/src/routes/admin/applications.tsx b/src/routes/admin/applications.tsx index af65bd9..ddef494 100644 --- a/src/routes/admin/applications.tsx +++ b/src/routes/admin/applications.tsx @@ -1,5 +1,4 @@ import { createMemo, createResource, createSignal, For, Show } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -82,7 +81,6 @@ export default function ApplicationsPage() { } return ( -

{/* ── Page header ── */} @@ -179,6 +177,5 @@ export default function ApplicationsPage() {
-
); } diff --git a/src/routes/admin/approval.tsx b/src/routes/admin/approval.tsx index 6c6a1ce..f404813 100644 --- a/src/routes/admin/approval.tsx +++ b/src/routes/admin/approval.tsx @@ -1,5 +1,4 @@ import { For, Show, createMemo, createSignal, onMount } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; import type { CrudRecord } from '~/lib/admin/types'; const API = '/api/gateway'; @@ -507,7 +506,6 @@ export default function ApprovalManagementPage() { }; return ( -
@@ -836,6 +834,5 @@ export default function ApprovalManagementPage() {
- ); } diff --git a/src/routes/admin/approval/[id].tsx b/src/routes/admin/approval/[id].tsx index 40a8c61..0e3b32a 100644 --- a/src/routes/admin/approval/[id].tsx +++ b/src/routes/admin/approval/[id].tsx @@ -1,6 +1,5 @@ import { A, useParams, useSearchParams } from '@solidjs/router'; import { createMemo, createResource, createSignal, For, Show, createEffect } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -246,7 +245,6 @@ export default function ApprovalDetailPage() { }; return ( -
@@ -393,7 +391,6 @@ export default function ApprovalDetailPage() {
- ); } diff --git a/src/routes/admin/candidate.tsx b/src/routes/admin/candidate.tsx index baf8392..e8563fe 100644 --- a/src/routes/admin/candidate.tsx +++ b/src/routes/admin/candidate.tsx @@ -1,5 +1,4 @@ import { For, Show, createMemo, createSignal, onMount } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; import type { CrudRecord } from '~/lib/admin/types'; const API = '/api/gateway'; @@ -106,7 +105,6 @@ export default function CandidateManagementPage() { const openDetail = (row: CandidateRecord) => { setSelectedCandidate(row); setListTab('view'); setOpenMenuId(null); }; return ( -

Candidate Management

@@ -292,6 +290,5 @@ export default function CandidateManagementPage() {
-
); } diff --git a/src/routes/admin/company.tsx b/src/routes/admin/company.tsx index ac91e10..1934ce3 100644 --- a/src/routes/admin/company.tsx +++ b/src/routes/admin/company.tsx @@ -1,5 +1,4 @@ import { For, Show, createMemo, createSignal, onMount } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; type AdminContact = { name: string; @@ -32,7 +31,11 @@ export default function CompanyManagementPage() { const load = async () => { try { - const r = await fetch('/api/admin/companies'); + const accessToken = typeof sessionStorage !== 'undefined' ? sessionStorage.getItem('nxtgauge_admin_access_token') || '' : ''; + const r = await fetch('/api/gateway/api/admin/companies', { + headers: { Accept: 'application/json', ...(accessToken ? { Authorization: `Bearer ${accessToken}` } : {}) }, + credentials: 'include', + }); if (!r.ok) throw new Error('Failed to fetch companies'); const data = await r.json(); const mapped: CompanyRecord[] = data.map((c: any) => ({ @@ -76,7 +79,6 @@ export default function CompanyManagementPage() { }); return ( -
@@ -135,6 +137,5 @@ export default function CompanyManagementPage() {
- ); } diff --git a/src/routes/admin/company/[id].tsx b/src/routes/admin/company/[id].tsx index dd0e4ed..45da603 100644 --- a/src/routes/admin/company/[id].tsx +++ b/src/routes/admin/company/[id].tsx @@ -1,6 +1,5 @@ import { A, useParams } from '@solidjs/router'; import { createMemo, createResource, Show } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -95,7 +94,6 @@ export default function CompanyDetailPage() { const isVerified = createMemo(() => Boolean(company()?.is_verified ?? company()?.isVerified)); return ( -
@@ -298,6 +296,5 @@ export default function CompanyDetailPage() {
- ); } diff --git a/src/routes/admin/company/create.tsx b/src/routes/admin/company/create.tsx index 088979e..dea91cb 100644 --- a/src/routes/admin/company/create.tsx +++ b/src/routes/admin/company/create.tsx @@ -1,6 +1,5 @@ import { A, useNavigate } from '@solidjs/router'; import { createSignal, Show } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -54,7 +53,6 @@ export default function CreateCompanyPage() { const labelCls = 'mb-1.5 block text-sm font-medium text-gray-700'; return ( -
{/* ── Page header ── */} @@ -118,6 +116,5 @@ export default function CreateCompanyPage() {
-
); } diff --git a/src/routes/admin/coupon.tsx b/src/routes/admin/coupon.tsx index b0efc00..3070a47 100644 --- a/src/routes/admin/coupon.tsx +++ b/src/routes/admin/coupon.tsx @@ -1,5 +1,4 @@ import { createResource, createSignal, Show, For } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -141,7 +140,6 @@ export default function CouponPage() { }; return ( -

Coupon Management

@@ -332,6 +330,5 @@ export default function CouponPage() {
-
); } diff --git a/src/routes/admin/credit.tsx b/src/routes/admin/credit.tsx index 9220046..b1380fd 100644 --- a/src/routes/admin/credit.tsx +++ b/src/routes/admin/credit.tsx @@ -1,5 +1,4 @@ import { createSignal, createResource, Show, For } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -135,7 +134,6 @@ export default function CreditPage() { ]; return ( -

Credit Management

@@ -403,6 +401,5 @@ export default function CreditPage() {
-
); } diff --git a/src/routes/admin/customer.tsx b/src/routes/admin/customer.tsx index 74dd6d6..aba6a43 100644 --- a/src/routes/admin/customer.tsx +++ b/src/routes/admin/customer.tsx @@ -1,5 +1,4 @@ import { For, Show, createMemo, createSignal, onMount } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; import type { CrudRecord } from '~/lib/admin/types'; const API = '/api/gateway'; @@ -105,7 +104,6 @@ export default function CustomerManagementPage() { const openDetail = (row: CustomerRecord) => { setSelectedCustomer(row); setListTab('view'); setOpenMenuId(null); }; return ( -

Customer Management

@@ -291,6 +289,5 @@ export default function CustomerManagementPage() {
-
); } diff --git a/src/routes/admin/department.tsx b/src/routes/admin/department.tsx index ea326ae..8399a01 100644 --- a/src/routes/admin/department.tsx +++ b/src/routes/admin/department.tsx @@ -1,6 +1,5 @@ import { For, Show, createMemo, createSignal, onMount } from 'solid-js'; import { useSearchParams } from '@solidjs/router'; -import AdminShell from '~/components/AdminShell'; import type { CrudRecord } from '~/lib/admin/types'; const API = '/api/gateway'; @@ -258,7 +257,6 @@ export default function DepartmentManagementPage() { }; return ( -
{/* Page header */} @@ -752,6 +750,5 @@ export default function DepartmentManagementPage() {
-
); } diff --git a/src/routes/admin/designation.tsx b/src/routes/admin/designation.tsx index df7e073..0a233a6 100644 --- a/src/routes/admin/designation.tsx +++ b/src/routes/admin/designation.tsx @@ -1,6 +1,5 @@ import { For, Show, createMemo, createSignal, onMount } from 'solid-js'; import { useSearchParams } from '@solidjs/router'; -import AdminShell from '~/components/AdminShell'; import type { CrudRecord } from '~/lib/admin/types'; const API = '/api/gateway'; @@ -355,7 +354,6 @@ export default function DesignationManagementPage() { }; return ( -
{/* Page header */} @@ -841,6 +839,5 @@ export default function DesignationManagementPage() {
-
); } diff --git a/src/routes/admin/discount.tsx b/src/routes/admin/discount.tsx index ee68827..aaffc57 100644 --- a/src/routes/admin/discount.tsx +++ b/src/routes/admin/discount.tsx @@ -1,5 +1,4 @@ import { createResource, createSignal, Show, For } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -145,7 +144,6 @@ export default function DiscountPage() { }; return ( -

Discount Management

@@ -336,6 +334,5 @@ export default function DiscountPage() {
-
); } diff --git a/src/routes/admin/employees/[id]/edit.tsx b/src/routes/admin/employees/[id]/edit.tsx index effe8bc..fd202b4 100644 --- a/src/routes/admin/employees/[id]/edit.tsx +++ b/src/routes/admin/employees/[id]/edit.tsx @@ -1,6 +1,5 @@ import { A, useNavigate, useParams } from '@solidjs/router'; import { createMemo, createResource, createSignal, For, Show } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -109,7 +108,6 @@ export default function EditEmployeePage() { const labelCls = 'mb-1.5 block text-sm font-medium text-gray-700'; return ( -
{/* ── Page header ── */} @@ -173,6 +171,5 @@ export default function EditEmployeePage() {
-
); } diff --git a/src/routes/admin/employees/create.tsx b/src/routes/admin/employees/create.tsx index d866ddc..cc5d1b0 100644 --- a/src/routes/admin/employees/create.tsx +++ b/src/routes/admin/employees/create.tsx @@ -1,6 +1,5 @@ import { A, useNavigate } from '@solidjs/router'; import { createResource, createSignal, For, onMount, Show } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -189,7 +188,6 @@ export default function CreateEmployeePage() { }; return ( -
{/* Page header */} @@ -377,6 +375,5 @@ export default function CreateEmployeePage() {
-
); } diff --git a/src/routes/admin/employees/index.tsx b/src/routes/admin/employees/index.tsx index d16c71a..c4c7cb5 100644 --- a/src/routes/admin/employees/index.tsx +++ b/src/routes/admin/employees/index.tsx @@ -1,6 +1,5 @@ import { For, Show, createMemo, createSignal, onMount } from 'solid-js'; import { useSearchParams } from '@solidjs/router'; -import AdminShell from '~/components/AdminShell'; import type { CrudRecord } from '~/lib/admin/types'; const API = '/api/gateway'; @@ -447,7 +446,6 @@ export default function EmployeeManagementPage() { }; return ( -
{/* Page header */} @@ -819,6 +817,5 @@ export default function EmployeeManagementPage() {
-
); } diff --git a/src/routes/admin/external-dashboard-management/index.tsx b/src/routes/admin/external-dashboard-management/index.tsx index 63af3cb..c8ba8c9 100644 --- a/src/routes/admin/external-dashboard-management/index.tsx +++ b/src/routes/admin/external-dashboard-management/index.tsx @@ -1,5 +1,4 @@ import { For, Show, createEffect, createMemo, createSignal, onMount } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; import DashboardDesignPreview from '~/components/admin/DashboardDesignPreview'; const API = '/api/gateway'; @@ -503,7 +502,6 @@ export default function ExternalDashboardManagementPage() { }; return ( -

External Dashboard Management

@@ -815,6 +813,5 @@ export default function ExternalDashboardManagementPage() {
-
); } diff --git a/src/routes/admin/external-roles.tsx b/src/routes/admin/external-roles.tsx index ef9f4cb..a53dd4c 100644 --- a/src/routes/admin/external-roles.tsx +++ b/src/routes/admin/external-roles.tsx @@ -1,6 +1,5 @@ import { For, Show, createMemo, createSignal, onMount, createEffect } from 'solid-js'; import { useSearchParams } from '@solidjs/router'; -import AdminShell from '~/components/AdminShell'; import type { CrudRecord } from '~/lib/admin/types'; const API = '/api/gateway'; @@ -447,7 +446,6 @@ export default function ExternalRoleManagementPage() { }; return ( -
@@ -1034,6 +1032,5 @@ export default function ExternalRoleManagementPage() {
- ); } diff --git a/src/routes/admin/financial/adjust-credit.tsx b/src/routes/admin/financial/adjust-credit.tsx index 217ce89..3c43569 100644 --- a/src/routes/admin/financial/adjust-credit.tsx +++ b/src/routes/admin/financial/adjust-credit.tsx @@ -1,9 +1,8 @@ import { onMount } from 'solid-js'; import { useNavigate } from '@solidjs/router'; -import AdminShell from '~/components/AdminShell'; export default function AdjustCreditAliasPage() { const navigate = useNavigate(); onMount(() => navigate('/admin/credit', { replace: true })); - return

Redirecting to credit management...

; + return

Redirecting to credit management...

; } diff --git a/src/routes/admin/financial/reconcile.tsx b/src/routes/admin/financial/reconcile.tsx index 784764b..994e153 100644 --- a/src/routes/admin/financial/reconcile.tsx +++ b/src/routes/admin/financial/reconcile.tsx @@ -1,9 +1,8 @@ import { onMount } from 'solid-js'; import { useNavigate } from '@solidjs/router'; -import AdminShell from '~/components/AdminShell'; export default function ReconcileAliasPage() { const navigate = useNavigate(); onMount(() => navigate('/admin/ledger', { replace: true })); - return

Redirecting to ledger management...

; + return

Redirecting to ledger management...

; } diff --git a/src/routes/admin/help/[id].tsx b/src/routes/admin/help/[id].tsx index 788ad84..b434b80 100644 --- a/src/routes/admin/help/[id].tsx +++ b/src/routes/admin/help/[id].tsx @@ -1,10 +1,8 @@ import { A, useParams } from '@solidjs/router'; -import AdminShell from '~/components/AdminShell'; export default function HelpArticlePage() { const params = useParams(); return ( -
@@ -20,6 +18,5 @@ export default function HelpArticlePage() {
-
); } diff --git a/src/routes/admin/help/support-bridge.tsx b/src/routes/admin/help/support-bridge.tsx index 05bcd40..bd2ac54 100644 --- a/src/routes/admin/help/support-bridge.tsx +++ b/src/routes/admin/help/support-bridge.tsx @@ -1,9 +1,7 @@ import { A } from '@solidjs/router'; -import AdminShell from '~/components/AdminShell'; export default function HelpSupportBridgePage() { return ( -

Support Bridge

@@ -16,6 +14,5 @@ export default function HelpSupportBridgePage() {
-
); } diff --git a/src/routes/admin/index.tsx b/src/routes/admin/index.tsx index b22aed5..337b3a4 100644 --- a/src/routes/admin/index.tsx +++ b/src/routes/admin/index.tsx @@ -16,7 +16,6 @@ import { TrendingUp, Users, } from 'lucide-solid'; -import AdminShell from '~/components/AdminShell'; import { ADMIN_DASHBOARD_WIDGETS, type DashboardWidgetDefinition, @@ -25,7 +24,7 @@ import { import type { RuntimeDashboardLayout } from '~/lib/runtime/types'; import { loadAdminDashboardLayout, saveAdminDashboardLayout } from '~/lib/runtime/storage'; -const API = import.meta.env.VITE_API_BASE_URL || 'http://localhost:8000'; +const API = '/api/gateway'; async function fetchMetrics() { const accessToken = typeof sessionStorage !== 'undefined' @@ -361,7 +360,6 @@ export default function AdminHomePage() { }; return ( -
@@ -581,6 +579,5 @@ export default function AdminHomePage() {
-
); } diff --git a/src/routes/admin/internal-dashboard-management/index.tsx b/src/routes/admin/internal-dashboard-management/index.tsx index d432a73..55d433e 100644 --- a/src/routes/admin/internal-dashboard-management/index.tsx +++ b/src/routes/admin/internal-dashboard-management/index.tsx @@ -1,5 +1,4 @@ import { For, Show, createEffect, createMemo, createSignal, onMount } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; import DashboardDesignPreview from '~/components/admin/DashboardDesignPreview'; const API = '/api/gateway'; @@ -240,7 +239,6 @@ export default function InternalDashboardManagementPage() { }; return ( -

Internal Dashboard Management

@@ -431,6 +429,5 @@ export default function InternalDashboardManagementPage() {
-
); } diff --git a/src/routes/admin/invoice.tsx b/src/routes/admin/invoice.tsx index 7f37a18..702d00a 100644 --- a/src/routes/admin/invoice.tsx +++ b/src/routes/admin/invoice.tsx @@ -1,5 +1,4 @@ import { createResource, createSignal, createMemo, Show } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -31,7 +30,6 @@ export default function InvoicePage() { }); return ( -

Invoice Management

@@ -116,6 +114,5 @@ export default function InvoicePage() {
-
); } diff --git a/src/routes/admin/jobs.tsx b/src/routes/admin/jobs.tsx index 942b2ad..1d9eeeb 100644 --- a/src/routes/admin/jobs.tsx +++ b/src/routes/admin/jobs.tsx @@ -1,5 +1,4 @@ import { For, Show, createMemo, createSignal, onMount } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; import type { CrudRecord } from '~/lib/admin/types'; const API = '/api/gateway'; @@ -124,7 +123,6 @@ export default function JobsManagementPage() { const openDetail = (row: JobRecord) => { setSelectedJob(row); setView('detail'); setOpenMenuId(null); }; return ( -

Jobs Management

@@ -268,6 +266,5 @@ export default function JobsManagementPage() {
-
); } diff --git a/src/routes/admin/jobs/[id].tsx b/src/routes/admin/jobs/[id].tsx index 4967af6..32e89cf 100644 --- a/src/routes/admin/jobs/[id].tsx +++ b/src/routes/admin/jobs/[id].tsx @@ -1,6 +1,5 @@ import { A, useParams } from '@solidjs/router'; import { createMemo, createResource, Show } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -50,7 +49,6 @@ export default function JobDetailPage() { const duration = createMemo(() => job()?.durationDays ?? job()?.duration_days); return ( -
@@ -117,6 +115,5 @@ export default function JobDetailPage() {
- ); } diff --git a/src/routes/admin/kb.tsx b/src/routes/admin/kb.tsx index 27abdb2..fc5801c 100644 --- a/src/routes/admin/kb.tsx +++ b/src/routes/admin/kb.tsx @@ -1,6 +1,5 @@ import { createResource, createSignal, createMemo, Show, For } from 'solid-js'; import { A } from '@solidjs/router'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -214,7 +213,6 @@ export default function KbPage(props: KbPageProps = {}) { }; return ( -

Knowledge Base

@@ -547,6 +545,5 @@ export default function KbPage(props: KbPageProps = {}) {
-
); } diff --git a/src/routes/admin/kb/articles/[id].tsx b/src/routes/admin/kb/articles/[id].tsx index 65f9a3c..ecfdc3f 100644 --- a/src/routes/admin/kb/articles/[id].tsx +++ b/src/routes/admin/kb/articles/[id].tsx @@ -1,6 +1,5 @@ import { A, useParams } from '@solidjs/router'; import { createResource, Show } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -32,7 +31,6 @@ export default function KbArticleDetailPage() { const [article] = createResource(() => params.id, loadArticle); return ( -
@@ -76,6 +74,5 @@ export default function KbArticleDetailPage() {
- ); } diff --git a/src/routes/admin/kb/articles/[id]/edit.tsx b/src/routes/admin/kb/articles/[id]/edit.tsx index fe949e4..4d62059 100644 --- a/src/routes/admin/kb/articles/[id]/edit.tsx +++ b/src/routes/admin/kb/articles/[id]/edit.tsx @@ -1,6 +1,5 @@ import { A, useNavigate, useParams } from '@solidjs/router'; import { createEffect, createResource, createSignal, Show } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -77,7 +76,6 @@ export default function KbArticleEditPage() { const labelCls = 'mb-1.5 block text-sm font-medium text-gray-700'; return ( -
@@ -139,6 +137,5 @@ export default function KbArticleEditPage() {
- ); } diff --git a/src/routes/admin/leads.tsx b/src/routes/admin/leads.tsx index 8033140..ff0dbe6 100644 --- a/src/routes/admin/leads.tsx +++ b/src/routes/admin/leads.tsx @@ -1,6 +1,5 @@ import { A } from '@solidjs/router'; import { createMemo, createResource, createSignal, For, Show } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -80,7 +79,6 @@ export default function LeadsPage() { }; return ( -

Leads Management

@@ -214,6 +212,5 @@ export default function LeadsPage() {
-
); } diff --git a/src/routes/admin/leads/[id].tsx b/src/routes/admin/leads/[id].tsx index dfc29ce..b9cae37 100644 --- a/src/routes/admin/leads/[id].tsx +++ b/src/routes/admin/leads/[id].tsx @@ -1,6 +1,5 @@ import { A, useParams } from '@solidjs/router'; import { createMemo, createResource, Show } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -72,7 +71,6 @@ export default function LeadDetailPage() { const updatedAt = createMemo(() => lead()?.updatedAt || lead()?.updated_at || ''); return ( -
@@ -165,6 +163,5 @@ export default function LeadDetailPage() {
- ); } diff --git a/src/routes/admin/ledger.tsx b/src/routes/admin/ledger.tsx index 21becfe..6b08142 100644 --- a/src/routes/admin/ledger.tsx +++ b/src/routes/admin/ledger.tsx @@ -1,5 +1,4 @@ import { createResource, Show, For } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -55,7 +54,6 @@ export default function LedgerPage() { const [entries] = createResource(loadLedger); return ( -

Ledger Management

@@ -115,6 +113,5 @@ export default function LedgerPage() {
-
); } diff --git a/src/routes/admin/modules.tsx b/src/routes/admin/modules.tsx index 1ef84db..bbb0c3f 100644 --- a/src/routes/admin/modules.tsx +++ b/src/routes/admin/modules.tsx @@ -1,5 +1,4 @@ import { createMemo, createResource, createSignal, For, Show } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -106,7 +105,6 @@ export default function ModulesPage() { } return ( -
{/* ── Page header ── */} @@ -257,6 +255,5 @@ export default function ModulesPage() {
-
); } diff --git a/src/routes/admin/notifications.tsx b/src/routes/admin/notifications.tsx index d38141d..5c2758c 100644 --- a/src/routes/admin/notifications.tsx +++ b/src/routes/admin/notifications.tsx @@ -1,5 +1,4 @@ import { createSignal, createMemo, Show, For } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -82,7 +81,6 @@ export default function NotificationsPage() { str && str.length > max ? str.substring(0, max) + '…' : (str || ''); return ( -
@@ -190,6 +188,5 @@ export default function NotificationsPage() {
- ); } diff --git a/src/routes/admin/onboarding-schemas/[schemaId].tsx b/src/routes/admin/onboarding-schemas/[schemaId].tsx index 027ec89..0e123ce 100644 --- a/src/routes/admin/onboarding-schemas/[schemaId].tsx +++ b/src/routes/admin/onboarding-schemas/[schemaId].tsx @@ -1,6 +1,5 @@ import { A, useParams } from '@solidjs/router'; import { createEffect, createResource, createSignal, onMount, Show } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; import OnboardingManagementTabs from '~/components/admin/OnboardingManagementTabs'; import OnboardingFlowBuilder, { buildStepsFromFields, @@ -198,7 +197,6 @@ export default function OnboardingSchemaDetailPage() { }); return ( -
@@ -252,6 +250,5 @@ export default function OnboardingSchemaDetailPage() {
- ); } diff --git a/src/routes/admin/onboarding-schemas/index.tsx b/src/routes/admin/onboarding-schemas/index.tsx index 294054a..8058e15 100644 --- a/src/routes/admin/onboarding-schemas/index.tsx +++ b/src/routes/admin/onboarding-schemas/index.tsx @@ -1,5 +1,4 @@ import { For, Match, Show, Switch, createEffect, createMemo, createSignal, onMount } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; type VerificationType = 'IDENTITY' | 'BUSINESS' | 'MIXED' | 'NONE'; @@ -668,7 +667,6 @@ export default function OnboardingManagementPage() { ); return ( -

External Onboarding Management

@@ -1481,6 +1479,5 @@ export default function OnboardingManagementPage() {
- ); } diff --git a/src/routes/admin/onboarding-schemas/new.tsx b/src/routes/admin/onboarding-schemas/new.tsx index 330c384..bf3273b 100644 --- a/src/routes/admin/onboarding-schemas/new.tsx +++ b/src/routes/admin/onboarding-schemas/new.tsx @@ -1,6 +1,5 @@ import { A, useNavigate } from '@solidjs/router'; import { createMemo, createSignal, onMount } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; import OnboardingManagementTabs from '~/components/admin/OnboardingManagementTabs'; import OnboardingFlowBuilder, { buildStepsFromFields, @@ -132,7 +131,6 @@ export default function NewOnboardingSchemaPage() { }; return ( -
@@ -168,6 +166,5 @@ export default function NewOnboardingSchemaPage() { />
- ); } diff --git a/src/routes/admin/order.tsx b/src/routes/admin/order.tsx index 89769fa..9a7848a 100644 --- a/src/routes/admin/order.tsx +++ b/src/routes/admin/order.tsx @@ -1,5 +1,4 @@ import { createResource, createSignal, createMemo, Show, For } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -69,7 +68,6 @@ export default function OrderPage() { }; return ( -

Order Management

@@ -142,6 +140,5 @@ export default function OrderPage() {
-
); } diff --git a/src/routes/admin/photographer/[id].tsx b/src/routes/admin/photographer/[id].tsx index d5e6716..02b572c 100644 --- a/src/routes/admin/photographer/[id].tsx +++ b/src/routes/admin/photographer/[id].tsx @@ -1,6 +1,5 @@ import { A, useParams } from '@solidjs/router'; import { For, createMemo, createResource, Show } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -49,7 +48,6 @@ export default function PhotographerDetailPage() { const created = createMemo(() => profile()?.createdAt || profile()?.created_at || ''); return ( -
@@ -139,6 +137,5 @@ export default function PhotographerDetailPage() {
- ); } diff --git a/src/routes/admin/pricing.tsx b/src/routes/admin/pricing.tsx index b8315e5..ee257bf 100644 --- a/src/routes/admin/pricing.tsx +++ b/src/routes/admin/pricing.tsx @@ -1,5 +1,4 @@ import { createResource, createSignal, Show, For } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -149,7 +148,6 @@ export default function PricingPage() { }; return ( -

Pricing Management

@@ -358,6 +356,5 @@ export default function PricingPage() {
-
); } diff --git a/src/routes/admin/profile/[id].tsx b/src/routes/admin/profile/[id].tsx index 5903765..d98da04 100644 --- a/src/routes/admin/profile/[id].tsx +++ b/src/routes/admin/profile/[id].tsx @@ -1,10 +1,9 @@ import { onMount } from 'solid-js'; import { useNavigate, useParams } from '@solidjs/router'; -import AdminShell from '~/components/AdminShell'; export default function ProfileAliasPage() { const navigate = useNavigate(); const params = useParams(); onMount(() => navigate(`/admin/users/details/${params.id}`, { replace: true })); - return

Redirecting to user profile detail...

; + return

Redirecting to user profile detail...

; } diff --git a/src/routes/admin/report.tsx b/src/routes/admin/report.tsx index d6faa8d..4fda1f3 100644 --- a/src/routes/admin/report.tsx +++ b/src/routes/admin/report.tsx @@ -1,5 +1,4 @@ import { createSignal, Show } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -45,7 +44,6 @@ export default function ReportPage() { }; return ( -

Report Management

@@ -117,6 +115,5 @@ export default function ReportPage() {
-
); } diff --git a/src/routes/admin/requirements/[id].tsx b/src/routes/admin/requirements/[id].tsx index 7203cd3..9f35d7f 100644 --- a/src/routes/admin/requirements/[id].tsx +++ b/src/routes/admin/requirements/[id].tsx @@ -1,6 +1,5 @@ import { A, useParams } from '@solidjs/router'; import { createMemo, createResource, Show } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -39,7 +38,6 @@ export default function RequirementDetailPage() { const updatedAt = createMemo(() => requirement()?.updated_at || ''); return ( -
@@ -119,7 +117,6 @@ export default function RequirementDetailPage() {
- ); } diff --git a/src/routes/admin/responses.tsx b/src/routes/admin/responses.tsx index 147682c..397e182 100644 --- a/src/routes/admin/responses.tsx +++ b/src/routes/admin/responses.tsx @@ -1,5 +1,4 @@ import { createMemo, createResource, createSignal, For, Show } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -82,7 +81,6 @@ export default function ResponsesPage() { } return ( -
{/* ── Page header ── */} @@ -164,6 +162,5 @@ export default function ResponsesPage() {
-
); } diff --git a/src/routes/admin/review.tsx b/src/routes/admin/review.tsx index f4ffc69..3de134f 100644 --- a/src/routes/admin/review.tsx +++ b/src/routes/admin/review.tsx @@ -1,5 +1,4 @@ import { createResource, createSignal, createMemo, Show, For } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -119,7 +118,6 @@ export default function ReviewPage() { }; return ( -

Review Management

@@ -319,6 +317,5 @@ export default function ReviewPage() {
-
); } diff --git a/src/routes/admin/role-ui-configs/[roleKey].tsx b/src/routes/admin/role-ui-configs/[roleKey].tsx index 749b207..ffa03d3 100644 --- a/src/routes/admin/role-ui-configs/[roleKey].tsx +++ b/src/routes/admin/role-ui-configs/[roleKey].tsx @@ -1,6 +1,5 @@ import { useNavigate, useParams } from '@solidjs/router'; import { onMount } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; export default function EditRoleUiConfigRedirectPage() { const navigate = useNavigate(); @@ -12,10 +11,8 @@ export default function EditRoleUiConfigRedirectPage() { }); return ( -

Redirecting to External Dashboard Management...

-
); } diff --git a/src/routes/admin/role-ui-configs/index.tsx b/src/routes/admin/role-ui-configs/index.tsx index 5bdc2c3..a97ad7d 100644 --- a/src/routes/admin/role-ui-configs/index.tsx +++ b/src/routes/admin/role-ui-configs/index.tsx @@ -1,6 +1,5 @@ import { A, useNavigate, useSearchParams } from '@solidjs/router'; import { createMemo, createResource, Show } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; import ExternalRoleTabs from '~/components/admin/ExternalRoleTabs'; const API = '/api/gateway'; @@ -78,7 +77,6 @@ export default function RoleUiConfigsViewPage() { }); return ( -

External Dashboard Management

@@ -229,6 +227,5 @@ export default function RoleUiConfigsViewPage() {
-
); } diff --git a/src/routes/admin/role-ui-configs/new.tsx b/src/routes/admin/role-ui-configs/new.tsx index 5a3c610..8435de1 100644 --- a/src/routes/admin/role-ui-configs/new.tsx +++ b/src/routes/admin/role-ui-configs/new.tsx @@ -1,6 +1,5 @@ import { useNavigate } from '@solidjs/router'; import { onMount } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; export default function CreateRoleUiConfigRedirectPage() { const navigate = useNavigate(); @@ -10,10 +9,8 @@ export default function CreateRoleUiConfigRedirectPage() { }); return ( -

Redirecting to External Dashboard Management...

-
); } diff --git a/src/routes/admin/roles/[id]/edit.tsx b/src/routes/admin/roles/[id]/edit.tsx index 2f4da7a..e2e6d3c 100644 --- a/src/routes/admin/roles/[id]/edit.tsx +++ b/src/routes/admin/roles/[id]/edit.tsx @@ -1,6 +1,5 @@ import { A, useNavigate, useParams } from '@solidjs/router'; import { createEffect, createMemo, createResource, createSignal, For, Show } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -214,7 +213,6 @@ export default function EditInternalRolePage() { }; return ( -
{/* Page title */} @@ -471,7 +469,6 @@ export default function EditInternalRolePage() {
-
); } diff --git a/src/routes/admin/roles/[id]/index.tsx b/src/routes/admin/roles/[id]/index.tsx index 97c6b05..cd4fd93 100644 --- a/src/routes/admin/roles/[id]/index.tsx +++ b/src/routes/admin/roles/[id]/index.tsx @@ -1,6 +1,5 @@ import { A, useParams } from '@solidjs/router'; import { createMemo, createResource, For, Show } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -58,7 +57,6 @@ export default function RoleDetailPage() { const isSuperAdmin = createMemo(() => (role()?.key || '').toUpperCase() === 'SUPER_ADMIN'); return ( -
{/* Page title */} @@ -218,7 +216,6 @@ export default function RoleDetailPage() {
-
); } diff --git a/src/routes/admin/roles/create.tsx b/src/routes/admin/roles/create.tsx index b85cddb..61de062 100644 --- a/src/routes/admin/roles/create.tsx +++ b/src/routes/admin/roles/create.tsx @@ -1,6 +1,5 @@ import { A, useNavigate } from '@solidjs/router'; import { createEffect, createMemo, createResource, createSignal, For, Show } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -189,7 +188,6 @@ export default function CreateInternalRolePage() { }; return ( -
{/* Page header */} @@ -451,7 +449,6 @@ export default function CreateInternalRolePage() {
-
); } diff --git a/src/routes/admin/roles/index.tsx b/src/routes/admin/roles/index.tsx index da6211c..67bf53f 100644 --- a/src/routes/admin/roles/index.tsx +++ b/src/routes/admin/roles/index.tsx @@ -1,5 +1,4 @@ import { For, Show, createEffect, createMemo, createResource, createSignal, onMount } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; import type { CrudRecord } from '~/lib/admin/types'; const API = '/api/gateway'; @@ -429,7 +428,6 @@ export default function RoleManagementPage() { }; return ( -
@@ -881,6 +879,5 @@ export default function RoleManagementPage() {
- ); } diff --git a/src/routes/admin/roles/templates.tsx b/src/routes/admin/roles/templates.tsx index d19fb9e..67cd645 100644 --- a/src/routes/admin/roles/templates.tsx +++ b/src/routes/admin/roles/templates.tsx @@ -1,6 +1,5 @@ import { A } from '@solidjs/router'; import { createMemo, createResource, For, Show } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -35,7 +34,6 @@ export default function RoleTemplatesPage() { const count = createMemo(() => (templates() || []).length); return ( -
@@ -93,6 +91,5 @@ export default function RoleTemplatesPage() {
-
); } diff --git a/src/routes/admin/runtime-roles/[roleKey].tsx b/src/routes/admin/runtime-roles/[roleKey].tsx index 7ef11c4..ec52bbb 100644 --- a/src/routes/admin/runtime-roles/[roleKey].tsx +++ b/src/routes/admin/runtime-roles/[roleKey].tsx @@ -1,6 +1,5 @@ import { A, useNavigate, useParams } from '@solidjs/router'; import { createMemo, createResource, createSignal, Show } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; import ExternalRoleForm, { type ExternalRoleConfig } from '~/components/admin/ExternalRoleForm'; import ExternalRoleTabs from '~/components/admin/ExternalRoleTabs'; @@ -151,7 +150,6 @@ export default function EditExternalRolePage() { }; return ( -
@@ -197,6 +195,5 @@ export default function EditExternalRolePage() {
- ); } diff --git a/src/routes/admin/runtime-roles/index.tsx b/src/routes/admin/runtime-roles/index.tsx index 539e78a..1a8ba2c 100644 --- a/src/routes/admin/runtime-roles/index.tsx +++ b/src/routes/admin/runtime-roles/index.tsx @@ -1,7 +1,6 @@ import { A } from '@solidjs/router'; import { createResource, createSignal, For, Show } from 'solid-js'; import { Globe, ShieldCheck, ShieldOff, Layers, MoreVertical, Search, Plus } from 'lucide-solid'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -86,7 +85,6 @@ export default function ExternalRolesPage() { }; return ( -
{/* Page header */} @@ -253,6 +251,5 @@ export default function ExternalRolesPage() {
-
); } diff --git a/src/routes/admin/runtime-roles/new.tsx b/src/routes/admin/runtime-roles/new.tsx index 29d9ab5..49ee2f4 100644 --- a/src/routes/admin/runtime-roles/new.tsx +++ b/src/routes/admin/runtime-roles/new.tsx @@ -1,6 +1,5 @@ import { A, useNavigate } from '@solidjs/router'; import { createResource, createSignal, Show } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; import ExternalRoleForm, { type ExternalRoleConfig } from '~/components/admin/ExternalRoleForm'; import ExternalRoleTabs from '~/components/admin/ExternalRoleTabs'; @@ -83,7 +82,6 @@ export default function CreateExternalRolePage() { }; return ( -

Create External Role

@@ -108,6 +106,5 @@ export default function CreateExternalRolePage() { />
-
); } diff --git a/src/routes/admin/support.tsx b/src/routes/admin/support.tsx index 51758df..c78c1f9 100644 --- a/src/routes/admin/support.tsx +++ b/src/routes/admin/support.tsx @@ -1,6 +1,5 @@ import { createResource, createSignal, createMemo, Show, For } from 'solid-js'; import { A } from '@solidjs/router'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -157,7 +156,6 @@ export default function SupportPage() { ]; return ( -

Support Management

@@ -371,6 +369,5 @@ export default function SupportPage() {
-
); } diff --git a/src/routes/admin/tax.tsx b/src/routes/admin/tax.tsx index 871f2a9..b739b33 100644 --- a/src/routes/admin/tax.tsx +++ b/src/routes/admin/tax.tsx @@ -1,5 +1,4 @@ import { createResource, createSignal, Show } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -63,7 +62,6 @@ export default function TaxPage() { }; return ( -
@@ -178,6 +176,5 @@ export default function TaxPage() {
-
); } diff --git a/src/routes/admin/users.tsx b/src/routes/admin/users.tsx index 231dd3b..182e801 100644 --- a/src/routes/admin/users.tsx +++ b/src/routes/admin/users.tsx @@ -1,5 +1,4 @@ import { For, Show, createMemo, createSignal, onMount } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; type RegisteredRole = { key: string; @@ -66,7 +65,11 @@ export default function UsersManagementPage() { const load = async () => { try { - const r = await fetch('/api/gateway/api/admin/users'); + const accessToken = typeof sessionStorage !== 'undefined' ? sessionStorage.getItem('nxtgauge_admin_access_token') || '' : ''; + const r = await fetch('/api/gateway/api/admin/users', { + headers: { Accept: 'application/json', ...(accessToken ? { Authorization: `Bearer ${accessToken}` } : {}) }, + credentials: 'include', + }); if (!r.ok) throw new Error('Failed to fetch users'); const data = await r.json(); @@ -199,7 +202,6 @@ export default function UsersManagementPage() { }; return ( -

Users Management

@@ -555,6 +557,5 @@ export default function UsersManagementPage() {
-
); } diff --git a/src/routes/admin/users/[id]/edit.tsx b/src/routes/admin/users/[id]/edit.tsx index 5d0e033..7e100a4 100644 --- a/src/routes/admin/users/[id]/edit.tsx +++ b/src/routes/admin/users/[id]/edit.tsx @@ -1,6 +1,5 @@ import { A, useNavigate, useParams } from '@solidjs/router'; import { createMemo, createResource, createSignal, Show } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -113,7 +112,6 @@ export default function EditUserPage() { }; return ( -
@@ -181,6 +179,5 @@ export default function EditUserPage() {
- ); } diff --git a/src/routes/admin/users/details/[id].tsx b/src/routes/admin/users/details/[id].tsx index baaaba4..af038f8 100644 --- a/src/routes/admin/users/details/[id].tsx +++ b/src/routes/admin/users/details/[id].tsx @@ -1,6 +1,5 @@ import { A, useParams, useSearchParams } from '@solidjs/router'; import { createMemo, createResource, For, Show } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; const API = '/api/gateway'; @@ -160,7 +159,6 @@ export default function UserDetailPage() { }); return ( -
@@ -270,6 +268,5 @@ export default function UserDetailPage() {
- ); } diff --git a/src/routes/admin/verification.tsx b/src/routes/admin/verification.tsx index b91fdd3..bfdbd7f 100644 --- a/src/routes/admin/verification.tsx +++ b/src/routes/admin/verification.tsx @@ -1,6 +1,5 @@ import { A } from '@solidjs/router'; import { For, Show, createMemo, createSignal, onMount } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; type VerificationStatus = 'PENDING' | 'UNDER_REVIEW' | 'DOCUMENTS_REQUESTED' | 'REVISION_REQUESTED' | 'APPROVED' | 'REJECTED'; type VerificationPriority = 'HIGH' | 'MEDIUM' | 'LOW'; @@ -668,7 +667,6 @@ export default function VerificationManagementPage() { }; return ( -

Verification Management

@@ -1087,6 +1085,5 @@ export default function VerificationManagementPage() {
-
); } diff --git a/src/routes/admin/verification/[id].tsx b/src/routes/admin/verification/[id].tsx index 0741c40..647a781 100644 --- a/src/routes/admin/verification/[id].tsx +++ b/src/routes/admin/verification/[id].tsx @@ -1,6 +1,5 @@ import { A, useSearchParams, useParams } from '@solidjs/router'; import { For, Show, createMemo, createSignal } from 'solid-js'; -import AdminShell from '~/components/AdminShell'; type Status = 'UNDER_REVIEW' | 'DOCUMENTS_REQUESTED' | 'REVISION_REQUESTED' | 'APPROVED' | 'REJECTED'; @@ -139,7 +138,6 @@ export default function VerificationReviewDetailPage() { const roleLabel = createMemo(() => String(searchParams.type || 'Portfolio Approval')); return ( -
-
); } diff --git a/src/routes/admin/workspace/[menuId].tsx b/src/routes/admin/workspace/[menuId].tsx index 76e583d..14c26c5 100644 --- a/src/routes/admin/workspace/[menuId].tsx +++ b/src/routes/admin/workspace/[menuId].tsx @@ -1,16 +1,13 @@ import { onMount } from 'solid-js'; import { useNavigate, useParams } from '@solidjs/router'; -import AdminShell from '~/components/AdminShell'; export default function WorkspaceMenuAliasPage() { const navigate = useNavigate(); const params = useParams(); onMount(() => navigate('/admin', { replace: true })); return ( -

Redirecting workspace menu {params.menuId} to dashboard...

-
); }