From 180bea746d427ba2000d00203bc5f81448d14f58 Mon Sep 17 00:00:00 2001 From: Jared He <66887902+jaredjhe@users.noreply.github.com> Date: Wed, 18 Aug 2021 11:17:36 -0500 Subject: [PATCH] Add past/future events props --- pages/events/[year]/[term]/index.tsx | 47 ++++++++++++++++++++++------ 1 file changed, 37 insertions(+), 10 deletions(-) diff --git a/pages/events/[year]/[term]/index.tsx b/pages/events/[year]/[term]/index.tsx index 5f3517a0..8484dc65 100644 --- a/pages/events/[year]/[term]/index.tsx +++ b/pages/events/[year]/[term]/index.tsx @@ -47,33 +47,48 @@ interface Context { interface Props { term: string; year: string; - pastEvents: string[]; - futureEvents: string[]; + pastEvents: Event[]; + futureEvents: Event[]; } export async function getStaticProps(context: Context): Promise<{ props: Props; }> { - const events = await Promise.all( - ( - await getEventsByTerm(context.params.year, context.params.term) - ).map((file: string) => - getEventBySlug(context.params.year, context.params.term, file) + const events = ( + await Promise.all( + ( + await getEventsByTerm(context.params.year, context.params.term) + ).map((file: string) => + getEventBySlug(context.params.year, context.params.term, file) + ) ) + ).sort( + (a, b) => + new Date(a.metadata.date).getTime() - new Date(b.metadata.date).getTime() ); - const curtime = Date.now(); + const pastEvents = events.filter( + (event) => new Date(event.metadata.date).getTime() < Date.now() + ); + + const futureEvents = events.filter( + (event) => new Date(event.metadata.date).getTime() >= Date.now() + ); return { props: { term: context.params.term, year: context.params.year, - events: events, + pastEvents: pastEvents, + futureEvents: futureEvents, }, }; } const Term = (props: Props) => { + console.log(props.pastEvents.length) + console.log(props.futureEvents.length) + return (

@@ -85,8 +100,20 @@ const Term = (props: Props) => {


+ PAST
- {props.events.map(({ content, metadata }) => ( + {props.pastEvents.map(({ content, metadata }) => ( + } + key={metadata.name + metadata.date.toString()} + /> + ))} +
+ FUTURA +
+ {props.futureEvents.map(({ content, metadata }) => (