diff options
Diffstat (limited to 'src/routes/blog')
| -rw-r--r-- | src/routes/blog/+layout.svelte | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/routes/blog/+layout.svelte b/src/routes/blog/+layout.svelte new file mode 100644 index 0000000..1006fdd --- /dev/null +++ b/src/routes/blog/+layout.svelte @@ -0,0 +1,26 @@ +<script lang="ts"> + import { page } from '$app/state'; + import { onDestroy, onMount, type Snippet } from 'svelte'; + + const { + children, + }: { + children: Snippet; + } = $props(); + + onMount(() => { + const theme = + page.url.searchParams.get('theme') ?? + localStorage.getItem('mem.estrogen.zone:blog:theme'); + if (theme) { + localStorage.setItem('mem.estrogen.zone:blog:theme', theme); + document.documentElement.setAttribute('data-blog-theme', theme); + } + }); + onDestroy(() => { + if (typeof document !== 'undefined') + document.documentElement.removeAttribute('data-blog-theme'); + }); +</script> + +{@render children()} |