From 740ab31f8c8e44976007088a2774f0216360e5a1 Mon Sep 17 00:00:00 2001 From: ZGaetano Date: Sat, 23 May 2026 10:48:42 -0400 Subject: [PATCH] feat(app): wire the new Dashboard route alongside the Home launcher MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit home → launcher (big-button entry into each section) dashboard → operations view (was Home; metrics, recent activity, queue) Crumb labels updated so Home stays one level (just the wordmark) and Dashboard gets its own breadcrumb. --- services/web-ui/public/app.jsx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/services/web-ui/public/app.jsx b/services/web-ui/public/app.jsx index d1af2db..91357d3 100644 --- a/services/web-ui/public/app.jsx +++ b/services/web-ui/public/app.jsx @@ -37,7 +37,9 @@ function App() { { label: openProject.name }, ]; const labels = { - home: ['Home'], library: ['Library'], projects: ['Projects'], + home: ['Dragonflight'], + dashboard: ['Dashboard'], + library: ['Library'], projects: ['Projects'], upload: ['Ingest', 'Upload'], recorders: ['Ingest', 'Recorders'], schedule: ['Ingest', 'Schedule'], capture: ['Ingest', 'Capture'], monitors: ['Ingest', 'Monitors'], @@ -61,12 +63,17 @@ function App() { ); } + // Home is the launcher and renders edge-to-edge — skip the topbar so the + // hero logo + tiles get the full canvas. + const isLauncher = route === 'home' && !openAsset; + let content; if (openAsset) { content = setOpenAsset(null)} />; } else { switch (route) { case 'home': content = ; break; + case 'dashboard': content = ; break; case 'library': content = ; break; case 'projects': content = ; break; case 'upload': content = ; break; @@ -89,7 +96,7 @@ function App() {
- {!openAsset && ( + {!openAsset && !isLauncher && (