import type { Metadata } from "next";
import { notFound } from "next/navigation";
import { getAllUniversiteler } from "@/lib/katalog";
import {
  UniversiteIcerik,
  uniSayfaMetadata,
  uniToplamSayfa,
} from "../../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 getAllUniversiteler().flatMap((u) => {
    const toplam = uniToplamSayfa(u.programSayisi);
    return Array.from({ length: Math.max(0, toplam - 1) }, (_, i) => ({
      slug: u.slug,
      no: String(i + 2),
    }));
  });
}

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

export async function generateMetadata({
  params,
}: {
  params: Promise<{ slug: string; no: string }>;
}): Promise<Metadata> {
  const { slug, no } = await params;
  const n = sayfaNo(no);
  if (n == null) return {};
  return uniSayfaMetadata(slug, n);
}

export default async function UniversiteSayfaPage({
  params,
}: {
  params: Promise<{ slug: string; no: string }>;
}) {
  const { slug, no } = await params;
  const n = sayfaNo(no);
  if (n == null) notFound();
  return <UniversiteIcerik slug={slug} sayfa={n} />;
}
