import { notFound } from "next/navigation"; import { MDXRemote } from "next-mdx-remote/rsc"; import { getAllProjects, getProjectBySlug, getProjectSlugs } from "@/lib/projects/get-projects"; import { mdxComponents } from "@/components/mdx/mdxComponents"; import { ProjectHero } from "@/app/[locale]/works/_components/ProjectHero"; import { ProjectMeta } from "@/app/[locale]/works/_components/ProjectMeta"; import { ProjectTechnologies } from "@/app/[locale]/works/_components/ProjectTechnologies"; import { OtherProjects } from "@/app/[locale]/works/_components/OtherProjects"; type props = { params: Promise<{ locale: string; slug: string; }>; }; const LOCALES = ["fr", "en"]; export function generateStaticParams() { const paths: { locale: string; slug: string }[] = []; LOCALES.forEach((locale) => { const slugs = getProjectSlugs(locale); slugs.forEach((slug) => { paths.push({ locale, slug }); }); }); return paths; } export default async function ProjectPage({ params }: props) { const { locale, slug } = await params; const project = getProjectBySlug(slug, locale); if (!project) { notFound(); } const otherProjects = getAllProjects(locale) .filter((item: any) => item.slug !== slug && item.ready) .slice(0, 2) .map((item: any) => ({ slug: item.slug, title: item.title, description: item.description, cover: item.cover, })); return (
); }