fix(universite): üniversite türü özet paragrafın ilk virgülüne döndü

Dün gece bu dalda URAP sırası "Tür" kartının yerini alırken devlet/vakıf
bilgisi URAP'ta yer alan 198 üniversite sayfasından tamamen düştü — gerekçe
"bilgi sayfanın başka yerinde zaten var" idi, doğrulandı ki değil
(bogazici-universitesi.html'de "Devlet" 0 kez, koc-universitesi.html'de
"Vakıf" 0 kez geçiyordu). Bu commit o bilgi kaybının telafisi.

Telafi özet paragrafın ilk virgülünde duruyor: "… (İstanbul), devlet
üniversitesi; 2026 YKS yerleştirme sonuçlarına göre …". Yeni kutu, yeni
bileşen, yeni rozet yok; ızgara 4 kart kalıyor.

Metin `trBaslikDuzeni` ile değil, dünkü commit'te eklenen `UNITUR_ETIKET`
haritasıyla üretiliyor; harita cümle biçimini de taşıyacak şekilde
genişletildi (kart etiketi + cümle öbeği tek kaynakta). `trBaslikDuzeni`
tr-TR küçültmesi yaptığı için 6 `unitur` değerinin 4'ünde bozuk metin
üretiyordu ("Kktc", "Yurtdısı Kamu"). Haritada olmayan ya da NULL bir
değerde öbek hiç yazılmaz, cümlede kopuk virgül kalmaz.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
bilalgursen
2026-09-23 10:01:41 +03:00
parent 0e689e60bb
commit 4c756c41fd

View File

@@ -46,16 +46,24 @@ const sayi = (n: number) => n.toLocaleString("tr-TR");
// Ham `unitur` değerlerinin ekranda görünen karşılığı. `trBaslikDuzeni`
// tr-TR küçültmesi yaptığı için ("I" → "ı") ham değerlere uygulanamaz:
// "YURTDISI KAMU" → "Yurtdısı Kamu" gibi Türkçede olmayan kelimeler çıkıyor.
// Haritada olmayan (ileride eklenecek) bir değer için `trBaslikDuzeni`
// yedek olarak kalır. Yalnızca bu karttaki gösterim içindir — `trBaslikDuzeni`
// il adlarında doğru çalışıyor, ona dokunulmaz.
const UNITUR_ETIKET: Record<string, string> = {
DEVLET: "Devlet",
VAKIF: "Vakıf",
"VAKIF MYO": "Vakıf MYO",
KKTC: "KKTC",
"YURTDISI KAMU": "Yurt dışı (kamu)",
"YURTDISI VAKIF": "Yurt dışı (vakıf)",
// İki biçim tek kaynakta durur, çünkü aynı bilgi iki yerde geçiyor:
// `kart` = "Tür" kartındaki kısa etiket (yalnız URAP'ta olmayan üniversitede),
// `cumle` = özet paragrafın ilk virgülündeki öbek (her üniversitede).
// `cumle` cümle ortasında okunacak biçimde küçük harfle başlar; KKTC gibi
// kısaltmalar büyük kalır.
const UNITUR_ETIKET: Record<string, { kart: string; cumle: string }> = {
DEVLET: { kart: "Devlet", cumle: "devlet üniversitesi" },
VAKIF: { kart: "Vakıf", cumle: "vakıf üniversitesi" },
"VAKIF MYO": { kart: "Vakıf MYO", cumle: "vakıf meslek yüksekokulu" },
KKTC: { kart: "KKTC", cumle: "KKTC üniversitesi" },
"YURTDISI KAMU": {
kart: "Yurt dışı (kamu)",
cumle: "yurt dışında bir kamu üniversitesi",
},
"YURTDISI VAKIF": {
kart: "Yurt dışı (vakıf)",
cumle: "yurt dışında bir vakıf üniversitesi",
},
};
export function uniToplamSayfa(programSayisi: number): number {
@@ -227,6 +235,14 @@ export function UniversiteIcerik({
}
const ilkSayfa = sayfa === 1;
// Devlet/vakıf bilgisi sayfada başka hiçbir yerde geçmiyor (URAP'ta olan
// üniversitede "Tür" kartının yerini URAP sırası aldı), o yüzden özet
// paragrafın ilk virgülünde duruyor. Haritada olmayan ya da NULL bir
// `unitur`'da öbek hiç yazılmaz: cümlede kopuk virgül/boşluk kalmaz ve
// ham DB değeri cümlenin içine sızmaz.
const turCumlesi = uni.unitur
? UNITUR_ETIKET[uni.unitur]?.cumle
: undefined;
const buYol = ilkSayfa
? `/universite/${slug}`
: `/universite/${slug}/sayfa/${sayfa}`;
@@ -324,8 +340,9 @@ export function UniversiteIcerik({
<>
<p className="mt-4 max-w-3xl text-sm leading-7 text-slate-600">
{uni.ad}
{uni.il ? ` (${trBaslikDuzeni(uni.il)})` : ""}, {SON_YIL} YKS
yerleştirme sonuçlarına göre{" "}
{uni.il ? ` (${trBaslikDuzeni(uni.il)})` : ""}
{turCumlesi ? `, ${turCumlesi};` : ","} {SON_YIL} YKS yerleştirme
sonuçlarına göre{" "}
<strong>{sayi(uni.programSayisi)} programda</strong> öğrenci aldı
{uni.fakulteSayisi > 1
? `; programlar ${sayi(uni.fakulteSayisi)} fakülte/yüksekokula dağılıyor`
@@ -394,7 +411,7 @@ export function UniversiteIcerik({
</dt>
<dd className="mt-1 font-heading text-2xl font-bold text-slate-900">
{uni.unitur
? (UNITUR_ETIKET[uni.unitur] ??
? (UNITUR_ETIKET[uni.unitur]?.kart ??
trBaslikDuzeni(uni.unitur))
: "—"}
</dd>