count events per yearmonth in calendar
This commit is contained in:
@ -265,20 +265,32 @@ const EventCalendar = ({ events }: { events: EventFragment[] }) => {
|
||||
return (
|
||||
<>
|
||||
<div className={styles.eventCalendar}>
|
||||
{Object.keys(eventsByDate).map((yearMonth) => (
|
||||
<div
|
||||
key={yearMonth}
|
||||
className={styles.calendarYearMonth}
|
||||
data-collapsed={!visibleYearMonths.includes(yearMonth)}
|
||||
>
|
||||
<h2 onClick={() => toggleYearMonth(yearMonth)}>
|
||||
{formatYearMonth(yearMonth)} <span className={styles.eventCounter}>({Object.keys(eventsByDate[yearMonth]).length})</span>
|
||||
</h2>
|
||||
{Object.keys(eventsByDate[yearMonth]).map((week) => (
|
||||
<CalendarWeek key={week} days={eventsByDate[yearMonth][week]} />
|
||||
))}
|
||||
</div>
|
||||
))}
|
||||
{Object.keys(eventsByDate).map((yearMonth) => {
|
||||
const eventCount = Object.values(eventsByDate[yearMonth]).reduce(
|
||||
(yearMonthSum, week) =>
|
||||
yearMonthSum +
|
||||
Object.values(week).reduce(
|
||||
(weekSum, day) => weekSum + day.length,
|
||||
0
|
||||
),
|
||||
0
|
||||
);
|
||||
return (
|
||||
<div
|
||||
key={yearMonth}
|
||||
className={styles.calendarYearMonth}
|
||||
data-collapsed={!visibleYearMonths.includes(yearMonth)}
|
||||
>
|
||||
<h2 onClick={() => toggleYearMonth(yearMonth)}>
|
||||
{formatYearMonth(yearMonth)}{" "}
|
||||
<span className={styles.eventCounter}>({eventCount})</span>
|
||||
</h2>
|
||||
{Object.keys(eventsByDate[yearMonth]).map((week) => (
|
||||
<CalendarWeek key={week} days={eventsByDate[yearMonth][week]} />
|
||||
))}
|
||||
</div>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
|
Reference in New Issue
Block a user