import { writable } from "svelte/store"; import { apiFetch } from "../utils/api.js"; export const movieCount = writable(0); let requestSeq = 0; let lastValue = 0; let zeroTimer = null; export async function refreshMovieCount() { const ticket = ++requestSeq; try { const resp = await apiFetch("/api/movies"); if (!resp.ok) throw new Error(`HTTP ${resp.status}`); const list = await resp.json(); if (ticket !== requestSeq) return; const nextVal = Array.isArray(list) ? list.length : 0; if (nextVal > 0) { if (zeroTimer) { clearTimeout(zeroTimer); zeroTimer = null; } lastValue = nextVal; movieCount.set(nextVal); } else if (lastValue > 0) { if (zeroTimer) clearTimeout(zeroTimer); const zeroTicket = requestSeq; zeroTimer = setTimeout(() => { if (zeroTicket === requestSeq) { lastValue = 0; movieCount.set(0); } zeroTimer = null; }, 500); } else { lastValue = 0; movieCount.set(0); } } catch (err) { console.warn("⚠️ Movie count güncellenemedi:", err?.message || err); // Hata durumunda mevcut değeri koru, titreşimi önle } }