diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/components/AppHeader.svelte | 2 | ||||
| -rw-r--r-- | src/routes/(app)/+layout.server.ts | 3 | ||||
| -rw-r--r-- | src/routes/(app)/+layout.svelte | 23 |
3 files changed, 9 insertions, 19 deletions
diff --git a/src/components/AppHeader.svelte b/src/components/AppHeader.svelte index 1431bb6f..495e855b 100644 --- a/src/components/AppHeader.svelte +++ b/src/components/AppHeader.svelte @@ -11,7 +11,7 @@ let { user, subject = $bindable() } = $props(); let w = $state(); - $effect(() => (subject ||= user)); + $effect(() => (subject = subject || user)); let bg = $derived( $banner?.id && $banner.id === subject.id diff --git a/src/routes/(app)/+layout.server.ts b/src/routes/(app)/+layout.server.ts index 85aa3e15..3c5b3b3e 100644 --- a/src/routes/(app)/+layout.server.ts +++ b/src/routes/(app)/+layout.server.ts @@ -13,7 +13,8 @@ export async function load({ cookies, request, url, params }) { try { user = await get("/me", auth(cookies)); } catch (e) { - if (e.message.startsWith("Rate")) await sleep(3000); + const { message } = e as Error; + if (message.startsWith("Rate")) await sleep(3000); user = await get("/me", auth(cookies)); } } diff --git a/src/routes/(app)/+layout.svelte b/src/routes/(app)/+layout.svelte index a81bfbf1..ba1eb49a 100644 --- a/src/routes/(app)/+layout.svelte +++ b/src/routes/(app)/+layout.svelte @@ -1,5 +1,5 @@ <script> - import { run } from 'svelte/legacy'; + import { run } from "svelte/legacy"; import { SvelteToast } from "@zerodevx/svelte-toast"; import { onDestroy, onMount } from "svelte"; @@ -26,13 +26,12 @@ let { data, children } = $props(); - let { generate, rate, user, subject, token, rates, theme } = $state(data); - - let update = (data) => { - ({ rate, user, subject, token, rates, theme } = data); - }; + let { generate, rate, user, subject, token, rates } = $derived(data); + let { theme } = $state(data); $themeStore = theme; + $effect(() => (theme = $themeStore)); + $effect(() => browser && connect(token)); afterNavigate(() => { if (user) { @@ -67,7 +66,6 @@ } }); - let lost, checkTimer, expireTimer, @@ -92,15 +90,6 @@ clearTimeout(expireTimer); } }); - run(() => { - theme = $themeStore; - }); - run(() => { - update(data); - }); - run(() => { - browser && connect(token); - }); </script> {#if browser && user && $passwordPrompt} @@ -125,7 +114,7 @@ <SvelteToast options={{ reversed: true, intro: { y: 192 } }} /> <main class="pb-20 min-h-dvh" data-theme={theme}> - <AppHeader {user} bind:subject /> + <AppHeader {user} {subject} /> {#if !$loading} {@render children?.()} {/if} |
