import React, { useState } from 'react'; import { Calendar } from 'lucide-react'; import { DateRange } from '../types'; interface DateRangePickerProps { dateRange: DateRange; onChange: (range: DateRange) => void; } export const DateRangePicker: React.FC = ({ dateRange, onChange }) => { const [startType, setStartType] = useState<'text' | 'date'>('text'); const [endType, setEndType] = useState<'text' | 'date'>('text'); const formatDateForInput = (date: Date) => { return date.toISOString().split('T')[0]; // YYYY-MM-DD for }; const formatDateForDisplay = (date: Date) => { return date.toLocaleDateString('pt-BR'); // DD/MM/YYYY for visual text }; const handleStartChange = (e: React.ChangeEvent) => { const newStart = new Date(e.target.value); if (!isNaN(newStart.getTime())) { onChange({ ...dateRange, start: newStart }); } }; const handleEndChange = (e: React.ChangeEvent) => { const newEnd = new Date(e.target.value); if (!isNaN(newEnd.getTime())) { onChange({ ...dateRange, end: newEnd }); } }; return (
setStartType('date')} onBlur={() => setStartType('text')} onChange={handleStartChange} lang="pt-BR" className="bg-transparent text-zinc-700 dark:text-zinc-200 font-medium outline-none cursor-pointer w-24 sm:w-28 md:w-auto" /> até setEndType('date')} onBlur={() => setEndType('text')} onChange={handleEndChange} lang="pt-BR" className="bg-transparent text-zinc-700 dark:text-zinc-200 font-medium outline-none cursor-pointer w-24 sm:w-28 md:w-auto" />
); };