diff options
| author | Fuwn <[email protected]> | 2023-12-17 04:45:12 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2023-12-17 04:45:12 -0800 |
| commit | 74688bc2091f62878dfb1ccbd95930217de95fe2 (patch) | |
| tree | 25235f5550a238d7b321bc696e9b76004f853c50 /src/lib/Media/links.ts | |
| parent | refactor(manga): move time (diff) | |
| download | due.moe-74688bc2091f62878dfb1ccbd95930217de95fe2.tar.xz due.moe-74688bc2091f62878dfb1ccbd95930217de95fe2.zip | |
refactor(media): links
Diffstat (limited to 'src/lib/Media/links.ts')
| -rw-r--r-- | src/lib/Media/links.ts | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/lib/Media/links.ts b/src/lib/Media/links.ts new file mode 100644 index 00000000..4385d348 --- /dev/null +++ b/src/lib/Media/links.ts @@ -0,0 +1,45 @@ +import type { Media } from '$lib/AniList/media'; + +export const outboundLink = ( + media: Media, + type: 'anime' | 'manga', + setting: 'anilist' | 'livechartme' | 'animeschedule' | 'myanimelist' +) => { + if (type === 'manga') + switch (setting) { + case 'livechartme': + case 'animeschedule': + return `https://anilist.co/${type}/${media.id}`; + case 'myanimelist': + 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}`; + } + else + switch (setting) { + case 'anilist': + return `https://anilist.co/${type}/${media.id}`; + case 'livechartme': + return `https://www.livechart.me/search?q=${( + media.title.native || + media.title.english || + media.title.romaji + ).replace(/ /g, '+')}`; + case 'animeschedule': + return `https://animeschedule.net/shows?q=${( + media.title.native || + media.title.english || + media.title.romaji + ).replace(/ /g, '+')}`; + case 'myanimelist': + 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`; + } +}; |