fix: order new tenders by validated publication time

This commit is contained in:
2026-09-06 09:20:45 +03:00
parent f593d5e372
commit efec6e434d
4 changed files with 54 additions and 17 deletions
+5 -4
View File
@@ -5,7 +5,7 @@ import { Download, SlidersHorizontal, Layers, Loader2 } from 'lucide-react';
import { createTenderWorkbook } from '../services/tenderWorkbook';
import { getToken } from '../services/auth';
import { useDeadlineClock } from '../hooks/useDeadlineClock';
import { acikIhale, hizliFiltreGecer, GECMIS_FILTRELER, compareTenderDeadlines } from '../services/ihaleTarih';
import { acikIhale, hizliFiltreGecer, GECMIS_FILTRELER, compareTenderDeadlines, compareTenderPublications } from '../services/ihaleTarih';
// İ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.
@@ -72,8 +72,8 @@ export const TenderList = () => {
return true;
}).sort((a, b) => {
if (sortBy === 'uyum') return (b.aiMatchScore ?? -1) - (a.aiMatchScore ?? -1) || b.id.localeCompare(a.id);
if (sortBy === 'newest') return b.id.localeCompare(a.id);
if (sortBy === 'uyum') return (b.aiMatchScore ?? -1) - (a.aiMatchScore ?? -1) || compareTenderPublications(a,b);
if (sortBy === 'newest') return compareTenderPublications(a,b);
if (sortBy === 'urgent') return compareTenderDeadlines(a,b);
if (sortBy === 'distant') return compareTenderDeadlines(a,b,-1);
return 0;
@@ -164,7 +164,7 @@ export const TenderList = () => {
className="bg-slate-50 border border-slate-300 rounded-lg px-3 py-1.5 text-xs font-semibold text-slate-700 focus:ring-2 focus:ring-blue-500"
>
<option value="uyum">Şirketime En Uyumlu</option>
<option value="newest">En Yeni Eklenenler</option>
<option value="newest">Yayın Tarihi: En Yeni</option>
<option value="urgent">Tarihi Yaklaşanlar (Acil)</option>
<option value="distant">Tarihi Uzak Olanlar</option>
</select>
@@ -179,6 +179,7 @@ export const TenderList = () => {
</div>
</div>
{sortBy === 'newest' && <p className="text-xs text-slate-500">Yayın tarihi bilinmeyen kayıtlar sonda gösterilir. Aynı gün içinde saati bilinen kayıtlar önce gelir.</p>}
{exportError && <p role="alert" className="text-sm text-red-700">{exportError}</p>}
{/* Tender Cards List */}
{gorunenTenders.length === 0 ? (