feat(app): route dashboard separately from home; add to crumbs map

The launcher (Home) and the operations view (Dashboard) are now
distinct routes. Home is the landing page; Dashboard is reached from
the sidebar or from the launcher's "Open dashboard" tile.
This commit is contained in:
Zac Gaetano 2026-05-23 10:53:31 -04:00
parent 740ab31f8c
commit 74fc8323f0

View file

@ -37,8 +37,7 @@ function App() {
{ label: openProject.name },
];
const labels = {
home: ['Dragonflight'],
dashboard: ['Dashboard'],
home: ['Home'], dashboard: ['Dashboard'],
library: ['Library'], projects: ['Projects'],
upload: ['Ingest', 'Upload'], recorders: ['Ingest', 'Recorders'],
schedule: ['Ingest', 'Schedule'],
@ -63,10 +62,6 @@ 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)} />;
@ -92,11 +87,14 @@ function App() {
}
}
// Home (launcher) suppresses the topbar it's a full-bleed landing page.
const hideTopbar = !openAsset && route === 'home';
return (
<div className="app" data-density="comfortable" data-grid-size="md" data-sidebar="expanded">
<Sidebar active={openAsset ? 'library' : route} onNavigate={navigate} />
<div className="main">
{!openAsset && !isLauncher && (
{!openAsset && !hideTopbar && (
<Topbar
crumbs={crumbs}
onNavigate={navigate}