feat(app): wire the new Dashboard route alongside the Home launcher

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.
This commit is contained in:
Zac Gaetano 2026-05-23 10:48:42 -04:00
parent 72fc9cb755
commit 740ab31f8c

View file

@ -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 = <AssetDetail asset={openAsset} onClose={() => setOpenAsset(null)} />;
} else {
switch (route) {
case 'home': content = <Home navigate={navigate} />; break;
case 'dashboard': content = <Dashboard navigate={navigate} />; break;
case 'library': content = <Library navigate={navigate} onOpenAsset={setOpenAsset} openProject={openProject} />; break;
case 'projects': content = <Projects navigate={navigate} onOpenProject={openProjectFromAnywhere} />; break;
case 'upload': content = <Upload navigate={navigate} />; break;
@ -89,7 +96,7 @@ function App() {
<div className="app" data-density="comfortable" data-grid-size="md" data-sidebar="expanded">
<Sidebar active={openAsset ? 'library' : route} onNavigate={navigate} />
<div className="main">
{!openAsset && (
{!openAsset && !isLauncher && (
<Topbar
crumbs={crumbs}
onNavigate={navigate}