aboutsummaryrefslogtreecommitdiff
path: root/src/routes/updates
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes/updates')
-rw-r--r--src/routes/updates/+page.svelte34
1 files changed, 32 insertions, 2 deletions
diff --git a/src/routes/updates/+page.svelte b/src/routes/updates/+page.svelte
index 357a5906..bbcb087d 100644
--- a/src/routes/updates/+page.svelte
+++ b/src/routes/updates/+page.svelte
@@ -5,6 +5,7 @@ import HeadTitle from "$lib/Home/HeadTitle.svelte";
import Skeleton from "$lib/Loading/Skeleton.svelte";
import { createHeightObserver } from "$lib/Utility/html";
import root from "$lib/Utility/root";
+import { sanitizeFeedHtml } from "$lib/Utility/sanitizeHtml";
import locale from "$stores/locale";
let feed:
@@ -22,6 +23,7 @@ let novelFeed:
}[];
};
}
+ | null
| undefined;
let startTime: number;
let mangaEndTime: number;
@@ -31,14 +33,42 @@ let directLink = browser
: false;
let removeHeightObserver: (() => void) | undefined;
+const fetchJson = async (path: string) => {
+ try {
+ const response = await fetch(root(path));
+
+ return response.ok ? await response.json() : null;
+ } catch {
+ return null;
+ }
+};
+
onMount(async () => {
removeHeightObserver = createHeightObserver(false);
startTime = performance.now();
- novelFeed = await (await fetch(root("/api/updates/all-novels"))).json();
+
+ const allNovels = await fetchJson("/api/updates/all-novels");
+
+ if (allNovels?.data?.items)
+ for (const item of allNovels.data.items) {
+ if (item.postfix) item.postfix = sanitizeFeedHtml(item.postfix);
+ if (item.series) item.series.name = sanitizeFeedHtml(item.series.name);
+ }
+
+ novelFeed = allNovels?.data?.items ? allNovels : null;
novelEndTime = performance.now() - startTime;
startTime = performance.now();
- feed = await (await fetch(root("/api/updates/manga"))).json();
+
+ const mangaFeed = await fetchJson("/api/updates/manga");
+
+ if (mangaFeed?.items)
+ for (const item of mangaFeed.items) {
+ item.title = sanitizeFeedHtml(item.title);
+ item.content = sanitizeFeedHtml(item.content);
+ }
+
+ feed = mangaFeed?.items ? mangaFeed : null;
mangaEndTime = performance.now() - startTime;
});