hermes-agent/web/src
Brian D. Evans 6a20ad6c0a
fix(dashboard): constrain theme picker dropdown height so themes are scrollable (#25213) (#25220)
The header theme picker (`ThemeSwitcher`) renders a `role="listbox"` popup
with no `max-height` or overflow. With 20+ community themes installed under
`~/.hermes/dashboard-themes/`, the list extends past the viewport and themes
at the top or bottom are unreachable — the user reports only 15 of 26 themes
visible, with no scrollbar to access the rest.

Sibling switchers (`LanguageSwitcher`, `SlashPopover`) already cap their
listboxes (`max-h-80 overflow-y-auto` / `max-h-64 overflow-y-auto`); this
just brings the theme picker into line. Scoped to the component instead of
a global `div[role="listbox"]` CSS rule so other dropdowns aren't affected.

`70dvh` matches the user's tested workaround and the `dvh` unit handles
mobile browser UI chrome correctly (unlike `vh`).

Fixes #25213.

Co-authored-by: briandevans <252620095+briandevans@users.noreply.github.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 10:23:03 -04:00
..
components fix(dashboard): constrain theme picker dropdown height so themes are scrollable (#25213) (#25220) 2026-05-18 10:23:03 -04:00
contexts fix: mobile chat in new layout 2026-04-24 12:07:46 -04:00
hooks fix(dashboard): UI polish — modals, layout, consistency, test fixes 2026-05-12 13:59:22 -04:00
i18n fix(dashboard): align Ukrainian Kanban Ready column help 2026-05-15 23:39:29 -04:00
lib fix(dashboard): respect HERMES_BASE_PATH in WebSocket URLs (#25547) 2026-05-17 11:39:37 -07:00
pages fix(dashboard): respect HERMES_BASE_PATH in WebSocket URLs (#25547) 2026-05-17 11:39:37 -07:00
plugins feat(dashboard): support serving under URL prefix via X-Forwarded-Prefix 2026-05-07 06:39:18 -07:00
themes feat(dashboard): add 'default-large' built-in theme with 18px base size (#20820) 2026-05-06 09:10:44 -07:00
App.tsx feat(dashboard): hide token/cost analytics behind config flag (default off) (#25438) 2026-05-13 22:20:25 -07:00
index.css feat(web): add /api/pty WebSocket bridge to embed TUI in dashboard 2026-04-24 10:51:49 -04:00
main.tsx feat(dashboard): support serving under URL prefix via X-Forwarded-Prefix 2026-05-07 06:39:18 -07:00