aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFuwn <[email protected]>2023-08-30 17:12:33 -0700
committerFuwn <[email protected]>2023-08-30 17:12:33 -0700
commit383eaa2f839f16fe7d9506fad823d9718a38abc6 (patch)
treef850561f124326547fd0700e427c22badd7d37a6 /src
parentfeat(mangadex): include explicit chapters (diff)
downloaddue.moe-383eaa2f839f16fe7d9506fad823d9718a38abc6.tar.xz
due.moe-383eaa2f839f16fe7d9506fad823d9718a38abc6.zip
fix(mangadex): better manga identification
Diffstat (limited to 'src')
-rw-r--r--src/routes/mangadex/manga/+server.ts33
1 files changed, 18 insertions, 15 deletions
diff --git a/src/routes/mangadex/manga/+server.ts b/src/routes/mangadex/manga/+server.ts
index dd07683b..8c25163f 100644
--- a/src/routes/mangadex/manga/+server.ts
+++ b/src/routes/mangadex/manga/+server.ts
@@ -1,25 +1,28 @@
export const GET = async ({ url }) => {
const nullIfNullString = (s) => (s === 'null' ? null : s);
-
- let mangadexData = await (
- await fetch(
- `https://api.mangadex.org/manga?title=${encodeURIComponent(
- nullIfNullString(url.searchParams.get('english')) ||
- nullIfNullString(url.searchParams.get('romaji')) ||
- nullIfNullString(url.searchParams.get('native')) ||
- ''
- )}&year=${url.searchParams.get('year')}`
- )
- ).json();
-
- if (mangadexData['data'] === undefined || mangadexData['data'].length === 0) {
- mangadexData = await (
+ const get = async (title) => {
+ return await (
await fetch(
`https://api.mangadex.org/manga?title=${encodeURIComponent(
- nullIfNullString(url.searchParams.get('native')) || ''
+ title
)}&year=${url.searchParams.get('year')}`
)
).json();
+ };
+
+ let mangadexData = await get(
+ nullIfNullString(url.searchParams.get('native')) ||
+ nullIfNullString(url.searchParams.get('english')) ||
+ nullIfNullString(url.searchParams.get('romaji')) ||
+ ''
+ );
+
+ if (mangadexData['data'] === undefined || mangadexData['data'].length === 0) {
+ mangadexData = await get(nullIfNullString(url.searchParams.get('english')) || '');
+
+ if (mangadexData['data'] === undefined || mangadexData['data'].length === 0) {
+ mangadexData = await get(nullIfNullString(url.searchParams.get('romaji')) || '');
+ }
}
return Response.json(mangadexData);