diff options
| author | Fuwn <[email protected]> | 2024-02-02 04:38:06 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2024-02-02 04:38:06 -0800 |
| commit | 659d24980c954d6356f4f7d6aba231fa36d8d1eb (patch) | |
| tree | 3baa6516b0370e645e12d03471f965ebe188ed12 /src | |
| parent | feat(schedule): larger top margin for title (diff) | |
| download | due.moe-659d24980c954d6356f4f7d6aba231fa36d8d1eb.tar.xz due.moe-659d24980c954d6356f4f7d6aba231fa36d8d1eb.zip | |
fix: destroy height observer on unmount
Diffstat (limited to 'src')
| -rw-r--r-- | src/routes/+page.svelte | 8 | ||||
| -rw-r--r-- | src/routes/completed/+page.svelte | 8 | ||||
| -rw-r--r-- | src/routes/updates/+page.svelte | 7 |
3 files changed, 17 insertions, 6 deletions
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index e7f64654..91e3bb23 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,5 +1,5 @@ <script lang="ts"> - import { onMount } from 'svelte'; + import { onDestroy, onMount } from 'svelte'; import AnimeList from '$lib/List/Anime/DueAnimeList.svelte'; import MangaListTemplate from '$lib/List/Manga/MangaListTemplate.svelte'; import UpcomingAnimeList from '$lib/List/Anime/UpcomingAnimeList.svelte'; @@ -15,7 +15,11 @@ export let data; - onMount(() => setInterval(createHeightObserver, 0)); + let heightObserver: NodeJS.Timeout; + + onMount(() => (heightObserver = setInterval(() => createHeightObserver(), 0))); + + onDestroy(() => clearInterval(heightObserver)); </script> <HeadTitle /> diff --git a/src/routes/completed/+page.svelte b/src/routes/completed/+page.svelte index 9aa2cef1..943b4fa4 100644 --- a/src/routes/completed/+page.svelte +++ b/src/routes/completed/+page.svelte @@ -1,5 +1,5 @@ <script lang="ts"> - import { onMount } from 'svelte'; + import { onDestroy, onMount } from 'svelte'; import userIdentity from '$stores/identity.js'; import settings from '$stores/settings'; import WatchingAnimeList from '$lib/List/Anime/CompletedAnimeList.svelte'; @@ -14,7 +14,11 @@ export let data; - onMount(() => setInterval(createHeightObserver, 0)); + let heightObserver: NodeJS.Timeout; + + onMount(() => (heightObserver = setInterval(() => createHeightObserver(), 0))); + + onDestroy(() => clearInterval(heightObserver)); </script> <HeadTitle route="Completed" path="/completed" /> diff --git a/src/routes/updates/+page.svelte b/src/routes/updates/+page.svelte index d2687a0a..58a61dc4 100644 --- a/src/routes/updates/+page.svelte +++ b/src/routes/updates/+page.svelte @@ -6,7 +6,7 @@ import Skeleton from '$lib/Loading/Skeleton.svelte'; import { createHeightObserver } from '$lib/Utility/html'; import root from '$lib/Utility/root'; - import { onMount } from 'svelte'; + import { onDestroy, onMount } from 'svelte'; let feed: { items: { title: string; link: string; content: string }[] } | null | undefined = undefined; @@ -21,9 +21,10 @@ let mangaEndTime: number; let novelEndTime: number; let directLink = browser ? new URLSearchParams(window.location.search).has('d') : false; + let heightObserver: NodeJS.Timeout; onMount(async () => { - setInterval(() => createHeightObserver(false), 0); + heightObserver = setInterval(() => createHeightObserver(false), 0); startTime = performance.now(); novelFeed = await (await fetch(root('/api/updates/all-novels'))).json(); @@ -33,6 +34,8 @@ mangaEndTime = performance.now() - startTime; }); + onDestroy(() => clearInterval(heightObserver)); + const reformatChapter = (title: string) => title .replace(/\[.*?\]\s/, '') |