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}
+
+
+
+
);
}