|
|
|
@ -1,12 +1,17 @@ |
|
|
|
|
import { GetStaticProps } from "next"; |
|
|
|
|
import React from "react"; |
|
|
|
|
|
|
|
|
|
import { Image } from "../../components/Image"; |
|
|
|
|
import { MiniTechTalkCard } from "../../components/MiniTechTalkCard"; |
|
|
|
|
import { metadata as tempTechTalkMetadata } from "../../content/playground/temp.talk.mdx"; |
|
|
|
|
import { Image } from "@/components/Image"; |
|
|
|
|
import { MiniTechTalkCard } from "@/components/MiniTechTalkCard"; |
|
|
|
|
import { getTechTalks, Metadata } from "@/lib/tech-talks"; |
|
|
|
|
|
|
|
|
|
import styles from "./tech-talks.module.css"; |
|
|
|
|
|
|
|
|
|
export default function TechTalks() { |
|
|
|
|
interface Props { |
|
|
|
|
talks: Metadata[]; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
export default function TechTalks({ talks }: Props) { |
|
|
|
|
return ( |
|
|
|
|
<> |
|
|
|
|
<div className={styles.headerContainer}> |
|
|
|
@ -21,19 +26,20 @@ export default function TechTalks() { |
|
|
|
|
<Image src="images/tech-talks.svg" className={styles.image} /> |
|
|
|
|
</div> |
|
|
|
|
<div className={styles.miniCards}> |
|
|
|
|
<MiniTechTalkCard |
|
|
|
|
{...tempTechTalkMetadata} |
|
|
|
|
poster={tempTechTalkMetadata.thumbnails.small} |
|
|
|
|
/> |
|
|
|
|
<MiniTechTalkCard |
|
|
|
|
{...tempTechTalkMetadata} |
|
|
|
|
poster={tempTechTalkMetadata.thumbnails.small} |
|
|
|
|
/> |
|
|
|
|
<MiniTechTalkCard |
|
|
|
|
{...tempTechTalkMetadata} |
|
|
|
|
poster={tempTechTalkMetadata.thumbnails.small} |
|
|
|
|
/> |
|
|
|
|
{talks.map((talk) => ( |
|
|
|
|
<MiniTechTalkCard |
|
|
|
|
{...talk} |
|
|
|
|
poster={talk.thumbnails.small} |
|
|
|
|
key={talk.slug} |
|
|
|
|
/> |
|
|
|
|
))} |
|
|
|
|
</div> |
|
|
|
|
</> |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
export const getStaticProps: GetStaticProps<Props> = async () => { |
|
|
|
|
return { |
|
|
|
|
props: { talks: (await getTechTalks()).map(({ metadata }) => metadata) }, |
|
|
|
|
}; |
|
|
|
|
}; |
|
|
|
|