import * as React from "react"; import { format } from "date-fns"; import { CalendarIcon } from "lucide-react"; import { cn } from "@/lib/utils"; import { Button } from "@/components/ui/button"; import { Calendar } from "@/components/ui/calendar"; import { Popover, PopoverContent, PopoverTrigger, } from "@/components/ui/popover"; export interface DatePickerProps { date?: Date; onSelect?: (date: Date | undefined) => void; placeholder?: string; disabled?: boolean; className?: string; disableFuture?: boolean; disablePast?: boolean; fromYear?: number; toYear?: number; } export function DatePicker({ date, onSelect, placeholder = "Pick a date", disabled = false, className, disableFuture = false, disablePast = false, fromYear, toYear, }: DatePickerProps) { const [open, setOpen] = React.useState(false); const handleSelect = (selectedDate: Date | undefined) => { onSelect?.(selectedDate); setOpen(false); }; const getDisabledDates = (date: Date) => { const now = new Date(); if (disableFuture && date > now) return true; if (disablePast && date < now) return true; return false; }; return ( ); }