From cad39e54278cd60299e8460be27d98eadc33959f Mon Sep 17 00:00:00 2001 From: wisecolt Date: Tue, 6 Jan 2026 23:04:10 +0300 Subject: [PATCH] =?UTF-8?q?feat(music):=20g=C3=B6r=C3=BCn=C3=BCm=20modunu?= =?UTF-8?q?=20localStorage'a=20kaydet?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Kullanıcının liste veya grid görünüm tercihi artık tarayıcıda saklanacak ve sonraki oturumlarda korunacak. --- client/src/routes/Music.svelte | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/client/src/routes/Music.svelte b/client/src/routes/Music.svelte index dda39f5..4063516 100644 --- a/client/src/routes/Music.svelte +++ b/client/src/routes/Music.svelte @@ -20,8 +20,22 @@ let progressInterval; // View mode + const VIEW_MODE_STORAGE_KEY = "musicViewMode"; let viewMode = "list"; // "list" or "grid" + function loadViewMode() { + if (typeof localStorage === "undefined") return; + const saved = localStorage.getItem(VIEW_MODE_STORAGE_KEY); + if (saved === "list" || saved === "grid") { + viewMode = saved; + } + } + + function persistViewMode(mode) { + if (typeof localStorage === "undefined") return; + localStorage.setItem(VIEW_MODE_STORAGE_KEY, mode); + } + async function loadMusic() { loading = true; error = null; @@ -185,7 +199,13 @@ }, 100); } + function setViewMode(mode) { + viewMode = mode; + persistViewMode(mode); + } + onMount(() => { + loadViewMode(); loadMusic(); startProgressInterval(); @@ -212,14 +232,14 @@