feat(web): admin backoffice — meshes, sessions, invites, audit, overview
Some checks failed
CI / Tests / 🧪 Test (push) Has been cancelled
Some checks failed
CI / Tests / 🧪 Test (push) Has been cancelled
Four new admin routes backed by the mesh API modules: - /admin/meshes — paginated data-table (name, owner, tier, transport, members, created). Tier + transport multiSelect filters. - /admin/meshes/[id] — detail page: owner row + 4 live sections (members, presences, invites, last 50 audit events). - /admin/sessions — live Claude Code WS presences. Status filter, pulse dot for working sessions, disconnected badge. - /admin/invites — invite tokens w/ status derived client-side (active/revoked/expired/exhausted). - /admin/audit — metadata-only event log, event-type + mesh + date filters. Overview page at /admin rewritten to 6 summary cards (users, orgs, customers, meshes, sessions, messages 24h) joining the base /admin/summary and /admin/summary/mesh endpoints. Sidebar navigation gains a second "mesh" group with the four new entries. paths.ts extended with admin.meshes / sessions / invites / audit. All UI reuses @turbostarter/ui-web/data-table — columns.tsx + thin *-data-table.tsx wrapper per the existing users pattern. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -35,6 +35,31 @@ const menu = [
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: "mesh",
|
||||
items: [
|
||||
{
|
||||
title: "meshes",
|
||||
href: pathsConfig.admin.meshes.index,
|
||||
icon: Icons.Share,
|
||||
},
|
||||
{
|
||||
title: "sessions",
|
||||
href: pathsConfig.admin.sessions.index,
|
||||
icon: Icons.Activity,
|
||||
},
|
||||
{
|
||||
title: "invites",
|
||||
href: pathsConfig.admin.invites.index,
|
||||
icon: Icons.Link,
|
||||
},
|
||||
{
|
||||
title: "audit",
|
||||
href: pathsConfig.admin.audit.index,
|
||||
icon: Icons.ScrollText,
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
export default async function AdminLayout({
|
||||
|
||||
Reference in New Issue
Block a user