badge: add a quiet variant for icon-only header triggers

Badge's default look is a filled pill, right for status/picker chips
but wrong for an icon-only header button like the settings gear or
agent links trigger, which should read as chrome. Add variant='quiet'
(same naming/shape as Button's ButtonVariant) that drops the idle
background, keeping the existing hover/expanded feedback.

Apply it to the two icon-only Badge triggers: shared SettingsMenu
(used by both swarm-ui and the agent page) and the agent page's own
MetaNav links trigger. Add a components-page showcase sample so the
variant has a visible regression check going forward.
This commit is contained in:
iris 2026-08-29 20:23:00 +02:00 committed by mara
commit e1aae29068
5 changed files with 68 additions and 23 deletions

View file

@ -14,6 +14,11 @@
// link and rebuild; rebuild's gone outright, the dashboard's own
// R3BU1LD button already covers it, dashboard-link moves here, so
// `OverflowMenu` had nothing left to justify existing and is deleted).
//
// `variant="quiet"` — mara: "link and settings button should not have
// the badge bg". `Badge`'s default filled-pill look is right for a
// status/picker chip, wrong for this icon-only trigger, which should
// read as header chrome. See `@hive/shared/badge.js`'s `BadgeVariant`.
// v1 of this rendered every link inline in the header's title row —
// mara, live: "the login card looks like it is behind the header"
@ -73,7 +78,13 @@ export function MetaNav({ links, forgePublicUrl, dashboardBase }: MetaNavProps)
return (
<div class="meta-nav-anchor" ref={rootRef}>
<Badge value={<LinkIcon />} title="agent links" onClick={() => setOpen((o) => !o)} expanded={open} />
<Badge
value={<LinkIcon />}
title="agent links"
variant="quiet"
onClick={() => setOpen((o) => !o)}
expanded={open}
/>
{open ? (
<div class="meta-nav-popover" role="menu" aria-label="agent links">
<a