diff --git a/src/pages/Driver/components/ActiveTripCard.jsx b/src/pages/Driver/components/ActiveTripCard.jsx index 54355a5..11f0cc7 100644 --- a/src/pages/Driver/components/ActiveTripCard.jsx +++ b/src/pages/Driver/components/ActiveTripCard.jsx @@ -25,11 +25,31 @@ export default function ActiveTripCard() { const [waitSeconds, setWaitSeconds] = useState(0); const [noShowFired, setNoShowFired] = useState(false); + // Vehicle photo state + const [beforePhoto, setBeforePhoto] = useState(null); + const [afterPhoto, setAfterPhoto] = useState(null); + const [beforePreview, setBeforePreview] = useState(null); + const [afterPreview, setAfterPreview] = useState(null); + const tripId = trip?._id; const status = trip?.status; const canCancel = status === "ASSIGNED" || status === "ENROUTE"; const currentStep = STATUS_TO_STEP[status] ?? -1; + function handleBeforePhotoChange(e) { + const file = e.target.files?.[0]; + if (!file) return; + setBeforePhoto(file); + setBeforePreview(URL.createObjectURL(file)); + } + + function handleAfterPhotoChange(e) { + const file = e.target.files?.[0]; + if (!file) return; + setAfterPhoto(file); + setAfterPreview(URL.createObjectURL(file)); + } + // Wait timer — ticks every second when driver is waiting at pickup const waitStart = trip?.arrivedAt || trip?.updatedAt; useEffect(() => { @@ -191,6 +211,66 @@ export default function ActiveTripCard() { + {/* Vehicle Photos */} +
Vehicle Photos
+ + {(status === "ASSIGNED" || status === "ENROUTE" || status === "DRIVING") && ( ++ Before Trip Photo +
+ + + + {beforePreview && ( ++ After Trip Photo +
+ + + + {afterPreview && ( +