Andreas Thomas 3bd8276524
wip
2023-03-28 16:01:00 +02:00

41 lines
917 B
TypeScript

import { notFound } from "next/navigation";
import { allProjects } from "contentlayer/generated";
import { Mdx } from "@/app/components/mdx";
import { Header } from "./header";
import "./mdx.css";
import { ReportView } from "./view";
type Props = {
params: {
slug: string;
};
};
export async function generateStaticParams(): Promise<Props["params"][]> {
return allProjects
.filter((p) => p.published)
.map((p) => ({
slug: p.slug,
}));
}
export default async function PostPage({ params }: Props) {
const slug = params?.slug;
const project = allProjects.find((project) => project.slug === slug);
if (!project) {
notFound();
}
return (
<div className="bg-zinc-50 min-h-screen">
<Header project={project} />
<ReportView slug={project.slug} />
<article className="px-4 py-12 mx-auto prose prose-zinc prose-quoteless">
<Mdx code={project.body.code} />
</article>
</div>
);
}