import React from 'react'; import { Calendar } from 'lucide-react'; import { useTranslations } from 'next-intl'; interface CalendarDay { date: string; day: number; month: string; dayName: string; available: boolean; } interface DateSelectorProps { selectedDate: string; availableDates: string[]; onDateChange: (date: string) => void; loading?: boolean; } const DateSelector: React.FC = ({ selectedDate, availableDates, onDateChange, loading = false, }) => { const t = useTranslations('bookingForm'); const generateCalendarDays = (): CalendarDay[] => { const today = new Date(); const days: CalendarDay[] = []; // Show 30 days instead of 14 for better selection for (let i = 0; i < 30; i++) { const date = new Date(today); date.setDate(today.getDate() + i); const dateString = date.toISOString().split('T')[0] || ''; days.push({ date: dateString, day: date.getDate(), month: date.toLocaleDateString('en', { month: 'short' }), dayName: date.toLocaleDateString('en', { weekday: 'short' }), available: availableDates.includes(dateString) }); } return days; }; const calendarDays = generateCalendarDays(); return (

{t('chooseDate')}

{loading ? (
Loading available dates...
) : (
{calendarDays.map((day) => ( ))}
)}
); }; export default DateSelector;