Files
Site-comptage-heure/components/ui/date-picker.tsx

44 lines
1.1 KiB
TypeScript

'use client';
import * as React from 'react';
import { format } from 'date-fns';
import { Calendar as 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';
interface DatePickerProps {
date: Date | undefined;
setDate: (date: Date | undefined) => void;
className?: string;
}
export function DatePicker({ date, setDate, className }: DatePickerProps) {
return (
<Popover>
<PopoverTrigger asChild>
<Button
variant="outline"
data-empty={!date}
className={cn(
'data-[empty=true]:text-muted-foreground w-[280px] justify-start text-left font-normal',
className,
)}
>
<CalendarIcon />
{date ? format(date, 'PPP') : <span>Choisir une date</span>}
</Button>
</PopoverTrigger>
<PopoverContent className="w-auto p-0">
<Calendar mode="single" selected={date} onSelect={setDate} />
</PopoverContent>
</Popover>
);
}