aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFuwn <[email protected]>2023-11-09 21:38:43 -0800
committerFuwn <[email protected]>2023-11-09 21:38:43 -0800
commit454e71080dcfa7e90621df77907373d3443033ec (patch)
treec0b0745e5be3d88f705f04b905a5cddfd721c5b8
parentrefactor(media): collection to common template (diff)
downloaddue.moe-454e71080dcfa7e90621df77907373d3443033ec.tar.xz
due.moe-454e71080dcfa7e90621df77907373d3443033ec.zip
feat(manga): add status filter
-rw-r--r--src/lib/Media/manga.ts2
-rw-r--r--src/routes/api/mangadex/manga/+server.ts27
2 files changed, 27 insertions, 2 deletions
diff --git a/src/lib/Media/manga.ts b/src/lib/Media/manga.ts
index 746e9d29..d9007877 100644
--- a/src/lib/Media/manga.ts
+++ b/src/lib/Media/manga.ts
@@ -53,7 +53,7 @@ export const chapterCount = async (
const mangadexData = await (
await fetch(
- `/api/mangadex/manga?english=${manga.title.english}&year=${manga.startDate.year}&romaji=${manga.title.romaji}&native=${manga.title.native}`
+ `/api/mangadex/manga?english=${manga.title.english}&year=${manga.startDate.year}&romaji=${manga.title.romaji}&native=${manga.title.native}&status=${manga.status}`
)
).json();
diff --git a/src/routes/api/mangadex/manga/+server.ts b/src/routes/api/mangadex/manga/+server.ts
index 5bfa1882..c2c75082 100644
--- a/src/routes/api/mangadex/manga/+server.ts
+++ b/src/routes/api/mangadex/manga/+server.ts
@@ -1,11 +1,36 @@
export const GET = async ({ url }) => {
+ let status = '';
+
+ switch (url.searchParams.get('status')) {
+ case 'FINISHED':
+ {
+ status = 'completed';
+ }
+ break;
+ case 'RELEASING':
+ {
+ status = 'ongoing';
+ }
+ break;
+ case 'HIATUS':
+ {
+ status = 'hiatus';
+ }
+ break;
+ case 'CANCELLED':
+ {
+ status = 'cancelled';
+ }
+ break;
+ }
+
const nullIfNullString = (s: string | null) => (s == 'null' ? null : s);
const get = async (title: string) => {
return await (
await fetch(
`https://api.mangadex.org/manga?title=${encodeURIComponent(
title
- )}&year=${url.searchParams.get('year')}`
+ )}&year=${url.searchParams.get('year')}&status[]=${status}`
)
).json();
};