feat: migrate some more stuff to svelte-5, mainly app settings
Some checks failed
Deploy to GitHub Pages / build_site (push) Failing after 4s
Some checks failed
Deploy to GitHub Pages / build_site (push) Failing after 4s
This commit is contained in:
11
app/src/lib/helpers/localState.svelte.ts
Normal file
11
app/src/lib/helpers/localState.svelte.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
export function localState<T>(key: string, defaultValue: T): T {
|
||||
const stored = localStorage.getItem(key)
|
||||
const state = $state(stored ? JSON.parse(stored) : defaultValue)
|
||||
$effect.root(() => {
|
||||
$effect(() => {
|
||||
const value = $state.snapshot(state);
|
||||
localStorage.setItem(key, JSON.stringify(value));
|
||||
});
|
||||
});
|
||||
return state;
|
||||
}
|
||||
Reference in New Issue
Block a user