agent: HeaderPill wraps Badge instead of a hand-styled pill

Badge already covers icon+label+value+onClick -- exactly HeaderPill's
shape. mara, reviewing the first cut (a bespoke .header-pill matched to
Badge's own CSS values): "cant we reuse the badge component". HeaderPill
now renders <Badge> directly and only owns hiding at count 0 + the
inbox/todos tone (amber/green on the count, same as before). Drops the
now-unused .header-pill* CSS from agent.css entirely.
This commit is contained in:
iris 2026-08-29 09:46:42 +02:00 committed by mara
commit 302778573d
2 changed files with 28 additions and 60 deletions

View file

@ -319,53 +319,10 @@ h2, h3 {
background: color-mix(in srgb, var(--purple) 6%, transparent);
}
/* Header pill inbox / loose-ends triggers. Compact, count-prominent.
Filled to match every OTHER chip in `.agent-header-pills`
(StatusChips' alive/state/model/effort/pause, MetaNav's 🔗 trigger
all `@hive/shared`'s `Badge`, an `.ui-badge` filled pill) no
`hive-pill` on the markup any more (its bordered/transparent shape
is what made this one read as visually distinct from its neighbours;
values below are `.ui-badge`/`.ui-badge-interactive`'s own, not a
new shape). `display: inline-flex` (not Badge's default) for the
icon+label+count row this component alone needs. */
.header-pill {
background: var(--purple-dim);
border: none;
border-radius: 1em;
padding: 0.15em 0.6em;
min-height: 2.75em;
padding-inline: 0.8em;
color: var(--fg);
font-family: inherit;
display: inline-flex;
align-items: center;
gap: 0.4em;
cursor: pointer;
transition: background 0.15s ease, color 0.15s ease;
}
.header-pill:hover {
background: var(--border);
}
.header-pill-icon { font-size: 1.05em; line-height: 1; }
.header-pill-label { color: var(--muted); }
.header-pill-count {
background: var(--purple-dim);
color: var(--purple);
border-radius: 999px;
padding: 0 0.5em;
min-width: 1.6em;
text-align: center;
font-weight: bold;
font-variant-numeric: tabular-nums;
}
.header-pill-inbox .header-pill-count {
background: color-mix(in srgb, var(--amber) 18%, transparent);
color: var(--amber);
}
.header-pill-todos .header-pill-count {
background: color-mix(in srgb, var(--green) 18%, transparent);
color: var(--green);
}
/* 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
pill matched to Badge's own values; nothing left to override here. */
.agent-main {
position: absolute;