From 9a911b06550eba92f515d8f5e8b2c8431668b8bb Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Thu, 16 Oct 2025 14:50:55 +0000 Subject: [PATCH] Fix ride selection in Add Credit modal --- .../profile/AddRideCreditDialog.tsx | 56 +++++++++++++++---- 1 file changed, 44 insertions(+), 12 deletions(-) diff --git a/src/components/profile/AddRideCreditDialog.tsx b/src/components/profile/AddRideCreditDialog.tsx index b85335b5..49472bb8 100644 --- a/src/components/profile/AddRideCreditDialog.tsx +++ b/src/components/profile/AddRideCreditDialog.tsx @@ -22,6 +22,7 @@ interface AddRideCreditDialogProps { export function AddRideCreditDialog({ userId, open, onOpenChange, onSuccess }: AddRideCreditDialogProps) { const [selectedRideId, setSelectedRideId] = useState(''); + const [selectedRideName, setSelectedRideName] = useState(''); const [firstRideDate, setFirstRideDate] = useState(undefined); const [rideCount, setRideCount] = useState(1); const [submitting, setSubmitting] = useState(false); @@ -62,8 +63,9 @@ export function AddRideCreditDialog({ userId, open, onOpenChange, onSuccess }: A if (error) throw error; toast.success('Ride credit added!'); - onSuccess(); handleReset(); + onSuccess(); + onOpenChange(false); } catch (error) { console.error('Error adding credit:', error); toast.error(getErrorMessage(error)); @@ -74,12 +76,21 @@ export function AddRideCreditDialog({ userId, open, onOpenChange, onSuccess }: A const handleReset = () => { setSelectedRideId(''); + setSelectedRideName(''); setFirstRideDate(undefined); setRideCount(1); }; return ( - + { + if (!newOpen) { + handleReset(); + } + onOpenChange(newOpen); + }} + > Add Ride Credit @@ -91,16 +102,37 @@ export function AddRideCreditDialog({ userId, open, onOpenChange, onSuccess }: A
- { - if (result.type === 'ride') { - setSelectedRideId(result.id); - } - }} - types={['ride']} - placeholder="Search rides..." - className="w-full" - /> + {!selectedRideId ? ( + { + if (result.type === 'ride') { + setSelectedRideId(result.id); + setSelectedRideName(result.title); + } + }} + types={['ride']} + placeholder="Search rides..." + className="w-full" + /> + ) : ( +
+
+

{selectedRideName}

+

Selected ride

+
+ +
+ )}