Thumbnail fade effect and sync thumbnail loading.

This commit is contained in:
2025-10-24 21:11:38 +03:00
parent b79b60ea0f
commit 343fe4739b

View File

@@ -225,6 +225,24 @@
onMount(() => { onMount(() => {
loadFiles(); loadFiles();
// 🔄 WebSocket ile anlık dosya güncellemelerini dinle
const token = localStorage.getItem("token");
const wsUrl = `${API.replace("http", "ws")}?token=${token}`;
const ws = new WebSocket(wsUrl);
ws.onmessage = async (event) => {
try {
const msg = JSON.parse(event.data);
if (msg.type === "fileUpdate") {
console.log("📸 Yeni thumbnail bildirimi alındı:", msg.path);
await loadFiles(); // 🔄 anında dosya listesini yenile
}
} catch (err) {
console.warn("WebSocket mesajı çözümlenemedi:", err);
}
};
// ✅ Tek event handler içinde hem Esc hem ok tuşlarını kontrol et // ✅ Tek event handler içinde hem Esc hem ok tuşlarını kontrol et
function handleKey(e) { function handleKey(e) {
if (e.key === "Escape") { if (e.key === "Escape") {
@@ -262,6 +280,7 @@
src={`${API}${f.thumbnail}?token=${localStorage.getItem("token")}`} src={`${API}${f.thumbnail}?token=${localStorage.getItem("token")}`}
alt={f.name} alt={f.name}
class="thumb" class="thumb"
on:load={(e) => e.target.classList.add("loaded")}
/> />
{:else} {:else}
<div class="thumb placeholder"> <div class="thumb placeholder">