"use client" import * as React from "react" import { format, getMonth, getYear, setMonth, setYear } from "date-fns" import { Calendar as CalendarIcon } from "lucide-react" import { cn } from "@/lib/utils" import { Button } from "@/app/_components/ui/button" import { Calendar } from "@/app/_components/ui/calendar" import { Popover, PopoverContent, PopoverTrigger, } from "@/app/_components/ui/popover" import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "./select" interface DatePickerProps { startYear?: number; endYear?: number; } export function DatePicker({ startYear = getYear(new Date()) - 100, endYear = getYear(new Date()) + 100, }: DatePickerProps) { const [date, setDate] = React.useState(new Date()); const months = [ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December', ]; const years = Array.from( { length: endYear - startYear + 1 }, (_, i) => startYear + i ); const handleMonthChange = (month: string) => { const newDate = setMonth(date, months.indexOf(month)); setDate(newDate); } const handleYearChange = (year: string) => { const newDate = setYear(date, parseInt(year)); setDate(newDate) } const handleSelect = (selectedData: Date | undefined) => { if (selectedData) { setDate(selectedData) } } return (
) }