/* eslint-disable import/default */ /* eslint-disable @typescript-eslint/restrict-template-expressions */ import { ChevronLeftIcon, ChevronRightIcon } from '@heroicons/react/24/outline' import { add, eachDayOfInterval, endOfMonth, endOfWeek, format, getDay, isSameMonth, isToday, parse, startOfToday, startOfWeek, } from 'date-fns' import React, { useState } from 'react' import { MapOverlayPage } from 'utopia-ui' export const Calendar = () => { const today = startOfToday() const days = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'] const colStartClasses = [ '', 'col-start-2', 'col-start-3', 'col-start-4', 'col-start-5', 'col-start-6', 'col-start-7', ] const [currMonth, setCurrMonth] = useState(() => format(today, 'MMM-yyyy')) const firstDayOfMonth = parse(currMonth, 'MMM-yyyy', new Date()) const daysInMonth = eachDayOfInterval({ start: startOfWeek(firstDayOfMonth), end: endOfWeek(endOfMonth(firstDayOfMonth)), }) const getPrevMonth = (event: React.MouseEvent) => { event.preventDefault() const firstDayOfPrevMonth = add(firstDayOfMonth, { months: -1 }) setCurrMonth(format(firstDayOfPrevMonth, 'MMM-yyyy')) } const getNextMonth = (event: React.MouseEvent) => { event.preventDefault() const firstDayOfNextMonth = add(firstDayOfMonth, { months: 1 }) setCurrMonth(format(firstDayOfNextMonth, 'MMM-yyyy')) } return (

{format(firstDayOfMonth, 'MMMM yyyy')}


{days.map((day, idx) => { return (
{capitalizeFirstLetter(day)}
) })}
{daysInMonth.map((day, idx) => { return (

{format(day, 'd')}

) })}
) } const capitalizeFirstLetter = (string: string) => { return string }