diff --git a/src/tabs/TripsTab.js b/src/tabs/TripsTab.js index 53a9eee..5ececf8 100644 --- a/src/tabs/TripsTab.js +++ b/src/tabs/TripsTab.js @@ -32,14 +32,28 @@ export default function TripsTab({ activeTripCheckupCount, }) { const [createModalVisible, setCreateModalVisible] = useState(false); + const [viewTripId, setViewTripId] = useState(null); const activeTrip = useMemo(() => trips.find((trip) => trip.id === selectedTripId) || null, [trips, selectedTripId]); + const viewingTrip = useMemo(() => trips.find((trip) => trip.id === viewTripId) || null, [trips, viewTripId]); function submitCreateTrip() { const ok = createTrip(); if (ok) setCreateModalVisible(false); } + function applyTemplateFromView() { + if (!viewingTrip) return; + setTripAsTemplate(viewingTrip.id); + } + + function deleteFromView() { + if (!viewingTrip) return; + const tripId = viewingTrip.id; + setViewTripId(null); + deleteTrip(tripId); + } + return ( @@ -77,11 +91,8 @@ export default function TripsTab({ chooseTrip(trip.id)}> Select - setTripAsTemplate(trip.id)}> - Template - - deleteTrip(trip.id)}> - Delete + setViewTripId(trip.id)}> + View @@ -162,6 +173,44 @@ export default function TripsTab({ + + + + + + + Trip View + setViewTripId(null)}> + Close + + + + {viewingTrip ? ( + + {viewingTrip.imageUri ? : null} + {viewingTrip.name} + {viewingTrip.location || 'No location'} + {viewingTrip.startDate} → {viewingTrip.endDate} + {defaultTemplateTripId === viewingTrip.id ? 'Default template trip' : 'Not default template'} + + + Set as Template + + + + Delete Trip + + + ) : null} + + + + ); }