fix: ust serit tiklaninca donuyordu — Kanban havuzdaki tum ihaleleri (8 bin+ kart) ciziyordu; artik yalnizca takipteki/kolona tasinan ihaleler, sekme gecisi transition ile aninda vurgulaniyor
- KanbanBoard: sunucu her ilana varsayilan 'incelenecek' verdigi icin bos pano 8.372 kart basiyordu; yalnizca takipte veya kolona tasinmis ihaleler kaliyor
- TopNavigation: useTransition + spinner; agir sekmelerde tiklama karsiliksiz kalmiyor
- sunucu: 'yeni liste eskisinden kucukse alma' kurali havuzu 30 Agustos zirvesinde dondurmustu (gunlerce yeni ilan yok); eksiksiz inen liste her zaman devrede
- sunucu: isYeni/bugun eklenen UTC-TR gun farkindan hep 0'di; Europe/Istanbul gunune gore ve her yanitta tazeleniyor (eklenmeZamani da donmuyor)
- ust kartlar: 'bugun eklenenler' tum ilanlari sayiyordu ('once' metnine bakiyordu), 'son giristen beri' sabit 14'tu; sayimlar liste filtresiyle ayni olcut (ihaleTarih.js), arsiv/sonuclanan filtreleri 'sadece acik' kapisina takilmiyor
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import React, { useEffect, useState } from 'react';
|
||||
import { useApp } from '../context/AppContext';
|
||||
import { Database, PlusCircle, Eye, Layers, Trophy, TrendingDown } from 'lucide-react';
|
||||
import { bugunEklendi, acikIhale } from '../services/ihaleTarih';
|
||||
|
||||
export const LiveStatsBar = () => {
|
||||
const { liveStats, tenders } = useApp();
|
||||
@@ -8,6 +9,12 @@ export const LiveStatsBar = () => {
|
||||
const yukluIhale = tenders.length;
|
||||
const takibimdeki = tenders.filter((t) => t.takipte).length;
|
||||
const kalemSayisi = tenders.reduce((s, t) => s + (t.items?.length || 0), 0);
|
||||
// Üst kartla (BUGÜN EKLENENLER) AYNI ölçüt: bugün yayımlanan ve süresi
|
||||
// geçmemiş ilanlar (ilan.gov.tr + DT). İki bant farklı sayı göstermesin.
|
||||
const bugun = new Date(); bugun.setHours(0, 0, 0, 0);
|
||||
const bugunEklenen = tenders.length
|
||||
? tenders.filter((t) => acikIhale(t, bugun) && bugunEklendi(t)).length
|
||||
: liveStats.bugunEklenen;
|
||||
|
||||
// Havuz sağlığı: kaynak (ilan.gov.tr) sayısı 7 GÜNLÜK ORTALAMANIN çok altındaysa
|
||||
// bunu açıkça söyleriz — kullanıcı "veri mi kayboldu?" diye düşünmesin.
|
||||
@@ -25,7 +32,7 @@ export const LiveStatsBar = () => {
|
||||
const stats = [
|
||||
{ deger: liveStats.toplamIhale, etiket: 'Canlı İhale Havuzu', renk: 'text-white', dot: true },
|
||||
{ deger: yukluIhale, etiket: 'Yüklü İhale', renk: 'text-white', icon: Database, iconRenk: 'text-blue-400' },
|
||||
{ deger: liveStats.bugunEklenen, etiket: 'Bugün Eklenen', renk: 'text-emerald-400', icon: PlusCircle, iconRenk: 'text-emerald-400' },
|
||||
{ deger: bugunEklenen, etiket: 'Bugün Eklenen', renk: 'text-emerald-400', icon: PlusCircle, iconRenk: 'text-emerald-400' },
|
||||
{ deger: kalemSayisi, etiket: 'Kalem', renk: 'text-white', icon: Layers, iconRenk: 'text-indigo-400' },
|
||||
{ deger: liveStats.arsiv, etiket: 'Sonuç Arşivi', renk: 'text-white', icon: Trophy, iconRenk: 'text-emerald-400' },
|
||||
{ deger: takibimdeki, etiket: 'Takibimdeki', renk: 'text-white', icon: Eye, iconRenk: 'text-amber-400' },
|
||||
|
||||
Reference in New Issue
Block a user