diff --git a/src/components/admin/RideForm.tsx b/src/components/admin/RideForm.tsx index bfbcdf35..e9778f82 100644 --- a/src/components/admin/RideForm.tsx +++ b/src/components/admin/RideForm.tsx @@ -550,7 +550,7 @@ export function RideForm({ onSubmit, onCancel, initialData, isEditing = false }: id="height_requirement" type="number" min="0" - {...register('height_requirement', { valueAsNumber: true })} + {...register('height_requirement', { setValueAs: (v) => v === "" ? undefined : parseFloat(v) })} placeholder={measurementSystem === 'imperial' ? 'e.g. 47' : 'e.g. 120'} /> @@ -561,7 +561,7 @@ export function RideForm({ onSubmit, onCancel, initialData, isEditing = false }: id="age_requirement" type="number" min="0" - {...register('age_requirement', { valueAsNumber: true })} + {...register('age_requirement', { setValueAs: (v) => v === "" ? undefined : parseFloat(v) })} placeholder="e.g. 8" /> @@ -630,7 +630,7 @@ export function RideForm({ onSubmit, onCancel, initialData, isEditing = false }: type="number" min="0" step="0.1" - {...register('drop_height_meters', { valueAsNumber: true })} + {...register('drop_height_meters', { setValueAs: (v) => v === "" ? undefined : parseFloat(v) })} placeholder={measurementSystem === 'imperial' ? 'e.g. 149' : 'e.g. 45.5'} /> @@ -642,7 +642,7 @@ export function RideForm({ onSubmit, onCancel, initialData, isEditing = false }: type="number" min="0" step="0.1" - {...register('max_g_force', { valueAsNumber: true })} + {...register('max_g_force', { setValueAs: (v) => v === "" ? undefined : parseFloat(v) })} placeholder="e.g. 4.2" /> @@ -661,7 +661,7 @@ export function RideForm({ onSubmit, onCancel, initialData, isEditing = false }: id="capacity_per_hour" type="number" min="0" - {...register('capacity_per_hour', { valueAsNumber: true })} + {...register('capacity_per_hour', { setValueAs: (v) => v === "" ? undefined : parseFloat(v) })} placeholder="e.g. 1200" /> @@ -672,7 +672,7 @@ export function RideForm({ onSubmit, onCancel, initialData, isEditing = false }: id="duration_seconds" type="number" min="0" - {...register('duration_seconds', { valueAsNumber: true })} + {...register('duration_seconds', { setValueAs: (v) => v === "" ? undefined : parseFloat(v) })} placeholder="e.g. 180" /> @@ -684,7 +684,7 @@ export function RideForm({ onSubmit, onCancel, initialData, isEditing = false }: type="number" min="0" step="0.1" - {...register('max_speed_kmh', { valueAsNumber: true })} + {...register('max_speed_kmh', { setValueAs: (v) => v === "" ? undefined : parseFloat(v) })} placeholder={measurementSystem === 'imperial' ? 'e.g. 50' : 'e.g. 80.5'} /> @@ -696,7 +696,7 @@ export function RideForm({ onSubmit, onCancel, initialData, isEditing = false }: type="number" min="0" step="0.1" - {...register('max_height_meters', { valueAsNumber: true })} + {...register('max_height_meters', { setValueAs: (v) => v === "" ? undefined : parseFloat(v) })} placeholder={measurementSystem === 'imperial' ? 'e.g. 214' : 'e.g. 65.2'} /> @@ -708,7 +708,7 @@ export function RideForm({ onSubmit, onCancel, initialData, isEditing = false }: type="number" min="0" step="0.1" - {...register('length_meters', { valueAsNumber: true })} + {...register('length_meters', { setValueAs: (v) => v === "" ? undefined : parseFloat(v) })} placeholder={measurementSystem === 'imperial' ? 'e.g. 3937' : 'e.g. 1200.5'} /> @@ -719,7 +719,7 @@ export function RideForm({ onSubmit, onCancel, initialData, isEditing = false }: id="inversions" type="number" min="0" - {...register('inversions', { valueAsNumber: true })} + {...register('inversions', { setValueAs: (v) => v === "" ? undefined : parseFloat(v) })} placeholder="e.g. 7" />