diff options
feat: use @dmpmem/storage for theme
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/storage.ts | 7 | ||||
| -rw-r--r-- | src/routes/blog/+layout.svelte | 6 |
2 files changed, 10 insertions, 3 deletions
diff --git a/src/lib/storage.ts b/src/lib/storage.ts new file mode 100644 index 0000000..60ecfa3 --- /dev/null +++ b/src/lib/storage.ts @@ -0,0 +1,7 @@ +import { StorageManager } from '@dmpmem/storage' + +export const localStorage = new StorageManager('local', 'mem.estrogen.zone:'); +export const sessionStorage = new StorageManager('session', 'mem.estrogen.zone:'); +export const memoryStorage = new StorageManager('memory', 'mem.estrogen.zone:'); + +export const blogStorage = new StorageManager(localStorage, 'blog:'); diff --git a/src/routes/blog/+layout.svelte b/src/routes/blog/+layout.svelte index 86447b4..61ab5f3 100644 --- a/src/routes/blog/+layout.svelte +++ b/src/routes/blog/+layout.svelte @@ -1,4 +1,5 @@ <script lang="ts"> + import { blogStorage } from '$/lib/storage'; import { page } from '$app/state'; import { onDestroy, onMount, type Snippet } from 'svelte'; @@ -10,10 +11,9 @@ onMount(() => { const theme = - page.url.searchParams.get('theme') ?? - localStorage.getItem('mem.estrogen.zone:blog:theme'); + page.url.searchParams.get('theme') ?? blogStorage.getItem('theme'); if (theme) { - localStorage.setItem('mem.estrogen.zone:blog:theme', theme); + blogStorage.setItem('theme', theme); document.documentElement.setAttribute('data-blog-theme', theme); page.url.searchParams.delete('theme'); } |