Files

26 lines
1.1 KiB
TypeScript

import type { Metadata } from "next";
import { notFound } from "next/navigation";
import ProjectDetail from "@/components/public/project-detail";
import { getActiveLocale, isLocale, type Locale } from "@/lib/i18n";
import { getProjectDirectoryCopy } from "@/lib/project-content";
import { getPublishedProject } from "@/lib/project-queries";
type WorkDetailPageProps = {
params: { locale: string; slug: string };
};
export function generateMetadata({ params }: WorkDetailPageProps): Metadata {
if (!isLocale(params.locale)) return {};
const locale = getActiveLocale(params.locale as Locale);
const copy = getProjectDirectoryCopy(locale, "PORTFOLIO");
return { title: copy.eyebrow, description: copy.description };
}
export default async function WorkDetailPage({ params }: WorkDetailPageProps) {
if (!isLocale(params.locale)) notFound();
const locale = getActiveLocale(params.locale as Locale);
const project = await getPublishedProject("PORTFOLIO", params.slug);
if (!project) notFound();
return <ProjectDetail locale={locale} type="PORTFOLIO" project={project} />;
}