38 lines
889 B
TypeScript
38 lines
889 B
TypeScript
import { notFound } from "next/navigation";
|
|
|
|
import { getPage, getPages } from "@/lib/api";
|
|
|
|
export async function generateStaticParams() {
|
|
const pages = await getPages();
|
|
return pages.map((page) => ({ slug: page.slug }));
|
|
}
|
|
|
|
export default async function ContentPage({
|
|
params,
|
|
}: {
|
|
params: Promise<{ slug: string }>;
|
|
}) {
|
|
const { slug } = await params;
|
|
const page = await getPage(slug);
|
|
|
|
if (!page) {
|
|
notFound();
|
|
}
|
|
|
|
return (
|
|
<div className="container">
|
|
<section className="page-hero">
|
|
<span className="eyebrow">Информация</span>
|
|
<h1>{page.title}</h1>
|
|
<p className="page-intro">{page.intro}</p>
|
|
</section>
|
|
|
|
<section className="page-layout page-layout--single">
|
|
<article className="page-panel">
|
|
<div className="page-body">{page.body}</div>
|
|
</article>
|
|
</section>
|
|
</div>
|
|
);
|
|
}
|