import { DateTime } from "luxon"; import classNames from "classnames"; import { useTranslation } from "next-i18next"; import Event from "./event"; export default function Agenda({ service, colorVariants, events, showDate }) { const { widget } = service; const { t } = useTranslation(); if (!showDate) { return
; } const eventsArray = Object.keys(events) .filter( (eventKey) => showDate.minus({ days: widget?.previousDays ?? 0 }).startOf("day").ts <= events[eventKey].date?.startOf("day").ts, ) .map((eventKey) => events[eventKey]) .sort((a, b) => a.date - b.date) .slice(0, widget?.maxEvents ?? 10); if (!eventsArray.length) { return (
); } const days = Array.from(new Set(eventsArray.map((e) => e.date.startOf("day").ts))); const eventsByDay = days.map((d) => eventsArray.filter((e) => e.date.startOf("day").ts === d)); return (
{eventsByDay.map((eventsDay, i) => (
{eventsDay.map((event, j) => ( ))}
))}
); }