aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFuwn <[email protected]>2024-02-02 04:38:06 -0800
committerFuwn <[email protected]>2024-02-02 04:38:06 -0800
commit659d24980c954d6356f4f7d6aba231fa36d8d1eb (patch)
tree3baa6516b0370e645e12d03471f965ebe188ed12 /src
parentfeat(schedule): larger top margin for title (diff)
downloaddue.moe-659d24980c954d6356f4f7d6aba231fa36d8d1eb.tar.xz
due.moe-659d24980c954d6356f4f7d6aba231fa36d8d1eb.zip
fix: destroy height observer on unmount
Diffstat (limited to 'src')
-rw-r--r--src/routes/+page.svelte8
-rw-r--r--src/routes/completed/+page.svelte8
-rw-r--r--src/routes/updates/+page.svelte7
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/, '')