aboutsummaryrefslogtreecommitdiff
path: root/src/routes/updates/+page.svelte
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes/updates/+page.svelte')
-rw-r--r--src/routes/updates/+page.svelte80
1 files changed, 45 insertions, 35 deletions
diff --git a/src/routes/updates/+page.svelte b/src/routes/updates/+page.svelte
index ca13ee35..83ba036f 100644
--- a/src/routes/updates/+page.svelte
+++ b/src/routes/updates/+page.svelte
@@ -1,59 +1,69 @@
<script lang="ts">
/* eslint svelte/no-at-html-tags: "off" */
-import { browser } from '$app/environment';
-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 { onDestroy, onMount } from 'svelte';
-
-let feed: { items: { title: string; link: string; content: string }[] } | null | undefined =
- undefined;
+import { browser } from "$app/environment";
+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 { onDestroy, onMount } from "svelte";
+
+let feed:
+ | { items: { title: string; link: string; content: string }[] }
+ | null
+ | undefined = undefined;
let novelFeed:
- | {
- data: {
- items: { srcurl: string; postfix?: string; chapter: number; series: { name: string } }[];
- };
- }
- | undefined = undefined;
+ | {
+ data: {
+ items: {
+ srcurl: string;
+ postfix?: string;
+ chapter: number;
+ series: { name: string };
+ }[];
+ };
+ }
+ | undefined = undefined;
let startTime: number;
let mangaEndTime: number;
let novelEndTime: number;
-let directLink = browser ? new URLSearchParams(window.location.search).has('d') : false;
+let directLink = browser
+ ? new URLSearchParams(window.location.search).has("d")
+ : false;
let removeHeightObserver: (() => void) | undefined;
onMount(async () => {
- removeHeightObserver = createHeightObserver(false);
-
- startTime = performance.now();
- novelFeed = await (await fetch(root('/api/updates/all-novels'))).json();
- novelEndTime = performance.now() - startTime;
- startTime = performance.now();
- feed = await (await fetch(root('/api/updates/manga'))).json();
- mangaEndTime = performance.now() - startTime;
+ removeHeightObserver = createHeightObserver(false);
+
+ startTime = performance.now();
+ novelFeed = await (await fetch(root("/api/updates/all-novels"))).json();
+ novelEndTime = performance.now() - startTime;
+ startTime = performance.now();
+ feed = await (await fetch(root("/api/updates/manga"))).json();
+ mangaEndTime = performance.now() - startTime;
});
onDestroy(() => removeHeightObserver?.());
const reformatChapter = (title: string) =>
- title
- .replace(/\[.*?\]\s/, '')
- .replace(/c\.Oneshot/, 'Oneshot')
- .replace(/c\.(\d+-\d+)/, 'Ch. $1')
- .replace(/v\.(\d+)\s/, 'Vol. $1 ')
- .replace(/c\.(\d+)/, 'Ch. $1');
+ title
+ .replace(/\[.*?\]\s/, "")
+ .replace(/c\.Oneshot/, "Oneshot")
+ .replace(/c\.(\d+-\d+)/, "Ch. $1")
+ .replace(/v\.(\d+)\s/, "Vol. $1 ")
+ .replace(/c\.(\d+)/, "Ch. $1");
const clipTitle = (title: string) =>
- title
- .replace(/(Vol\. \d+ )?Ch\. \d+(-\d+(\.\d+)?)?$/, '')
- .replace(/\? ~.*$/, '')
- .trim();
+ title
+ .replace(/(Vol\. \d+ )?Ch\. \d+(-\d+(\.\d+)?)?$/, "")
+ .replace(/\? ~.*$/, "")
+ .trim();
// const italicTitle = (title: string) =>
// title.replace(/^(.*?) (Vol\.|Ch\.|\bOneshot\b)/, '<i>$1</i> $2');
-const chapterTitle = (title: string) => title.replace(/^(.*?) (Vol\.|Ch\.|\bOneshot\b)/, '$2');
+const chapterTitle = (title: string) =>
+ title.replace(/^(.*?) (Vol\.|Ch\.|\bOneshot\b)/, "$2");
</script>
<HeadTitle route="Updates" path="/updates" />