"use client"; import React from "react"; import { CalendarRange } from "lucide-react"; import { formatIsoDateRangeLabelDe } from "@/lib/frontend/search/dateRange"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Popover, PopoverContent, PopoverTrigger, } from "@/components/ui/popover"; function toNullableYmd(value) { if (typeof value !== "string") return null; const s = value.trim(); return s ? s : null; } export default function SearchDateRangePicker({ from, to, onDateRangeChange, isSubmitting, }) { const [open, setOpen] = React.useState(false); const label = formatIsoDateRangeLabelDe({ from, to }) || "Zeitraum"; const fromId = React.useId(); const toId = React.useId(); const canClear = Boolean((from || to) && !isSubmitting); return (
{ if (typeof onDateRangeChange !== "function") return; onDateRangeChange({ from: toNullableYmd(e.target.value), to: to ?? null, }); }} />
{ if (typeof onDateRangeChange !== "function") return; onDateRangeChange({ from: from ?? null, to: toNullableYmd(e.target.value), }); }} />
Tipp: Für einen einzelnen Tag setzen Sie Von und{" "} Bis auf dasselbe Datum.
); }