From 142d27e85c9292f490879606ac62bf0b2de18359 Mon Sep 17 00:00:00 2001 From: Arnaud Nelissen Date: Sat, 13 Jun 2026 19:02:23 +0200 Subject: [PATCH] =?UTF-8?q?fix(modal):=20proper=20mobile=20bottom=20sheet?= =?UTF-8?q?=20=E2=80=94=20sticky=20header/footer,=20scrollable=20body?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - rounded-t-2xl on mobile, full-width (no side padding) - maxHeight = 100dvh - safe-area-top - 68px nav - safe-area-bottom - header and footer flex-shrink-0, body flex-1 overflow-y-auto overflow-x-hidden - save buttons in pinned footer, larger touch targets (py-3, rounded-xl) Co-Authored-By: Claude Sonnet 4.6 --- src/components/event-modal.tsx | 37 +++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/src/components/event-modal.tsx b/src/components/event-modal.tsx index b4ad167..be794f0 100644 --- a/src/components/event-modal.tsx +++ b/src/components/event-modal.tsx @@ -338,12 +338,15 @@ export function EventModal({ type, babyId, onClose, onSaved, initialEvent }: Pro const segmentInactive = "border-slate-200 dark:border-slate-600 text-slate-500 dark:text-slate-400 hover:border-slate-300"; return ( -
+
-
- {/* Header */} -
+
+ {/* Header — sticky */} +
@@ -357,7 +360,8 @@ export function EventModal({ type, babyId, onClose, onSaved, initialEvent }: Pro
-
+ {/* Scrollable body */} +
{/* Timer */} {config.hasTimer && (
@@ -756,17 +760,18 @@ export function EventModal({ type, babyId, onClose, onSaved, initialEvent }: Pro
)} - {/* Actions */} -
- - -
+
+ + {/* Footer — sticky */} +
+ +