From 3b10a1f47fd5838fe3b94c19673a52610b88cf1e Mon Sep 17 00:00:00 2001 From: Fuwn Date: Sun, 1 Mar 2026 14:20:08 -0800 Subject: perf: optimise list hot paths and shared timers --- src/routes/+page.svelte | 6 +++--- src/routes/completed/+page.svelte | 6 +++--- src/routes/updates/+page.svelte | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) (limited to 'src/routes') diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index fb80bbdd..f382f078 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -18,15 +18,15 @@ export let data; - let heightObserver: ReturnType; + let removeHeightObserver: (() => void) | undefined; onMount(() => { - heightObserver = setInterval(() => createHeightObserver(), 0); + removeHeightObserver = createHeightObserver(); $stateBin.upcomingAnimeListOpen ??= true; $stateBin.dueMangaListOpen ??= true; }); - onDestroy(() => clearInterval(heightObserver)); + onDestroy(() => removeHeightObserver?.()); diff --git a/src/routes/completed/+page.svelte b/src/routes/completed/+page.svelte index 3c6b3b4d..8d5eff52 100644 --- a/src/routes/completed/+page.svelte +++ b/src/routes/completed/+page.svelte @@ -16,15 +16,15 @@ export let data; - let heightObserver: ReturnType; + let removeHeightObserver: (() => void) | undefined; onMount(() => { - heightObserver = setInterval(() => createHeightObserver(), 0); + removeHeightObserver = createHeightObserver(); $stateBin.completedAnimeListOpen ??= true; $stateBin.completedMangaListOpen ??= true; }); - onDestroy(() => clearInterval(heightObserver)); + onDestroy(() => removeHeightObserver?.()); diff --git a/src/routes/updates/+page.svelte b/src/routes/updates/+page.svelte index 22fcd3a7..a08e4966 100644 --- a/src/routes/updates/+page.svelte +++ b/src/routes/updates/+page.svelte @@ -21,10 +21,10 @@ let mangaEndTime: number; let novelEndTime: number; let directLink = browser ? new URLSearchParams(window.location.search).has('d') : false; - let heightObserver: ReturnType; + let removeHeightObserver: (() => void) | undefined; onMount(async () => { - heightObserver = setInterval(() => createHeightObserver(false), 0); + removeHeightObserver = createHeightObserver(false); startTime = performance.now(); novelFeed = await (await fetch(root('/api/updates/all-novels'))).json(); @@ -34,7 +34,7 @@ mangaEndTime = performance.now() - startTime; }); - onDestroy(() => clearInterval(heightObserver)); + onDestroy(() => removeHeightObserver?.()); const reformatChapter = (title: string) => title -- cgit v1.2.3