use endDate for upcoming and past event system
continuous-integration/drone/push Build is passing Details

This commit is contained in:
Shahan Nedadahandeh 2022-05-20 22:59:28 -07:00
parent b8beb8e843
commit 1cf4b4ed5e
Signed by: snedadah
GPG Key ID: 8638C7F917385B01
1 changed files with 14 additions and 3 deletions

View File

@ -133,7 +133,12 @@ export async function getUpcomingEvents(): Promise<Event[]> {
).flat();
return events
.filter((ev) => new Date(ev.metadata.startDate).getTime() >= Date.now())
.filter(
(ev) =>
// use endDate if possible, else use startDate
new Date(ev.metadata.endDate ?? ev.metadata.startDate).getTime() >=
Date.now()
)
.sort((a, b) => {
return (
new Date(a.metadata.startDate).getTime() -
@ -179,12 +184,18 @@ export async function getEventsPageProps({
const pastEvents = events
.filter(
(event) => new Date(event.metadata.startDate).getTime() < currentDate
(event) =>
// fallback to startDate if endDate is not set
new Date(event.metadata.endDate ?? event.metadata.startDate).getTime() <
currentDate
)
.reverse();
const futureEvents = events.filter(
(event) => new Date(event.metadata.startDate).getTime() >= currentDate
// We display events that are currently going on as upcoming so they still show up homepage and other pages on the top
(event) =>
new Date(event.metadata.endDate ?? event.metadata.startDate).getTime() >=
currentDate
);
const current = getCurrentTerm();