diff --git a/src/lib/stores.js b/src/lib/stores.svelte.js similarity index 86% rename from src/lib/stores.js rename to src/lib/stores.svelte.js index f32d7bb..a0df23f 100644 --- a/src/lib/stores.js +++ b/src/lib/stores.svelte.js @@ -1,18 +1,18 @@ -import { writable, get } from 'svelte/store'; +import { writable } from 'svelte/store'; import { browser } from '$app/environment'; +import { SvelteSet } from 'svelte/reactivity'; export const currentStream = writable({}); export const currentSongIndex = writable(null); -export const favoritedStreams = writable( - new Set(JSON.parse((browser && localStorage.getItem('favoritedStreams')) || '[]')) +export const favoritedStreams = new SvelteSet( + JSON.parse((browser && localStorage.getItem('favoritedStreams')) || '[]') ); - -if (browser) { - favoritedStreams.subscribe((val) => { - localStorage.setItem('favoritedStreams', JSON.stringify(Array.from(val))); +$effect.root(() => { + $effect(() => { + localStorage.setItem('favoritedStreams', JSON.stringify(Array.from(favoritedStreams))); }); -} +}); export const tagList = [ 'acoustic', diff --git a/src/routes/streams/Sidebar.svelte b/src/routes/streams/Sidebar.svelte index 0ecf1fd..c15e11b 100644 --- a/src/routes/streams/Sidebar.svelte +++ b/src/routes/streams/Sidebar.svelte @@ -1,7 +1,7 @@ @@ -57,7 +56,7 @@