Implement event info page getStaticPaths

pull/153/head
Amy 2 years ago
parent 4a785bbfea
commit 2c84e60d06
  1. 0
      content/events/2020/fall/Roasting-Our-First-Year-Resumes.md
  2. 0
      content/events/2020/fall/WiCS-x-CSC-Alt-Tab.md
  3. 0
      content/events/2020/winter/Code-Party-0.md
  4. 0
      content/events/2020/winter/Physical-Security-Workshop.md
  5. 0
      content/events/2020/winter/WiCS-x-CSC-Bondfire.md
  6. 0
      content/events/2021/spring/Afterhours-Burnout.md
  7. 0
      content/events/2021/spring/CSC-BOT-&-Game-Night.md
  8. 0
      content/events/2021/spring/CSC-x-SE-Soc-Interview-Prep.md
  9. 0
      content/events/2021/spring/Drop-in-Resume-Critiques-(Day-1).md
  10. 0
      content/events/2021/spring/Drop-in-Resume-Critiques-(Day-2).md
  11. 0
      content/events/2021/spring/Speed-Friending.md
  12. 0
      content/events/2021/spring/Titus-Winters-Tech-Talk.md
  13. 0
      content/events/2021/winter/Afterhours-Personal-Relationships.md
  14. 0
      content/events/2021/winter/Alt-Tab.md
  15. 0
      content/events/2021/winter/CTCI136.md
  16. 0
      content/events/2021/winter/Fun-Friday.md
  17. 0
      content/events/2021/winter/Get-involved-in-CS-Club!.md
  18. 0
      content/events/2021/winter/Out-of-The-Box-React.md
  19. 0
      content/events/2021/winter/RES-135.md
  20. 0
      content/events/2021/winter/Recovering-From-a-Rough-Term.md
  21. 0
      content/events/2021/winter/Speed-Friending.md
  22. 0
      content/events/2021/winter/Talk-to-CSC-Tuesday.md
  23. 0
      content/events/2021/winter/Theatre-Thursday.md
  24. 2
      package-lock.json
  25. 66
      pages/events/[year]/[term]/[event].tsx

2
package-lock.json generated

@ -1,5 +1,5 @@
{
"name": "www-new",
"name": "website",
"version": "0.1.0",
"lockfileVersion": 2,
"requires": true,

@ -0,0 +1,66 @@
import { ParsedUrlQuery } from "querystring";
import { GetStaticPaths, GetStaticProps } from "next";
import { MDXRemote } from "next-mdx-remote";
import React from "react";
import { EventCard } from "../../../../components/EventCard";
import {
Event,
getEventYears,
getEventTermsByYear,
getEventsByTerm,
getEventBySlug,
} from "../../../../lib/events";
export default function EventInfoPage(props: Props) {
return <p>Hello, world!</p>;
}
interface Props {
// event: Event;
event: string;
poster?: string;
registerLink?: string;
}
interface Params extends ParsedUrlQuery {
year: string;
term: string;
event: string;
}
export const getStaticProps: GetStaticProps<Props, Params> = async () => {
return {
props: {
event: "test",
},
};
};
export const getStaticPaths: GetStaticPaths<Params> = async () => {
const years = await getEventYears();
const terms = (
await Promise.all(
years.map(async (year) => {
const termsInYear = await getEventTermsByYear(year);
return termsInYear.map((term) => ({ year, term }));
})
)
).flat();
const events = (
await Promise.all(
terms.map(async (term) => {
const eventsInYear = await getEventsByTerm(term.year, term.term);
return eventsInYear.map((event) => {
return { year: term.year, term: term.term, event: event };
});
})
)
).flat();
return {
paths: events.map((params) => ({ params })),
fallback: false,
};
};
Loading…
Cancel
Save