fix(ui): membership menus keep their lines beside the list and focus in the panel

The loading / failed-load lines and their Retry sat inside role=menu, which may own its items only:
the three surfaces now open with `listInside` and the rows sit in a PopoverList. A keyboard Retry
unmounted the focused button and left focus on <body> with the menu open, the arrows dead: focus is
put back on the first row, else the field, else the new Retry. The channel tag editor said a failed
tag load as "no tags yet"; it reads the catalog query's state now. The playlist panel's name and the
tag editor's error state are held by tests.
This commit is contained in:
2026-10-08 22:12:43 +02:00
parent 24ad17fc7d
commit 7541b1b016
5 changed files with 145 additions and 23 deletions
@@ -152,6 +152,7 @@ function MembershipPanel({
popover={pop}
className={`${SURFACE.popover} w-60 p-2`}
ariaLabel={t("playlists.addToPlaylistTitle")}
listInside
>
<MembershipMenu
heading={t("playlists.addToPlaylistTitle")}