From 5003966aea44b068fb3bc4c0cffa933dce6719a4 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 8 Apr 2026 08:07:35 +0000 Subject: [PATCH 01/10] fix: mobile-first modal layout, safe areas, and input behavior overhaul - All modals now slide up from bottom on mobile with close button (X) and swipe-to-dismiss via drag handle - Add safe area insets (env(safe-area-inset-*)) to header, footer, fixed bottom bars, and modal content - Use dvh (dynamic viewport height) instead of vh/screen to handle browser chrome on mobile - Add viewport-fit=cover meta tag for edge-to-edge layout on notched devices - Fix drawer max-height from 80vh to 85dvh with rounded-t-[20px] for proper bottom sheet appearance - Fix responsive-modal scroll: overscroll-contain + max-h-[calc(85dvh-5rem)] prevents content hiding behind browser bars - Add inputMode, autoCapitalize, autoCorrect, enterKeyHint attributes to all form inputs for proper mobile keyboards - Force font-size: 16px on mobile inputs to prevent iOS zoom on focus - Fix create-event-form bottom button: safe area padding + z-40 layering - Fix event detail sidebar sticky offset: calc(4rem + safe-area-inset-top) - Fix manage page confirm modals: items-end on mobile for bottom-sheet-like behavior - Add scrollbar-none utility for horizontal scroll containers (tab lists) - Prevent overscroll bounce on iOS body https://claude.ai/code/session_01GBDmHPeMz4FCeN4fn5Ujnx --- src/app/events/[id]/event-detail-content.tsx | 4 +- src/app/events/[id]/event-sidebar.tsx | 2 +- src/app/events/[id]/event-theme-wrapper.tsx | 2 +- src/app/events/[id]/manage/page.tsx | 6 +-- src/app/events/create/create-event-form.tsx | 9 ++-- src/app/globals.css | 51 ++++++++++++++++++++ src/app/layout.tsx | 11 ++++- src/components/layout/footer.tsx | 2 +- src/components/layout/header.tsx | 4 +- src/components/modals/capacity-modal.tsx | 17 ++++--- src/components/modals/category-modal.tsx | 29 +++++++---- src/components/modals/date-time-modal.tsx | 20 ++++---- src/components/modals/description-modal.tsx | 18 ++++--- src/components/modals/location-modal.tsx | 27 +++++++---- src/components/modals/ticketing-modal.tsx | 19 +++++--- src/components/ui/detail-layout.tsx | 2 +- src/components/ui/drawer.tsx | 7 +-- src/components/ui/responsive-modal.tsx | 19 ++++++-- 18 files changed, 177 insertions(+), 72 deletions(-) diff --git a/src/app/events/[id]/event-detail-content.tsx b/src/app/events/[id]/event-detail-content.tsx index 2909df9..1f90594 100644 --- a/src/app/events/[id]/event-detail-content.tsx +++ b/src/app/events/[id]/event-detail-content.tsx @@ -75,7 +75,7 @@ export function EventDetailContent({ event }: EventDetailContentProps) { return ( -
+
Back to events @@ -83,7 +83,7 @@ export function EventDetailContent({ event }: EventDetailContentProps) { -
+
{/* Main Content */}

{event.name}

diff --git a/src/app/events/[id]/event-sidebar.tsx b/src/app/events/[id]/event-sidebar.tsx index 30e91d4..15d5781 100644 --- a/src/app/events/[id]/event-sidebar.tsx +++ b/src/app/events/[id]/event-sidebar.tsx @@ -41,7 +41,7 @@ export function EventSidebar({ event, stats, reviewStats }: EventSidebarProps) { : null; return ( -