@@ -359,7 +359,40 @@ export async function getStaticProps() {
360 const events = getAllEvents(eventKeys, "events");
360 const events = getAllEvents(eventKeys, "events");
362+ const now = DateTime.now();
364+ const pastEvents = events.filter((event) => {
365+ const ends = generateRealtimeDate(event.ends);
369+ const futureEvents = events
370+ .filter((event) => {
371+ const starts = generateRealtimeDate(event.starts);
372+ return starts > now;
375+ const aStarts = generateRealtimeDate(a.starts).ts;
376+ const bStarts = generateRealtimeDate(b.starts).ts;
377+ if (aStarts > bStarts) {
379+ } else if (aStarts === bStarts) {
385+ const happeningNow = events.filter((event) => {
386+ const starts = generateRealtimeDate(event.starts);
387+ const ends = generateRealtimeDate(event.ends);
388+ return starts > DateTime.now() && ends < now;
363− props: { posts, events, openGrantsCount },
392+ props: {
395+ events: happeningNow.concat(futureEvents).concat(pastEvents),