c-calendar-25.tsx
"use client"
import { useId, useState } from "react"
import { format } from "date-fns"
import { type DateRange } from "react-day-picker"
import { cn } from "cn"
import { Button } from "@/components/ui/button"
import { Calendar } from "@/components/ui/calendar"
import { Card, CardContent } from "@/components/ui/card"
import {
Popover,
PopoverContent,
PopoverTrigger,
} from "@/components/ui/popover"
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
export function Pattern() {
const id = useId()
const [date, setDate] = useState<DateRange | undefined>()
return (
<Popover>
<PopoverTrigger>
<Button
className="group/pick-date w-60 justify-between"
id={id}
variant="outline"
>
<span className={cn("truncate", !date && "text-muted-foreground")}>
{date?.from ? (
date.to ? (
<>
{format(date.from, "LLL dd, y")} -{" "}
{format(date.to, "LLL dd, y")}
</>
) : (
format(date.from, "LLL dd, y")
)
) : (
"Pick a date range"
)}
</span>
<IconPlaceholder
lucide="CalendarIcon"
tabler="IconCalendarEvent"
hugeicons="Calendar04Icon"
phosphor="CalendarBlankIcon"
remixicon="RiCalendarLine"
aria-hidden="true"
className="text-muted-foreground/80 group-hover:text-foreground shrink-0 transition-colors"
/>
</Button>
</PopoverTrigger>
<PopoverContent align="start" className="w-auto p-0">
<Card className="p-0">
<CardContent className="p-0">
<Calendar
mode="range"
selected={date}
onSelect={setDate}
numberOfMonths={2}
/>
</CardContent>
</Card>
</PopoverContent>
</Popover>
)
}



























