diff options
Diffstat (limited to 'src/routes/updates/+page.svelte')
| -rw-r--r-- | src/routes/updates/+page.svelte | 80 |
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" /> |