aboutsummaryrefslogtreecommitdiff
path: root/src/routes/literature-updates
diff options
context:
space:
mode:
authorFuwn <[email protected]>2023-09-13 01:54:51 -0700
committerFuwn <[email protected]>2023-09-13 01:54:51 -0700
commit93bd572708bec58389e8be842425b0a6821a3b26 (patch)
tree890596b97a41efd0700a53fb6d9eb5c6cb02d1ba /src/routes/literature-updates
parentrefactor(oauth): move to api (diff)
downloaddue.moe-93bd572708bec58389e8be842425b0a6821a3b26.tar.xz
due.moe-93bd572708bec58389e8be842425b0a6821a3b26.zip
refactor(updates): rename to updates
Diffstat (limited to 'src/routes/literature-updates')
-rw-r--r--src/routes/literature-updates/+page.svelte99
1 files changed, 0 insertions, 99 deletions
diff --git a/src/routes/literature-updates/+page.svelte b/src/routes/literature-updates/+page.svelte
deleted file mode 100644
index 55be994f..00000000
--- a/src/routes/literature-updates/+page.svelte
+++ /dev/null
@@ -1,99 +0,0 @@
-<script lang="ts">
- import { onMount } from 'svelte';
-
- type Feed = { items: { title: string; link: string }[] } | null | undefined;
-
- let feed: Feed = undefined;
- let novelFeed: Feed = undefined;
- let startTime: number;
- let mangaEndTime: number;
- let novelEndTime: number;
-
- onMount(async () => {
- startTime = performance.now();
- novelFeed = await (await fetch('/api/novel-updates')).json();
- novelEndTime = performance.now() - startTime;
- startTime = performance.now();
- feed = await (await fetch('/api/manga-updates')).json();
- mangaEndTime = performance.now() - startTime;
- });
-
- const reformat = (title: string) => {
- return title
- .replace(/\[.*?\]\s/, '')
- .replace(/c\.Oneshot/, 'Oneshot')
- .replace(/c\.(\d+-\d+)/, 'Ch. $1')
- .replace(/v\.(\d+)\s/, 'Vol. $1 ')
- .replace(/c\.(\d+)/, 'Ch. $1');
- };
-
- function reformatChapters(title: string): string {
- return title
- .replace(/(Vol\. \d+ )?Ch\. \d+(-\d+(\.\d+)?)?$/, '')
- .replace(/\? ~.*$/, '')
- .trim();
- }
-</script>
-
-<div id="list-container">
- <div>
- <details open>
- <summary>
- Manga
- <small style="opacity: 50%">{(mangaEndTime || 0) / 1000}s</small>
- </summary>
-
- <ul>
- {#if feed === null}
- <li>Failed to load feed</li>
- {:else if feed !== undefined}
- {#each feed.items as item}
- <li>
- <a
- href={`https://anilist.co/search/manga?search=${reformatChapters(
- reformat(item.title)
- )}&sort=SEARCH_MATCH`}
- >
- {reformat(item.title)}
- </a>
- </li>
- {/each}
- {:else}
- <li>Loading ...</li>
- {/if}
- </ul>
- </details>
- </div>
-
- <div>
- <details open>
- <summary>
- Light Novels
- <small style="opacity: 50%">{(novelEndTime || 0) / 1000}s</small>
- </summary>
-
- <ul>
- {#if novelFeed === null}
- <li>Failed to load feed</li>
- {:else if novelFeed !== undefined}
- {#each novelFeed.items as item}
- <li>
- <a href={item.link}>
- {reformat(item.title)}
- </a>
- </li>
- {/each}
- {:else}
- <li>Loading ...</li>
- {/if}
- </ul>
- </details>
- </div>
-</div>
-
-<style>
- #list-container {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
- }
-</style>