import React from 'react' import classnames from 'classnames' import { isPast } from 'date-fns' import useSWR from 'swr' import Calendar from 'react-calendar' import { dateFormatBackend } from '../../helpers/date' const fetcher = (path: string) => fetch(path).then((r) => r.json()) export default function MyCalendar() { const { data: daysBooked, error: fetchBookedOnError } = useSWR( '/api/daysbooked', fetcher ) function tileClassName({ date, view }) { const isMonthView = view === 'month' const isDaysBookedLoaded = !!daysBooked const isBooked = daysBooked?.includes(dateFormatBackend(date)) return classnames({ 'react-calendar__tile--past': isPast(date), 'react-calendar__tile--booked': isMonthView && isDaysBookedLoaded && isBooked, 'react-calendar__tile--free': isMonthView && isDaysBookedLoaded && !isBooked, }) } if (fetchBookedOnError) { return (