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:
@@ -4,6 +4,10 @@ import { TenderCard } from './TenderCard';
|
||||
import { Download, SlidersHorizontal, Layers, ChevronLeft, ChevronRight } from 'lucide-react';
|
||||
import confetti from 'canvas-confetti';
|
||||
|
||||
// İl adları kaynaklar arasında farklı yazılabiliyor (Ankara / ANKARA);
|
||||
// filtre büyük-küçük harf ve Türkçe karakter duyarlılığına takılmasın.
|
||||
const normTr = (v) => String(v || '').trim().toLocaleUpperCase('tr-TR');
|
||||
|
||||
export const TenderList = () => {
|
||||
const {
|
||||
tenders,
|
||||
@@ -46,7 +50,7 @@ export const TenderList = () => {
|
||||
if (quickFilter === 'iptal' && tender.durum !== 'İptal') return false;
|
||||
|
||||
// Dropdown Filters
|
||||
if (selectedCity && tender.sehir !== selectedCity) return false;
|
||||
if (selectedCity && normTr(tender.sehir) !== normTr(selectedCity)) return false;
|
||||
if (selectedAlimTuru && tender.alimTuru !== selectedAlimTuru) return false;
|
||||
if (selectedSektor && tender.sektor !== selectedSektor) return false;
|
||||
if (selectedKurumTipi && tender.kurumTipi !== selectedKurumTipi) return false;
|
||||
|
||||
Reference in New Issue
Block a user