import { Suspense } from "react";
import type { Metadata } from "next";
import { notFound } from "next/navigation";
import {
  UniversiteIcerik,
  UniversiteIcerikSkeleton,
  uniSayfaMetadata,
  uniSayfaStaticParams,
} from "@/features/katalog/components/universite-icerik";

// Yalnızca 1'den fazla sayfası olan üniversiteler için 2..N üretilir;
// 1. sayfa taban rota (/universite/[slug]) olduğundan burada üretilmez.
export function generateStaticParams() {
  return uniSayfaStaticParams();
}

function sayfaNo(no: string): number | null {
  const n = Number(no);
  return Number.isInteger(n) && n >= 2 ? n : null;
}

export async function generateMetadata({
  params,
}: PageProps<"/universite/[slug]/sayfa/[no]">): Promise<Metadata> {
  const { slug, no } = await params;
  const n = sayfaNo(no);
  if (n == null) return {};
  return uniSayfaMetadata(slug, n);
}

export default function UniversiteSayfaPage({
  params,
}: PageProps<"/universite/[slug]/sayfa/[no]">) {
  return (
    <Suspense fallback={<UniversiteIcerikSkeleton />}>
      {params.then(({ slug, no }) => {
        const n = sayfaNo(no);
        if (n == null) notFound();
        return <UniversiteIcerik slug={slug} sayfa={n} />;
      })}
    </Suspense>
  );
}
