import { Button } from '@/components/ui/button'; import { DatePicker } from '@/components/ui/date-picker'; import { Field, FieldLabel } from '@/components/ui/field'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '@/components/ui/select'; import { ChevronLeft, ChevronRight, Clock } from 'lucide-react'; import { useBooking } from '../booking-provider'; import type { BookingStatusFilter } from '../booking.types'; import { fromIsoDateLocal, toIsoDateLocal } from '../lib/booking-time'; const timeRangeOptions = [ { label: '08:00 - 22:00', start: '08:00', end: '22:00' }, { label: '06:00 - 00:00', start: '06:00', end: '23:59' }, { label: '08:00 - 14:00', start: '08:00', end: '14:00' }, { label: '14:00 - 22:00', start: '14:00', end: '22:00' }, ]; const statusOptions: Array<{ value: BookingStatusFilter; label: string }> = [ { value: 'all', label: 'Todos' }, { value: 'free', label: 'Libre' }, { value: 'reserved', label: 'Reservado' }, ]; export function BookingToolbar() { const { courts, selectedDate, selectedSportId, selectedStatus, visibleTimeRange, setSelectedDate, moveSelectedDate, setSelectedSportId, setSelectedStatus, setVisibleTimeRange, } = useBooking(); const sports = [...new Map(courts.map((court) => [court.sport.id, court.sport])).values()]; const activeRangeValue = `${visibleTimeRange.start}-${visibleTimeRange.end}`; return (
Deporte Estado Fecha
setSelectedDate(date ? toIsoDateLocal(date) : toIsoDateLocal(new Date())) } />
Hora
); }