fix(frontend): mobile navbar reachable to all pages + responsive form controls
- Root cause of 'navbar mobile tak bisa pindah halaman': the chatbot FAB (fixed right-4 bottom-5 z-50) overlapped the rightmost mobile bottom-nav items (z-40) and intercepted taps. Raise the FAB above the nav on mobile (bottom above nav, md:bottom-5 on desktop) so it never blocks nav taps. - Mobile bottom nav now mirrors the FULL desktop sidebar (all 7 items: dashboard, messages, voice, media, recordings, moderation, analysis); horizontally scrollable + snap-to-active on narrow screens. - Select dropdown: clamp portal position within viewport + min-width so it never overflows off-screen on mobile triggers near the right edge; larger tap targets on touch. - Input/Textarea: text-base (16px) on touch to prevent iOS auto-zoom on focus, text-sm on >=sm; comfortable mobile min-height for chat input. - Add .hermes/plans/mobile-nav-form-responsive.md spec.
This commit is contained in:
1 parent
e7b0f02620
commit
ae41f64e46
8 files changed
+135
-51
No files matched your search
@@ -66,11 +66,11 @@ export const navItems: NavItem[] = [
|
||||
];
|
||||
|
||||
/**
|
||||
* Mobile bottom bar items (subset of primary nav).
|
||||
* Mobile bottom bar items. Mirrors the FULL desktop sidebar (all primary nav
|
||||
* items) so every page is reachable on mobile; the bar scrolls horizontally on
|
||||
* narrow screens (see MobileNav).
|
||||
*/
|
||||
export const mobileNavItems: NavItem[] = navItems.filter((item) =>
|
||||
["/dashboard", "/messages", "/voice", "/media"].includes(item.href),
|
||||
);
|
||||
export const mobileNavItems: NavItem[] = navItems;
|
||||
|
||||
export type NavItemId = (typeof navItems)[number]["href"];
|
||||
|
||||
|
||||
Reference in new issue
Block a user