From 3b7442c2d54b933d0dd937308dcd40d286f2195c Mon Sep 17 00:00:00 2001 From: Maurice Date: Tue, 21 Apr 2026 21:42:48 +0200 Subject: [PATCH] fix: bottom-nav related mobile cutoffs (#805, #806, #807) TransportModal + ReservationModal: move Save/Cancel into the Modal's footer slot so they stay visible on long forms (same fix as PlaceFormModal in this PR). DayDetailPanel: the floating day info panel was anchored at a fixed bottom: 96px which didn't account for safe-area-inset-bottom, causing it to overlap the bottom nav on devices with a home indicator. Use calc(var(--bottom-nav-h) + 20px) so it always floats above the tab bar with a safe gap. --- .../src/components/Planner/DayDetailPanel.tsx | 2 +- .../components/Planner/ReservationModal.tsx | 26 ++++++++++++------- .../src/components/Planner/TransportModal.tsx | 19 +++++++------- 3 files changed, 27 insertions(+), 20 deletions(-) diff --git a/client/src/components/Planner/DayDetailPanel.tsx b/client/src/components/Planner/DayDetailPanel.tsx index 528c3c4d..8ef2282b 100644 --- a/client/src/components/Planner/DayDetailPanel.tsx +++ b/client/src/components/Planner/DayDetailPanel.tsx @@ -168,7 +168,7 @@ export default function DayDetailPanel({ day, days, places, categories = [], tri const font = { fontFamily: "-apple-system, BlinkMacSystemFont, 'SF Pro Text', system-ui, sans-serif" } return ( -
+
+ + + +
+ } + >
{/* Type selector */} @@ -622,15 +637,6 @@ export function ReservationModal({ isOpen, onClose, onSave, reservation, days, p )} - {/* Actions */} -
- - -
) diff --git a/client/src/components/Planner/TransportModal.tsx b/client/src/components/Planner/TransportModal.tsx index c04d6003..83ca6a58 100644 --- a/client/src/components/Planner/TransportModal.tsx +++ b/client/src/components/Planner/TransportModal.tsx @@ -237,6 +237,16 @@ export function TransportModal({ isOpen, onClose, onSave, reservation, days, sel onClose={onClose} title={reservation ? t('transport.modalTitle.edit') : t('transport.modalTitle.create')} size="2xl" + footer={ +
+ + +
+ } >
@@ -412,15 +422,6 @@ export function TransportModal({ isOpen, onClose, onSave, reservation, days, sel style={{ ...inputStyle, resize: 'none', lineHeight: 1.5 }} />
- {/* Actions */} -
- - -
)