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:
@@ -105,6 +105,26 @@ export const AppProvider = ({ children }) => {
|
||||
.finally(() => setAuthReady(true));
|
||||
}, []);
|
||||
|
||||
// "Son girişten beri" kartı için önceki ziyaretin zamanı. Ziyaret = tarayıcı
|
||||
// sekmesi oturumu (sessionStorage): sayfa yenilemek sayacı sıfırlamaz, yeni
|
||||
// sekme/gün açmak önceki damgayı "önceki giriş" yapar. Eskiden sabit 14'tü.
|
||||
const [oncekiGiris, setOncekiGiris] = useState(null);
|
||||
useEffect(() => {
|
||||
if (!authUser) return;
|
||||
try {
|
||||
const anahtar = 'ihaleist_son_giris';
|
||||
const onceki = Number(localStorage.getItem(anahtar)) || null;
|
||||
const oturum = sessionStorage.getItem('ihaleist_oturum_giris');
|
||||
if (oturum !== null) { // aynı sekmede yenileme: damga sabit kalır
|
||||
setOncekiGiris(Number(oturum) || null);
|
||||
return;
|
||||
}
|
||||
setOncekiGiris(onceki);
|
||||
sessionStorage.setItem('ihaleist_oturum_giris', String(onceki || 0));
|
||||
localStorage.setItem(anahtar, String(Date.now()));
|
||||
} catch { /* depolama kapalıysa kart bugünü gösterir */ }
|
||||
}, [authUser?.email]);
|
||||
|
||||
// Giriş yapınca kullanıcı verisini SUNUCUDAN yükle (localStorage'ı ezer)
|
||||
useEffect(() => {
|
||||
if (!authUser) { setVeriSenkron(false); setPlan(null); return; }
|
||||
@@ -530,6 +550,7 @@ export const AppProvider = ({ children }) => {
|
||||
toggleCpv,
|
||||
cpvBolumListesi,
|
||||
onlyValidOnly,
|
||||
oncekiGiris,
|
||||
setOnlyValidOnly,
|
||||
quickFilter,
|
||||
setQuickFilter,
|
||||
|
||||
Reference in New Issue
Block a user