Fix date input normalization

This commit is contained in:
gpt-engineer-app[bot]
2025-11-05 16:21:22 +00:00
parent 5a61a2b49e
commit c966b6c5ee
4 changed files with 19 additions and 23 deletions

View File

@@ -24,7 +24,7 @@ import { Checkbox } from '@/components/ui/checkbox';
import { toast } from '@/hooks/use-toast';
import { handleError } from '@/lib/errorHandler';
import { Plus, Zap, Save, X, Building2 } from 'lucide-react';
import { toDateOnly, parseDateOnly } from '@/lib/dateUtils';
import { toDateOnly, parseDateOnly, toDateWithPrecision } from '@/lib/dateUtils';
import { useUnitPreferences } from '@/hooks/useUnitPreferences';
import { useManufacturers, useRideModels } from '@/hooks/useAutocompleteData';
import { useUserRole } from '@/hooks/useUserRole';
@@ -224,9 +224,9 @@ export function RideForm({ onSubmit, onCancel, initialData, isEditing = false }:
category: initialData?.category || '',
ride_sub_type: initialData?.ride_sub_type || '',
status: initialData?.status || 'operating' as const, // Store DB value directly
opening_date: initialData?.opening_date || '',
opening_date: initialData?.opening_date || undefined,
opening_date_precision: initialData?.opening_date_precision || 'day',
closing_date: initialData?.closing_date || '',
closing_date: initialData?.closing_date || undefined,
closing_date_precision: initialData?.closing_date_precision || 'day',
// Convert metric values to user's preferred unit for display
height_requirement: initialData?.height_requirement
@@ -605,7 +605,7 @@ export function RideForm({ onSubmit, onCancel, initialData, isEditing = false }:
value={watch('opening_date') ? parseDateOnly(watch('opening_date')!) : undefined}
precision={(watch('opening_date_precision') as DatePrecision) || 'day'}
onChange={(date, precision) => {
setValue('opening_date', date ? toDateOnly(date) : undefined);
setValue('opening_date', date ? toDateWithPrecision(date, precision) : undefined);
setValue('opening_date_precision', precision);
}}
label="Opening Date"
@@ -618,7 +618,7 @@ export function RideForm({ onSubmit, onCancel, initialData, isEditing = false }:
value={watch('closing_date') ? parseDateOnly(watch('closing_date')!) : undefined}
precision={(watch('closing_date_precision') as DatePrecision) || 'day'}
onChange={(date, precision) => {
setValue('closing_date', date ? toDateOnly(date) : undefined);
setValue('closing_date', date ? toDateWithPrecision(date, precision) : undefined);
setValue('closing_date_precision', precision);
}}
label="Closing Date (if applicable)"