diff --git a/distribution_fe/app/(dashboard)/operations/rides/_components/ride-close-dialog.tsx b/distribution_fe/app/(dashboard)/operations/rides/_components/ride-close-dialog.tsx index c4f91df..617ffba 100644 --- a/distribution_fe/app/(dashboard)/operations/rides/_components/ride-close-dialog.tsx +++ b/distribution_fe/app/(dashboard)/operations/rides/_components/ride-close-dialog.tsx @@ -46,6 +46,12 @@ export function RideCloseDialog({ open, onClose, onSuccess, ride }: RideCloseDia if (!ride) return null async function onSubmit(values: FormValues) { + if (values.meterend < ride!.meterstart) { + form.setError('meterend', { + message: `Meter end cannot be less than meter start (${ride!.meterstart})`, + }) + return + } try { await ridesApi.close(ride!.id, values.meterend) toast.add({ title: 'Ride closed', type: 'success' }) @@ -62,7 +68,7 @@ export function RideCloseDialog({ open, onClose, onSuccess, ride }: RideCloseDia Close Ride - Enter the final odometer reading to close this ride. + Enter the final odometer reading to close this ride. Must be at least {ride.meterstart} km (the starting reading). @@ -79,7 +85,7 @@ export function RideCloseDialog({ open, onClose, onSuccess, ride }: RideCloseDia name={field.name} ref={field.ref} type="number" - min={0} + min={ride.meterstart} value={Number(field.value as number)} onChange={(e) => field.onChange(Number(e.target.value))} onBlur={field.onBlur}