Add event info page getStaticProps
This commit is contained in:
parent
2c84e60d06
commit
b98d7b9e06
|
@ -4,24 +4,21 @@ import { GetStaticPaths, GetStaticProps } from "next";
|
||||||
import { MDXRemote } from "next-mdx-remote";
|
import { MDXRemote } from "next-mdx-remote";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
|
|
||||||
import { EventCard } from "../../../../components/EventCard";
|
import { EventCard } from "@/components/EventCard";
|
||||||
import {
|
import {
|
||||||
Event,
|
Event,
|
||||||
getEventYears,
|
getEventYears,
|
||||||
getEventTermsByYear,
|
getEventTermsByYear,
|
||||||
getEventsByTerm,
|
getEventsByTerm,
|
||||||
getEventBySlug,
|
getEventBySlug,
|
||||||
} from "../../../../lib/events";
|
} from "@/lib/events";
|
||||||
|
|
||||||
export default function EventInfoPage(props: Props) {
|
export default function EventInfoPage(props: Props) {
|
||||||
return <p>Hello, world!</p>;
|
return <p>Hello, world!</p>;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
// event: Event;
|
event: Event;
|
||||||
event: string;
|
|
||||||
poster?: string;
|
|
||||||
registerLink?: string;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
interface Params extends ParsedUrlQuery {
|
interface Params extends ParsedUrlQuery {
|
||||||
|
@ -30,12 +27,12 @@ interface Params extends ParsedUrlQuery {
|
||||||
event: string;
|
event: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const getStaticProps: GetStaticProps<Props, Params> = async () => {
|
export const getStaticProps: GetStaticProps<Props, Params> = async (
|
||||||
return {
|
context
|
||||||
props: {
|
) => {
|
||||||
event: "test",
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
||||||
},
|
const { year, term, event } = context.params!;
|
||||||
};
|
return { props: { event: await getEventBySlug(year, term, event) } };
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getStaticPaths: GetStaticPaths<Params> = async () => {
|
export const getStaticPaths: GetStaticPaths<Params> = async () => {
|
||||||
|
@ -51,10 +48,11 @@ export const getStaticPaths: GetStaticPaths<Params> = async () => {
|
||||||
const events = (
|
const events = (
|
||||||
await Promise.all(
|
await Promise.all(
|
||||||
terms.map(async (term) => {
|
terms.map(async (term) => {
|
||||||
const eventsInYear = await getEventsByTerm(term.year, term.term);
|
const eventsInTerm = await getEventsByTerm(term.year, term.term);
|
||||||
return eventsInYear.map((event) => {
|
return eventsInTerm.map((event) => ({
|
||||||
return { year: term.year, term: term.term, event: event };
|
...term,
|
||||||
});
|
event,
|
||||||
|
}));
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
).flat();
|
).flat();
|
||||||
|
|
Loading…
Reference in New Issue