import { writable, type Writable } from 'svelte/store'; import { browser } from '$app/environment'; export const ql = writable(fromLocalStorage('ql', [])); toLocalStorage(ql, 'ql'); function fromLocalStorage(storageKey: string, fallback: string[]): string[] { if (browser) { const storedValue = localStorage.getItem(storageKey); if (storedValue !== 'undefined' && storedValue !== null) { return typeof fallback === 'object' ? JSON.parse(storedValue) : storedValue; } } return fallback; } function toLocalStorage(store: Writable, storageKey: string) { if (browser) { store.subscribe((value) => { let storageValue = typeof value === 'object' ? JSON.stringify(value.sort()) : value; localStorage.setItem(storageKey, storageValue); }); } }