/** @jsxRuntime classic */ /** @jsx jsx */ import { FC, useMemo } from 'react'; import { useTheme, jsx } from '@emotion/react'; import classNames from 'classnames'; import dayjs from 'dayjs'; import isoWeek from 'dayjs/plugin/isoWeek'; import { weekBoxContainer } from '../styles'; import { useMiddlewareContext } from '../../hooks/useMiddlewareContext'; import { IWeekBoxProps } from '../../types'; dayjs.extend(isoWeek); export const WeekBox: FC = ({ width, horizontal }) => { const colors = useTheme(); const { options } = useMiddlewareContext(); const { date, isSundayFirstDay } = options; const dayShift = isSundayFirstDay ? 1 : 0; const today = dayjs.utc(date); const dates = useMemo(() => { let result = [] as dayjs.Dayjs[]; for (let i = 1; i < 8; i++) { result.push(today.isoWeekday(i - dayShift).utc()); } return result; }, [date, dayShift]); return (
{dates.map((date) => (
{date.format('ddd')}
{date.date()}
))}
); };