hermes-agent/web/src/components
maxmilian c5cafd3847 fix(web): portal Change Model modal so it renders above the app sidebar
The dashboard's main column is `relative z-2` (App.tsx), which creates a
stacking context that traps fixed descendants below the app sidebar
(`z-50`). `ModelPickerDialog` renders `fixed inset-0 z-[100]` inline,
so its z-100 is scoped to z-2 and the sidebar covers its left edge.

The bug is visible across all themes but only obvious in the Large theme
variants (Hermes Teal (Large), etc.) where the larger root font widens
the dialog into the sidebar's column. Toast.tsx already documents the
same trap and uses the same `createPortal(..., document.body)` escape.

This commit ports the picker; the same pattern affects other inline
z-[100] modals in the dashboard (OAuthLoginModal, Cron / Models /
Profiles page modals) and is left for a follow-up — keeping this PR
scoped to the reporter's specific case.

Fixes #28103

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 20:02:50 -07:00
..
ui fix(dashboard): UI polish — modals, layout, consistency, test fixes 2026-05-12 13:59:22 -04:00
AutoField.tsx fix(web): render object config values structurally (#10949) 2026-05-18 10:03:25 -04:00
Backdrop.tsx chore: remove comments 2026-04-28 12:28:08 -04:00
BottomPickSheet.tsx feat(web): mobile dashboard UX polish (#28127) 2026-05-18 15:20:31 -04:00
ChatSidebar.tsx fix(dashboard): respect HERMES_BASE_PATH in WebSocket URLs (#25547) 2026-05-17 11:39:37 -07:00
DeleteConfirmDialog.tsx feat: add sidebar 2026-04-24 00:56:19 -04:00
LanguageSwitcher.tsx feat(web): mobile dashboard UX polish (#28127) 2026-05-18 15:20:31 -04:00
Markdown.tsx feat(web): add /api/pty WebSocket bridge to embed TUI in dashboard 2026-04-24 10:51:49 -04:00
ModelInfoCard.tsx fix(dashboard): keep ui imports browser-safe after rebase 2026-04-29 01:47:13 -04:00
ModelPickerDialog.tsx fix(web): portal Change Model modal so it renders above the app sidebar 2026-05-18 20:02:50 -07:00
NouiTypography.tsx Merge upstream/main and address Copilot review feedback 2026-04-30 06:43:22 -04:00
OAuthLoginModal.tsx fix(dashboard): avoid node-only ui imports in browser 2026-04-29 01:42:50 -04:00
OAuthProvidersCard.tsx fix(dashboard): UI polish — modals, layout, consistency, test fixes 2026-05-12 13:59:22 -04:00
PlatformsCard.tsx fix(dashboard): keep ui imports browser-safe after rebase 2026-04-29 01:47:13 -04:00
SidebarFooter.tsx fix(dashboard): avoid node-only ui imports in browser 2026-04-29 01:42:50 -04:00
SidebarStatusStrip.tsx feat: add sidebar 2026-04-24 00:56:19 -04:00
SlashPopover.tsx fix(dashboard): keep ui imports browser-safe after rebase 2026-04-29 01:47:13 -04:00
ThemeSwitcher.tsx feat(web): mobile dashboard UX polish (#28127) 2026-05-18 15:20:31 -04:00
Toast.tsx feat: dashboard OAuth provider management 2026-04-13 11:18:18 -07:00
ToolCall.tsx fix(dashboard): keep ui imports browser-safe after rebase 2026-04-29 01:47:13 -04:00