hyperhive/frontend/packages/swarm-ui/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
iris b1254f89cd shared dropdown: don't reopen when the trigger is clicked while open
mara, #3775: clicking a badge with its own dropdown open reopens it
instead of closing it. Root cause: the outside-click listener only
excludes the dropdown's own ref, not the sibling trigger that opened
it — a click on the trigger closes via that listener (pointerdown
fires first), then the trigger's own onClick toggle fires straight
after and reopens it, since its closure reads the pre-close state.

Dropdown now takes an optional anchorRef (the trigger's wrapper,
which callers already have for CSS positioning) and excludes it from
the outside-click check too — the same shape MetaNav's own hand-rolled
popover already uses correctly. Wired into StatusChips's Picker +
StatusMenu and swarm-ui's ComponentsPage demo (the only three Dropdown
consumers).

Verified two ways: reverted the fix, rebuilt, confirmed the bug
reproduces via a raw-CDP interaction test (two real clicks dispatched
through headless chromium, not just a static screenshot); restored
the fix, rebuilt, confirmed it passes.
2026-08-30 15:29:59 +02:00
..
pages shared dropdown: don't reopen when the trigger is clicked while open 2026-08-30 15:29:59 +02:00
shell icons: restore inline-SVG link/gear icons, share them across all three pages 2026-08-29 11:54:21 +02:00
ui swarm-ui: delete StatusChip, migrate its 3 callers to shared Badge 2026-08-28 13:21:49 +02:00
App.tsx swarm-ui: move agent creation into the agents page as a dialog 2026-08-24 00:28:34 +02:00
colors.css swarm-ui: bootstrap new swarm-level frontend (Preact + wouter + TS + JSX) 2026-08-11 21:31:44 +02:00
css.d.ts swarm-ui: colocate component CSS as JS-side-effect imports 2026-08-12 21:33:44 +02:00
index.html swarm-ui: use absolute asset paths in index.html 2026-08-17 00:24:44 +02:00
main.tsx swarm-ui: bootstrap new swarm-level frontend (Preact + wouter + TS + JSX) 2026-08-11 21:31:44 +02:00
swarm-ui.css swarm-ui: real hive-roster overview page 2026-08-13 11:21:30 +02:00
theme.css swarm-ui: bootstrap new swarm-level frontend (Preact + wouter + TS + JSX) 2026-08-11 21:31:44 +02:00
util.ts swarm-ui: use native Intl.RelativeTimeFormat for fmtAgo, not hand-rolled 2026-08-16 19:05:01 +02:00