diff --git a/client/src/components/Planner/DayDetailPanel.tsx b/client/src/components/Planner/DayDetailPanel.tsx index 3001b8a..362ac35 100644 --- a/client/src/components/Planner/DayDetailPanel.tsx +++ b/client/src/components/Planner/DayDetailPanel.tsx @@ -50,9 +50,11 @@ interface DayDetailPanelProps { lng: number | null onClose: () => void onAccommodationChange: () => void + leftWidth?: number + rightWidth?: number } -export default function DayDetailPanel({ day, days, places, categories = [], tripId, assignments, reservations = [], lat, lng, onClose, onAccommodationChange }: DayDetailPanelProps) { +export default function DayDetailPanel({ day, days, places, categories = [], tripId, assignments, reservations = [], lat, lng, onClose, onAccommodationChange, leftWidth = 0, rightWidth = 0 }: DayDetailPanelProps) { const { t, language, locale } = useTranslation() const isFahrenheit = useSettingsStore(s => s.settings.temperature_unit) === 'fahrenheit' const is12h = useSettingsStore(s => s.settings.time_format) === '12h' @@ -147,7 +149,7 @@ export default function DayDetailPanel({ day, days, places, categories = [], tri const font = { fontFamily: "-apple-system, BlinkMacSystemFont, 'SF Pro Text', system-ui, sans-serif" } return ( -
+
void onUpdatePlace: (placeId: number, data: Partial) => void + leftWidth?: number + rightWidth?: number } export default function PlaceInspector({ place, categories, days, selectedDayId, selectedAssignmentId, assignments, reservations = [], onClose, onEdit, onDelete, onAssignToDay, onRemoveAssignment, files, onFileUpload, tripMembers = [], onSetParticipants, onUpdatePlace, + leftWidth = 0, rightWidth = 0, }: PlaceInspectorProps) { const { t, locale, language } = useTranslation() const timeFormat = useSettingsStore(s => s.settings.time_format) || '24h' @@ -196,9 +199,9 @@ export default function PlaceInspector({ style={{ position: 'absolute', bottom: 20, - left: '50%', + left: `calc(${leftWidth}px + (100% - ${leftWidth}px - ${rightWidth}px) / 2)`, transform: 'translateX(-50%)', - width: 'min(800px, calc(100vw - 32px))', + width: `min(800px, calc(100% - ${leftWidth}px - ${rightWidth}px - 32px))`, zIndex: 50, fontFamily: "-apple-system, BlinkMacSystemFont, 'SF Pro Text', system-ui, sans-serif", }} diff --git a/client/src/pages/TripPlannerPage.tsx b/client/src/pages/TripPlannerPage.tsx index 8992746..7636a86 100644 --- a/client/src/pages/TripPlannerPage.tsx +++ b/client/src/pages/TripPlannerPage.tsx @@ -544,6 +544,8 @@ export default function TripPlannerPage(): React.ReactElement | null { lng={geoPlace?.lng} onClose={() => setShowDayDetail(null)} onAccommodationChange={loadAccommodations} + leftWidth={leftCollapsed ? 0 : leftWidth} + rightWidth={rightCollapsed ? 0 : rightWidth} /> ) })()} @@ -590,6 +592,8 @@ export default function TripPlannerPage(): React.ReactElement | null { } catch {} }} onUpdatePlace={async (placeId, data) => { try { await tripStore.updatePlace(tripId, placeId, data) } catch (err: unknown) { toast.error(err instanceof Error ? err.message : 'Unknown error') } }} + leftWidth={leftCollapsed ? 0 : leftWidth} + rightWidth={rightCollapsed ? 0 : rightWidth} /> )}