diff options
| author | Fuwn <[email protected]> | 2023-08-30 17:12:33 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2023-08-30 17:12:33 -0700 |
| commit | 383eaa2f839f16fe7d9506fad823d9718a38abc6 (patch) | |
| tree | f850561f124326547fd0700e427c22badd7d37a6 /src | |
| parent | feat(mangadex): include explicit chapters (diff) | |
| download | due.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.ts | 33 |
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); |