fix: il adları kaynaklar arasında bölünüyordu (Ankara / ANKARA)

Sorun: ilan.gov.tr illeri 'Ankara' biçiminde, EKAP arşivi/DT 'ANKARA' biçiminde
veriyordu. İl filtresi birebir string karşılaştırdığı için kullanıcı 'Ankara'
seçtiğinde 161 'ANKARA' kaydı görünmüyordu. 81 ilin hepsi çift kayıtlıydı
(162 farklı il değeri).

- server/tr-text.mjs: Türkçe duyarlı titleCaseTr / normTr yardımcıları
- history-store + dt-store: il adı okunurken tek biçime indiriliyor
  (mevcut kayıtlar için de geçerli, yeniden tarama gerekmiyor)
- TenderList: il filtresi normalize karşılaştırma yapıyor (savunma katmanı)
This commit is contained in:
2026-08-29 02:40:22 +03:00
parent 03d5a04c91
commit c701083642
4 changed files with 30 additions and 3 deletions
+21
View File
@@ -0,0 +1,21 @@
/**
* Türkçe metin yardımcıları.
* Kaynaklar il adını farklı yazıyor (ilan.gov.tr "Ankara", EKAP "ANKARA");
* tek biçime indirgemezsek il filtresi ve gruplamalar bölünüyor.
*/
/** "İSTANBUL" → "İstanbul", "şanlıurfa" → "Şanlıurfa" (Türkçe i/ı duyarlı) */
export function titleCaseTr(s) {
if (!s) return '';
return String(s)
.trim()
.toLocaleLowerCase('tr-TR')
.split(/(\s+|-)/)
.map((w) => (/^[\s-]*$/.test(w) ? w : w.charAt(0).toLocaleUpperCase('tr-TR') + w.slice(1)))
.join('');
}
/** Karşılaştırma için normalize (büyük harf, Türkçe duyarlı) */
export function normTr(s) {
return String(s || '').trim().toLocaleUpperCase('tr-TR');
}