aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/components/AppHeader.svelte2
-rw-r--r--src/routes/(app)/+layout.server.ts3
-rw-r--r--src/routes/(app)/+layout.svelte23
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}