aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorFuwn <[email protected]>2023-12-15 05:35:50 -0800
committerFuwn <[email protected]>2023-12-15 05:35:50 -0800
commitcab8434627df0be59410367efd534b5dbbb59dab (patch)
tree6e1136da439a0c2698556292ab2e3a5deb346034 /src/lib
parentfeat(settings): click on text to toggle (diff)
downloaddue.moe-cab8434627df0be59410367efd534b5dbbb59dab.tar.xz
due.moe-cab8434627df0be59410367efd534b5dbbb59dab.zip
feat(media): use outbound mal id when available
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/AniList/media.ts3
-rw-r--r--src/lib/Media/media.ts16
2 files changed, 12 insertions, 7 deletions
diff --git a/src/lib/AniList/media.ts b/src/lib/AniList/media.ts
index 6c0d02c6..d0635b6c 100644
--- a/src/lib/AniList/media.ts
+++ b/src/lib/AniList/media.ts
@@ -18,6 +18,7 @@ export interface MediaTitle {
export interface Media {
id: number;
+ idMal: number;
status: 'FINISHED' | 'RELEASING' | 'NOT_YET_RELEASED' | 'CANCELLED' | 'HIATUS';
type: 'ANIME' | 'MANGA';
episodes: number;
@@ -89,7 +90,7 @@ const collectionQueryTemplate = (type: Type, userId: number, includeCompleted: b
lists {
name entries {
media {
- id status type episodes chapters format duration
+ id idMal status type episodes chapters format duration
title { romaji english native }
nextAiringEpisode { episode airingAt }
mediaListEntry {
diff --git a/src/lib/Media/media.ts b/src/lib/Media/media.ts
index eac4ad6a..4385d348 100644
--- a/src/lib/Media/media.ts
+++ b/src/lib/Media/media.ts
@@ -11,9 +11,11 @@ export const outboundLink = (
case 'animeschedule':
return `https://anilist.co/${type}/${media.id}`;
case 'myanimelist':
- return `https://myanimelist.net/search/all?q=${
- media.title.native || media.title.english || media.title.romaji
- }`;
+ return media.idMal
+ ? `https://myanimelist.net/manga/${media.idMal}`
+ : `https://myanimelist.net/manga.php?q=${
+ media.title.native || media.title.english || media.title.romaji
+ }&cat=manga`;
default:
return `https://anilist.co/${type}/${media.id}`;
}
@@ -34,8 +36,10 @@ export const outboundLink = (
media.title.romaji
).replace(/ /g, '+')}`;
case 'myanimelist':
- return `https://myanimelist.net/search/all?q=${
- media.title.native || media.title.english || media.title.romaji
- }`;
+ return media.idMal
+ ? `https://myanimelist.net/anime/${media.idMal}`
+ : `https://myanimelist.net/anime.php?q=${
+ media.title.native || media.title.english || media.title.romaji
+ }&cat=anime`;
}
};