diff options
| author | Fuwn <[email protected]> | 2026-03-01 14:20:08 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2026-03-01 15:24:03 -0800 |
| commit | 3b10a1f47fd5838fe3b94c19673a52610b88cf1e (patch) | |
| tree | d468a1fc12290e38686b255194ff6596b58cbf01 /src/routes | |
| parent | perf(match): fast-path exact normalised title matches (diff) | |
| download | due.moe-3b10a1f47fd5838fe3b94c19673a52610b88cf1e.tar.xz due.moe-3b10a1f47fd5838fe3b94c19673a52610b88cf1e.zip | |
perf: optimise list hot paths and shared timers
Diffstat (limited to 'src/routes')
| -rw-r--r-- | src/routes/+page.svelte | 6 | ||||
| -rw-r--r-- | src/routes/completed/+page.svelte | 6 | ||||
| -rw-r--r-- | src/routes/updates/+page.svelte | 6 |
3 files changed, 9 insertions, 9 deletions
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<typeof setInterval>; + let removeHeightObserver: (() => void) | undefined; onMount(() => { - heightObserver = setInterval(() => createHeightObserver(), 0); + removeHeightObserver = createHeightObserver(); $stateBin.upcomingAnimeListOpen ??= true; $stateBin.dueMangaListOpen ??= true; }); - onDestroy(() => clearInterval(heightObserver)); + onDestroy(() => removeHeightObserver?.()); </script> <HeadTitle /> 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<typeof setInterval>; + let removeHeightObserver: (() => void) | undefined; onMount(() => { - heightObserver = setInterval(() => createHeightObserver(), 0); + removeHeightObserver = createHeightObserver(); $stateBin.completedAnimeListOpen ??= true; $stateBin.completedMangaListOpen ??= true; }); - onDestroy(() => clearInterval(heightObserver)); + onDestroy(() => removeHeightObserver?.()); </script> <HeadTitle route="Completed" path="/completed" /> 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<typeof setInterval>; + 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 |