import type { Metadata } from "next";
import { notFound } from "next/navigation";
import { db } from "@/lib/db";
import { Markdown } from "@/lib/markdown";

type Props = { params: Promise<{ slug: string }> };
const load = (slug: string) => db.page.findFirst({ where: { slug, status: "PUBLISHED" } });
export async function generateMetadata({ params }: Props): Promise<Metadata> { const p = await load((await params).slug); return p ? { title: p.seoTitle || p.title, description: p.seoDesc || p.intro || undefined, alternates: { canonical: `/${p.slug}` } } : {}; }

export default async function CmsPage({ params }: Props) {
  const p = await load((await params).slug);
  if (!p) notFound();
  return (
    <div className="wrap py-12 md:py-20">
      <h1 className="font-display text-[48px] md:text-[96px] leading-none max-w-[14ch]">{p.title}</h1>
      {p.intro && <p className="font-display text-[22px] md:text-[26px] leading-[1.45] mt-6 max-w-[48ch] text-stone">{p.intro}</p>}
      <div className="mt-10"><Markdown source={p.body} /></div>
    </div>
  );
}
