import { format } from 'date-fns'; import { useState } from 'react'; import { DatePicker } from '@/components/date-picker'; import InputError from '@/components/input-error'; import { Input } from '@/components/ui/input'; import { Label } from '@/components/ui/label'; type DateTimeFieldProps = { label: string; name: string; required?: boolean; defaultValue?: string | null; error?: string; placeholder?: string; }; function parseDefault(value?: string | null): Date | undefined { if (!value) { return undefined; } const date = new Date(value); return Number.isNaN(date.getTime()) ? undefined : date; } export function DateTimeField({ label, name, required, defaultValue, error, placeholder = 'Pilih tanggal', }: DateTimeFieldProps) { const initial = parseDefault(defaultValue); const [date, setDate] = useState(initial); const [time, setTime] = useState(initial ? format(initial, 'HH:mm') : ''); const combined = date ? `${format(date, 'yyyy-MM-dd')} ${time || '00:00'}:00` : ''; return (
setTime(e.target.value)} className="w-28" />
); }