aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/blog/+layout.svelte
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes/blog/+layout.svelte')
-rw-r--r--src/routes/blog/+layout.svelte26
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()}