Add past/future events props
This commit is contained in:
parent
16616fe691
commit
180bea746d
|
@ -47,33 +47,48 @@ interface Context {
|
||||||
interface Props {
|
interface Props {
|
||||||
term: string;
|
term: string;
|
||||||
year: string;
|
year: string;
|
||||||
pastEvents: string[];
|
pastEvents: Event[];
|
||||||
futureEvents: string[];
|
futureEvents: Event[];
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function getStaticProps(context: Context): Promise<{
|
export async function getStaticProps(context: Context): Promise<{
|
||||||
props: Props;
|
props: Props;
|
||||||
}> {
|
}> {
|
||||||
const events = await Promise.all(
|
const events = (
|
||||||
(
|
await Promise.all(
|
||||||
await getEventsByTerm(context.params.year, context.params.term)
|
(
|
||||||
).map((file: string) =>
|
await getEventsByTerm(context.params.year, context.params.term)
|
||||||
getEventBySlug(context.params.year, context.params.term, file)
|
).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 {
|
return {
|
||||||
props: {
|
props: {
|
||||||
term: context.params.term,
|
term: context.params.term,
|
||||||
year: context.params.year,
|
year: context.params.year,
|
||||||
events: events,
|
pastEvents: pastEvents,
|
||||||
|
futureEvents: futureEvents,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
const Term = (props: Props) => {
|
const Term = (props: Props) => {
|
||||||
|
console.log(props.pastEvents.length)
|
||||||
|
console.log(props.futureEvents.length)
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={styles.main}>
|
<div className={styles.main}>
|
||||||
<h2 className={styles.heading2}>
|
<h2 className={styles.heading2}>
|
||||||
|
@ -85,8 +100,20 @@ const Term = (props: Props) => {
|
||||||
</span>
|
</span>
|
||||||
</h2>
|
</h2>
|
||||||
<hr />
|
<hr />
|
||||||
|
PAST
|
||||||
<div className={styles.miniEventCards}>
|
<div className={styles.miniEventCards}>
|
||||||
{props.events.map(({ content, metadata }) => (
|
{props.pastEvents.map(({ content, metadata }) => (
|
||||||
|
<MiniEventCard
|
||||||
|
{...metadata}
|
||||||
|
date={new Date(metadata.date)}
|
||||||
|
description={<MDXRemote {...content} />}
|
||||||
|
key={metadata.name + metadata.date.toString()}
|
||||||
|
/>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
FUTURA
|
||||||
|
<div className={styles.miniEventCards}>
|
||||||
|
{props.futureEvents.map(({ content, metadata }) => (
|
||||||
<MiniEventCard
|
<MiniEventCard
|
||||||
{...metadata}
|
{...metadata}
|
||||||
date={new Date(metadata.date)}
|
date={new Date(metadata.date)}
|
||||||
|
|
Loading…
Reference in New Issue