)
}
// Custom Date Range Input Component
export function CustomDateRangeInput({
dateRange,
onDateRangeChange,
className
}: DateRangePickerProps) {
const [fromDate, setFromDate] = React.useState("")
const [toDate, setToDate] = React.useState("")
React.useEffect(() => {
if (dateRange?.from) {
setFromDate(format(dateRange.from, "yyyy-MM-dd"))
}
if (dateRange?.to) {
setToDate(format(dateRange.to, "yyyy-MM-dd"))
}
}, [dateRange])
const handleFromDateChange = (value: string) => {
setFromDate(value)
const from = value ? new Date(value) : undefined
const to = toDate ? new Date(toDate) : dateRange?.to
if (from && to && from > to) {
// If from date is after to date, adjust to date
onDateRangeChange?.({ from, to: from })
setToDate(value)
} else {
onDateRangeChange?.({ from, to })
}
}
const handleToDateChange = (value: string) => {
setToDate(value)
const from = fromDate ? new Date(fromDate) : dateRange?.from
const to = value ? new Date(value) : undefined
if (from && to && from > to) {
// If to date is before from date, adjust from date
onDateRangeChange?.({ from: to, to })
setFromDate(value)
} else {
onDateRangeChange?.({ from, to })
}
}
return (