import type { Metadata } from "next"; import Link from "next/link"; import { notFound } from "next/navigation"; import { ChevronRight } from "lucide-react"; import { getBolumBySlug, uniSlugFromAd } from "@/lib/katalog"; import { JsonLd, breadcrumbJsonLd } from "@/lib/seo"; import { SAYFA_BOYU } from "@/components/sayfalama"; import { BolumProgramListesi } from "@/components/bolum-program-listesi"; import { SiteFooter } from "@/components/site-footer"; const sayi = (n: number) => n.toLocaleString("tr-TR"); export function bolumToplamSayfa(programSayisi: number): number { return Math.max(1, Math.ceil(programSayisi / SAYFA_BOYU)); } export function bolumSayfaMetadata(slug: string, sayfa: number): Metadata { const bolum = getBolumBySlug(slug); if (!bolum) return {}; const { stats } = bolum; if (sayfa > 1) { return { title: `${bolum.ad} Taban Puanları 2026 (Sayfa ${sayfa})`, description: `${bolum.ad} taban puanları ve başarı sıralamaları tablosunun ${sayfa}. sayfası — toplam ${stats.toplam} programın 2025 yerleştirme verileri.`, alternates: { canonical: `/bolum/${slug}/sayfa/${sayfa}` }, }; } const enIyi = stats.minSira != null ? ` En iyi taban sıralaması ${sayi(stats.minSira)}.` : ""; return { title: `${bolum.ad} Taban Puanları ve Başarı Sıralamaları 2026`, description: `${bolum.ad} 2025 yerleştirme verileri: ${stats.toplam} programın taban puanı ve sıralaması, ${stats.devlet} devlet / ${stats.vakif} vakıf.${enIyi} 2026 tercih rehberi.`, alternates: { canonical: `/bolum/${slug}` }, }; } export function BolumIcerik({ slug, sayfa }: { slug: string; sayfa: number }) { const bolum = getBolumBySlug(slug); if (!bolum) notFound(); const tumProgramlar = [ ...bolum.lisansProgramlari, ...bolum.onlisansProgramlari, ]; const toplamSayfa = bolumToplamSayfa(tumProgramlar.length); if (sayfa < 1 || sayfa > toplamSayfa) notFound(); const ilkSayfa = sayfa === 1; const buYol = ilkSayfa ? `/bolum/${slug}` : `/bolum/${slug}/sayfa/${sayfa}`; return ( <>

{bolum.ad}

{sayi(tumProgramlar.length)} üniversite programının 2025 taban puanlarını, başarı sıralamalarını ve kontenjanlarını incele {!ilkSayfa ? ` — sayfa ${sayfa}` : ""}.

Üniversite programları

{sayi(tumProgramlar.length)} program
({ ...program, universiteSlug: uniSlugFromAd(program.universite), }))} bazAd={bolum.ad} tabanYol={`/bolum/${slug}`} sayfa={sayfa} />
); }