agent: fill the inbox/todos header pill to match the rest of the cluster

HeaderPill used the bordered/transparent .hive-pill shape while every
other chip in .agent-header-pills (StatusChips, MetaNav's trigger) is
@hive/shared's filled Badge (.ui-badge) -- the one visibly hollow pill
in a row of filled ones. Restyled .header-pill with .ui-badge's own
values (filled --purple-dim background, no border, matching radius/
padding/hover) instead of a new shape, and dropped hive-pill from the
markup since it no longer describes what this component looks like.
This commit is contained in:
iris 2026-08-29 09:21:24 +02:00 committed by mara
commit ad58894c25
2 changed files with 23 additions and 16 deletions

View file

@ -1,9 +1,10 @@
// <HeaderPill> — the inbox/todos flyout triggers in the header's right
// cluster. Reuses agent.css's existing `.hive-pill.header-pill…` rules
// (loaded globally) — same "layout is a like-for-like port, the
// component model is the change" approach as Header.tsx. Hidden
// (renders nothing) at count 0, matching the old page's `pill.hidden =
// count === 0`.
// cluster. Reuses agent.css's existing `.header-pill…` rules (loaded
// globally), styled to match `@hive/shared`'s filled `Badge` pill —
// every other chip in the same cluster is one — not the bordered
// `.hive-pill` shape (mara: "inbox badge looks different from all the
// other ones"). Hidden (renders nothing) at count 0, matching the old
// page's `pill.hidden = count === 0`.
export interface HeaderPillProps {
kind: 'inbox' | 'todos';
icon: string;
@ -15,7 +16,7 @@ export interface HeaderPillProps {
export function HeaderPill({ kind, icon, label, count, onClick }: HeaderPillProps) {
if (count === 0) return null;
return (
<button type="button" class={`hive-pill header-pill header-pill-${kind}`} onClick={onClick} title={`open ${label} flyout`}>
<button type="button" class={`header-pill header-pill-${kind}`} onClick={onClick} title={`open ${label} flyout`}>
<span class="header-pill-icon" aria-hidden="true">
{icon}
</span>