"use client"; import Link from "next/link"; import type { Program } from "@/lib/db"; import { ProgramSiraGecmisi, ProgramTabanTrendi, programEtkinSira, } from "@/components/program-liste-verileri"; import { ProgramEkleButonu } from "@/components/manuel-liste/program-ekle-butonu"; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "@/components/ui/table"; const sayi = (n: number) => n.toLocaleString("tr-TR"); const TUR_ETIKET: Record = { SAYISAL: "SAY", "EŞİT AĞIRLIK": "EA", SÖZEL: "SÖZ", DİL: "DİL", TYT: "TYT", }; export type UniProgramSatiri = Program & { bolumSlug: string | null }; export function UniversiteProgramTablosu({ gruplar, }: { gruplar: { fakulte: string; programlar: UniProgramSatiri[] }[]; }) { return ( <> {gruplar.map(({ fakulte, programlar }, i) => (

{fakulte}

Program Son 5 yıl 2025 puan Kontenjan Taban sıra Listeye ekle {programlar.map((p) => { const taban = programEtkinSira(p); return ( {p.bolumSlug ? ( {p.isim.trim()} ) : ( {p.isim.trim()} )} {TUR_ETIKET[p.tur] ?? p.tur} {p.sure ? ( {p.sure} yıl ) : null} {p.puan2025 != null ? p.puan2025.toFixed(2).replace(".", ",") : "—"} {p.kontenjan2025 != null ? `${sayi(p.kontenjan2025)} kişi` : "—"} {taban != null ? `~${sayi(taban)}.` : "—"} ); })}
))} ); }