From cd339af91b19c3f6b64aaceb786a1eea729de96e Mon Sep 17 00:00:00 2001 From: iris Date: Sat, 29 Aug 2026 10:14:35 +0200 Subject: [PATCH] agent.css: delete dead .overflow-btn/.overflow-menu/.overflow-item rules MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `OverflowMenu.tsx`/`.css` were deleted (rebuild button removed outright, dashboard link moved into `MetaNav`), but `agent.css` still carried the whole trigger+popover+item rule set — grepped the entire `agent` package, none of these classnames appear in any current markup. Also fixed three tombstone comments elsewhere in the file that pointed at the now-also-deleted `.overflow-item-*` classes as "where it moved to" — they'd have dangled once those rules were gone too. And two stale doc claims caught in the same sweep: `docs/web-ui/agent.md` still listed `OverflowMenu.tsx` in the header's component tree and described "the overflow menu" as a live effort-picker location. --- docs/web-ui/agent.md | 8 +- frontend/packages/agent/src/agent.css | 140 ++------------------------ 2 files changed, 15 insertions(+), 133 deletions(-) diff --git a/docs/web-ui/agent.md b/docs/web-ui/agent.md index fb956086..af065280 100644 --- a/docs/web-ui/agent.md +++ b/docs/web-ui/agent.md @@ -11,8 +11,8 @@ panel for flyouts and long content. ## Header Preact component tree (`Header.tsx` + `StatusChips.tsx` + -`MetaNav.tsx` + `OverflowMenu.tsx` + `HeaderPill.tsx`, wired together -in `Root.tsx`) — see `frontend/packages/agent/src/components/`. This +`MetaNav.tsx` + `HeaderPill.tsx`, wired together in `Root.tsx`) — see +`frontend/packages/agent/src/components/`. This section describes the rendered result, not the DOM ids the pre-Preact page used (there are none any more — every element is component output, not something a selector reaches by id). @@ -253,8 +253,8 @@ Slash commands today: restart / rebuild. - `/effort ` — `POST /api/effort` setting the claude effort level (`low` / `medium` / `high` / `xhigh` / `max`). Takes effect on the next - turn. The overflow menu surfaces an effort picker that calls the - same endpoint; both stay in sync via `StateSnapshot.effort`. + turn. `StatusChips`' effort badge calls the same endpoint; both stay + in sync via `StateSnapshot.effort`. - `/new-session` — `POST /api/new-session` (confirms first). Arms a one-shot on the Bus; next turn runs without `--continue`, dropping the resume session entirely. diff --git a/frontend/packages/agent/src/agent.css b/frontend/packages/agent/src/agent.css index 646a9442..172e328a 100644 --- a/frontend/packages/agent/src/agent.css +++ b/frontend/packages/agent/src/agent.css @@ -198,127 +198,6 @@ h2, h3 { text-shadow: 0 0 10px color-mix(in srgb, var(--cyan) 85%, transparent); } -/* Overflow menu trigger — `⋯` round button on the right of the - pills row. Quiet by default, lights on hover / open. */ -.overflow-btn { - background: transparent; - border: 1px solid var(--purple-dim); - color: var(--muted); - border-radius: 999px; - width: 2em; - height: 1.8em; - font-size: 1em; - line-height: 1; - cursor: pointer; - padding: 0; - display: inline-flex; - align-items: center; - justify-content: center; - transition: color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease; -} -.overflow-btn:hover, -.overflow-btn[aria-expanded="true"] { - color: var(--purple); - border-color: var(--purple); - box-shadow: 0 0 10px -2px var(--purple); -} - -/* Overflow popover — rebuild + new-session + logout (and the - dashboard back-link, prepended in app.js setHeader). Positioned - in JS so the menu's top-right corner anchors under the trigger - button. See docs/web-ui.md::Per-agent page (Overflow button) - for the `:not([hidden])` scoping rationale. */ -.overflow-menu:not([hidden]) { - display: flex; - flex-direction: column; - gap: 0.15em; -} -.overflow-menu { - position: fixed; - background: var(--agent-frost-bg); - -webkit-backdrop-filter: var(--agent-frost-blur); - backdrop-filter: var(--agent-frost-blur); - border: 1px solid var(--purple-dim); - border-radius: 6px; - padding: 0.35em; - z-index: 40; - box-shadow: 0 10px 26px rgba(0, 0, 0, 0.45); - min-width: 14em; -} -.overflow-item { - background: transparent; - border: 1px solid transparent; - color: var(--fg); - font-family: inherit; - font-size: 0.9em; - text-align: left; - padding: 0.4em 0.7em; - border-radius: 4px; - cursor: pointer; - display: flex; - align-items: center; - gap: 0.6em; - letter-spacing: 0.06em; - text-decoration: none; - text-shadow: 0 0 4px currentColor; - transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease; -} -.overflow-item:hover { - background: color-mix(in srgb, var(--purple) 8%, transparent); - border-color: var(--purple-dim); -} -.overflow-item-icon { - font-size: 1.05em; - width: 1.4em; - text-align: center; - flex-shrink: 0; -} -.overflow-item-rebuild { color: var(--amber); } -.overflow-item-new-session { color: var(--amber); } -.overflow-item-rebuild:hover, -.overflow-item-new-session:hover { - background: color-mix(in srgb, var(--amber) 10%, transparent); - border-color: var(--amber); -} -.overflow-item-dashboard { color: var(--cyan); } -.overflow-item-dashboard:hover { - background: color-mix(in srgb, var(--cyan) 10%, transparent); - border-color: var(--cyan); -} -.overflow-item:disabled { - opacity: 0.4; - cursor: progress; -} -.overflow-sep { - height: 1px; - background: var(--border); - margin: 0.3em 0.4em; -} -.overflow-section-label { - font-size: 0.72em; - letter-spacing: 0.1em; - color: var(--muted); - padding: 0 0.7em 0.1em; - text-transform: uppercase; -} -.overflow-item-model, -.overflow-item-effort { - color: var(--muted); - font-variant-numeric: tabular-nums; -} -.overflow-item-model:hover, -.overflow-item-effort:hover { - color: var(--fg); - background: color-mix(in srgb, var(--purple) 8%, transparent); - border-color: var(--purple-dim); -} -.overflow-item-model.active, -.overflow-item-effort.active { - color: var(--purple); - border-color: var(--purple-dim); - background: color-mix(in srgb, var(--purple) 6%, transparent); -} - /* Header pill (inbox / loose-ends triggers) — no CSS of its own any more. `HeaderPill.tsx` renders `@hive/shared`'s `Badge` directly now (mara: "cant we reuse the badge component") instead of a hand-styled @@ -416,8 +295,10 @@ a:hover { color: var(--fg); text-shadow: 0 0 12px color-mix(in srgb, var(--cyan) .btn-cancel { color: var(--red); border-color: var(--red); font-size: 0.85em; padding: 0.15em 0.6em; } /* Orphaned rules — left here as a tombstone so a search for the class name finds them. Live consumers gone: - - `.btn-rebuild` was a per-agent header chip (covered now by - `.overflow-item-rebuild` in the overflow menu). + - `.btn-rebuild` was a per-agent header chip, then briefly an + overflow-menu item (`.overflow-item-rebuild`, also since deleted, + see MetaNav.tsx's file comment) — the button itself is gone + outright now, no replacement. - `.btn-send` was a green send-button variant — the dashboard's compose form that used it is retired. */ .sendform { display: flex; gap: 0.6em; margin-top: 0.5em; } @@ -616,8 +497,9 @@ pre.diff { .status-badge.status-needs-login { color: var(--amber); border-color: var(--amber); } .status-badge.status-offline { color: var(--muted); border-color: var(--muted); } /* Orphaned tombstone — `.btn-dashlink` chip that lived beside the - title was moved into the overflow menu (`.overflow-item-dashboard` - covers it now). */ + title moved into the overflow menu, then into `MetaNav`'s `🔗` + popover (the `↑ dashboard` item) once the overflow menu itself was + deleted — see MetaNav.tsx's file comment. */ .btn-cancel-turn { font-family: inherit; font-size: 0.8em; @@ -635,10 +517,10 @@ pre.diff { background: color-mix(in srgb, var(--red) 10%, transparent); box-shadow: 0 0 10px -2px currentColor; } -/* Orphaned tombstone — `.btn-new-session` round-pill moved into - the overflow menu (`.overflow-item-new-session` covers it; the - `:disabled` opacity treatment lives on the shared - `.overflow-item:disabled` rule). */ +/* Orphaned tombstone — `.btn-new-session` round-pill moved into the + overflow menu, then out of the header entirely: it's the + `/new-session` slash command now (TermInput.tsx), no button/chip + left to style. */ /* Markup carries `hive-pill` alongside `state-badge` (shared pill.css supplies the shape); this rule is only the transition + state- specific colour below. */