feat(ui): alışveriş listeleri, akıllı öneri paneli ve alışveriş modu

- /alisveris, /alisveris/:id ve /alisveris/:id/mod sayfaları; odak ve 30 sn yenileme
- stok önerileri paneli, kalem ekle/düzenle/taşı, mağazaya gruplu kontrol listesi
- dashboard Alışveriş kartı, kenar menü, ürün tipi formunda hacimli işareti

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-06 23:28:54 +03:00
parent 8ab2244755
commit fa70168622
15 changed files with 1541 additions and 6 deletions
+25
View File
@@ -0,0 +1,25 @@
"use client";
import { useRouter } from "next/navigation";
import { useEffect } from "react";
/**
* Paylaşılan veriler için hafif senkron: sayfa yeniden odaklanınca ve belirli aralıkla sunucu
* bileşenlerini yeniler (aile üyeleri aynı listeyi kullanır). Sekme gizliyken yenilemez.
*/
export function useAutoRefresh(intervalMs: number) {
const router = useRouter();
useEffect(() => {
const refresh = () => {
if (document.visibilityState === "visible") router.refresh();
};
const timer = window.setInterval(refresh, intervalMs);
window.addEventListener("focus", refresh);
document.addEventListener("visibilitychange", refresh);
return () => {
window.clearInterval(timer);
window.removeEventListener("focus", refresh);
document.removeEventListener("visibilitychange", refresh);
};
}, [router, intervalMs]);
}