import { Button } from '@/components/ui/button'; import { Calendar } from '@/components/ui/calendar'; import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'; import { useLang } from '@/hooks/use-lang'; import { cn } from '@/lib/utils'; import { format } from 'date-fns'; import { CalendarIcon } from 'lucide-react'; interface DateTimePickerProps { date: Date; setDate: (date: Date) => void; } export function DateTimePicker({ date, setDate }: DateTimePickerProps) { const { button } = useLang(); const minuteOptions = Array.from({ length: 60 }, (_, i) => i); const hourOptions = Array.from({ length: 12 }, (_, i) => i + 1); const handleTimeChange = (type: 'hour' | 'minute' | 'meridiem', value: string) => { const newDate = new Date(date); if (type === 'hour') { let hour = parseInt(value); if (date.getHours() >= 12) { // PM hour = hour === 12 ? 12 : hour + 12; } else { // AM hour = hour === 12 ? 0 : hour; } newDate.setHours(hour); } else if (type === 'minute') { newDate.setMinutes(parseInt(value)); } else if (type === 'meridiem') { const hours = newDate.getHours(); if (value === 'PM' && hours < 12) { newDate.setHours(hours + 12); } else if (value === 'AM' && hours >= 12) { newDate.setHours(hours - 12); } } setDate(newDate); }; return ( newDate && setDate(newDate)} initialFocus />
:
); }