agent.css: delete dead .overflow-btn/.overflow-menu/.overflow-item rules

`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.
This commit is contained in:
iris 2026-08-29 10:14:35 +02:00
commit cd339af91b
2 changed files with 15 additions and 133 deletions

View file

@ -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 <level>``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.

View file

@ -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. */