aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/routes/updates/+page.svelte19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/routes/updates/+page.svelte b/src/routes/updates/+page.svelte
index 0534d0bb..bbcb087d 100644
--- a/src/routes/updates/+page.svelte
+++ b/src/routes/updates/+page.svelte
@@ -23,6 +23,7 @@ let novelFeed:
}[];
};
}
+ | null
| undefined;
let startTime: number;
let mangaEndTime: number;
@@ -32,12 +33,22 @@ 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();
- const allNovels = 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) {
@@ -45,11 +56,11 @@ onMount(async () => {
if (item.series) item.series.name = sanitizeFeedHtml(item.series.name);
}
- novelFeed = allNovels;
+ novelFeed = allNovels?.data?.items ? allNovels : null;
novelEndTime = performance.now() - startTime;
startTime = performance.now();
- const mangaFeed = await (await fetch(root("/api/updates/manga"))).json();
+ const mangaFeed = await fetchJson("/api/updates/manga");
if (mangaFeed?.items)
for (const item of mangaFeed.items) {
@@ -57,7 +68,7 @@ onMount(async () => {
item.content = sanitizeFeedHtml(item.content);
}
- feed = mangaFeed;
+ feed = mangaFeed?.items ? mangaFeed : null;
mangaEndTime = performance.now() - startTime;
});