feat(frontend): add the H0M3 menu-hub page (#1464 step 1)
First step of the dashboard-tab consolidation (#1464): a static menu page linking to every top-level surface, so the tab strip can later shed its `→` page-links and the dashboard can graduate Stats/Settings to their own pages. - dashboard/src/home.{html,css,js}: a responsive grid of link tiles (D4SHB04RD, FL0W, L0GS, M4TR1X). Pure portal — no tabbar/SSE. Colours from the shared theme.css, base typography from common.css. The Matrix tile is hidden until home.js confirms `matrix_gui_enabled` (same gating as the dashboard's M4TR1X tab); home.js also fills the swarm/hive identity line. - build.mjs: emit home.{html,css,js}. Served at `/home.html` for now (additive — reachable via the existing ServeDir, links to surfaces at their current routes). Promoting it to `/` (and relocating the dashboard to `/dashboard` + wiring `← home` back-links) is the next step — a route swap that touches hive-c0re's static router, coordinating with damocles. Deliberately decoupled so this page ships standalone without conflicting with the in-flight tabs.js change (#1449/#1451). Part of #1464.
This commit is contained in:
parent
3cac374c60
commit
b0eb824cfa
4 changed files with 150 additions and 3 deletions
55
frontend/packages/dashboard/src/home.html
Normal file
55
frontend/packages/dashboard/src/home.html
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>hyperhive // h0m3</title>
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
|
||||
<link rel="stylesheet" href="/static/theme.css">
|
||||
<link rel="stylesheet" href="/static/common.css">
|
||||
<link rel="stylesheet" href="/static/home.css">
|
||||
</head>
|
||||
<body class="home-shell">
|
||||
|
||||
<!-- H0M3: the menu hub. A plain grid of links to every top-level
|
||||
surface. Per #1464 this becomes the page served at `/` once the
|
||||
route swap lands (dashboard relocates to /dashboard); for now it
|
||||
lives at /home.html and links to the surfaces at their current
|
||||
routes. No tabbar / SSE — it's a static portal. -->
|
||||
<header class="home-header">
|
||||
<p class="banner-thin" id="hive-identity" hidden></p>
|
||||
<pre class="banner">░▒▓█▓▒░ ░▒▓█▓▒░ H Y P E R H I V E · H0M3 ░▒▓█▓▒░ ░▒▓█▓▒░</pre>
|
||||
</header>
|
||||
|
||||
<main class="home-main">
|
||||
<nav class="home-menu" aria-label="hyperhive surfaces">
|
||||
|
||||
<a class="home-tile" href="/">
|
||||
<span class="home-tile-label">◆ D4SHB04RD ◆</span>
|
||||
<span class="home-tile-desc">containers · approvals · system · stats</span>
|
||||
</a>
|
||||
|
||||
<a class="home-tile" href="/flow.html">
|
||||
<span class="home-tile-label">◆ FL0W ◆</span>
|
||||
<span class="home-tile-desc">all-agents chat + operator inbox</span>
|
||||
</a>
|
||||
|
||||
<a class="home-tile" href="/logs.html">
|
||||
<span class="home-tile-label">◆ L0GS ◆</span>
|
||||
<span class="home-tile-desc">build · agent · system logs</span>
|
||||
</a>
|
||||
|
||||
<!-- Matrix tile: hidden until home.js confirms the matrix GUI is
|
||||
enabled (state.matrix_gui_enabled), mirroring the dashboard
|
||||
tab gating so operators without it don't see a dead link. -->
|
||||
<a class="home-tile" id="home-tile-matrix" href="/matrix/" hidden>
|
||||
<span class="home-tile-label">◆ M4TR1X ◆</span>
|
||||
<span class="home-tile-desc">matrix chat client</span>
|
||||
</a>
|
||||
|
||||
</nav>
|
||||
</main>
|
||||
|
||||
<script type="module" src="/static/home.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Reference in a new issue