feat(dashboard): add standalone C0R3 page (system tab → its own page)
Carves the dashboard's SYST3M tab content out into a standalone page at /core.html, reached from the H0M3 hub, with a createTabStrip sub-tab strip (default = Rebuild Queue): rebuild queue, meta inputs, kept state, container load. Same minimal-chrome standalone-page pattern as /logs.html (← home back-link + sub-tab nav). This is the additive first step: the new page is its own esbuild bundle that cold-loads /api/state and subscribes to /dashboard/stream for the same live rebuild_queue_changed / meta_inputs_changed / meta_update_running / tombstones_changed events the dashboard uses. The four section renderers are ported from tabs.js; the dashboard's SYST3M tab is left in place and untouched, so this PR cannot regress the existing dashboard. Removing the now-duplicate SYST3M tab + de-duplicating the renderers (into a shared module) + splitting the shared section CSS out of dashboard.css is the deliberate follow-up. core.css imports dashboard.css wholesale (transitional) so the ported sections render identically; dashboard.css does not import common.css so nothing double-loads. build.mjs gains core.js / core.css / core.html entries; no Rust change (hive-c0re serves dist/ via ServeDir, and the /dashboard/stream + /dashboard/history routes are registered ahead of the fallback). Page name "C0R3" is a placeholder pending the operator's pick — trivially renamed (the /core.html URL + the C0R3 label).
This commit is contained in:
parent
8792db9424
commit
be8d97ded7
5 changed files with 683 additions and 3 deletions
|
|
@ -68,6 +68,14 @@
|
|||
<span class="home-tile-desc">operator-local prefs · browser notifications</span>
|
||||
</a>
|
||||
|
||||
<a class="home-tile" href="/core.html">
|
||||
<span class="home-tile-head">
|
||||
<span class="home-tile-icon" aria-hidden="true">⬡</span>
|
||||
<span class="home-tile-label">Core</span>
|
||||
</span>
|
||||
<span class="home-tile-desc">rebuild queue · meta inputs · kept state · container load</span>
|
||||
</a>
|
||||
|
||||
<!-- Forge tile: hidden until home.js confirms the hive-forge
|
||||
container is up (state.forge_present); home.js also fills the
|
||||
href from state.forge_public_url (or the :3000 fallback), so
|
||||
|
|
|
|||
Loading…
Reference in a new issue