Fix next/current events when there's no current event

This commit is contained in:
puck 2026-05-02 18:32:38 +00:00
parent 099d4725ba
commit bd1617a7f1

View file

@ -55,8 +55,14 @@ interface Data {
const processCalendar = (cal: ProcessedEvent[]): Data => { const processCalendar = (cal: ProcessedEvent[]): Data => {
const data: Data = { concurrent_event_count: 0, upcoming_count: 0 }; const data: Data = { concurrent_event_count: 0, upcoming_count: 0 };
const now = Date.now(); const now = Date.now();
const seen = new Set();
for (let event of cal) { for (let event of cal) {
const eventToken = `${event.start.valueOf()}|${event.summary}|${event.end.valueOf()}`;
if (seen.has(eventToken)) continue;
seen.add(eventToken);
if (event.start.valueOf() > now) data.upcoming_count++; if (event.start.valueOf() > now) data.upcoming_count++;
if (event.isFullDay) continue; if (event.isFullDay) continue;
@ -299,7 +305,7 @@ const Main = ({ data, events }: { data: Data; events: ProcessedEvent[] }) => {
<div className="grid grid--cols-2 gap--medium grow"> <div className="grid grid--cols-2 gap--medium grow">
<NextEvent <NextEvent
event={ event={
data.current_event ? data.secondary_event : data.next_event data.current_event ? data.next_event : data.secondary_event
} }
hasNow={!!data.current_event} hasNow={!!data.current_event}
/> />