aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Media/links.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/Media/links.ts')
-rw-r--r--src/lib/Media/links.ts98
1 files changed, 52 insertions, 46 deletions
diff --git a/src/lib/Media/links.ts b/src/lib/Media/links.ts
index 209afb28..bc9dde5b 100644
--- a/src/lib/Media/links.ts
+++ b/src/lib/Media/links.ts
@@ -1,51 +1,57 @@
-import type { Media } from '$lib/Data/AniList/media';
-import type { PrequelRelationNode } from '$lib/Data/AniList/prequels';
+import type { Media } from "$lib/Data/AniList/media";
+import type { PrequelRelationNode } from "$lib/Data/AniList/prequels";
export const outboundLink = (
- media: Media | PrequelRelationNode | null,
- type: 'anime' | 'manga',
- setting: 'anilist' | 'livechartme' | 'animeschedule' | 'myanimelist',
- search = false,
- title: string | null = null
+ media: Media | PrequelRelationNode | null,
+ type: "anime" | "manga",
+ setting: "anilist" | "livechartme" | "animeschedule" | "myanimelist",
+ search = false,
+ title: string | null = null,
) => {
- media = media as Media;
+ media = media as Media;
- 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=${encodeURIComponent(
- 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 search
- ? `https://anilist.co/search?search=${encodeURIComponent(title || '')}`
- : `https://anilist.co/${type}/${media.id}/`;
- case 'livechartme':
- return `https://www.livechart.me/search?q=${encodeURIComponent(
- title || media.title.native || media.title.english || media.title.romaji
- )}`;
- case 'animeschedule':
- return `https://animeschedule.net/shows?q=${encodeURIComponent(
- title || media.title.native || media.title.english || media.title.romaji
- )}`;
- case 'myanimelist': {
- return search
- ? `https://myanimelist.net/anime.php?q=${title}&cat=anime`
- : media.idMal
- ? `https://myanimelist.net/anime/${media.idMal}`
- : `https://myanimelist.net/anime.php?q=${encodeURIComponent(
- media.title.native || media.title.english || media.title.romaji
- )}&cat=anime`;
- }
- }
+ 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=${encodeURIComponent(
+ 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 search
+ ? `https://anilist.co/search?search=${encodeURIComponent(title || "")}`
+ : `https://anilist.co/${type}/${media.id}/`;
+ case "livechartme":
+ return `https://www.livechart.me/search?q=${encodeURIComponent(
+ title ||
+ media.title.native ||
+ media.title.english ||
+ media.title.romaji,
+ )}`;
+ case "animeschedule":
+ return `https://animeschedule.net/shows?q=${encodeURIComponent(
+ title ||
+ media.title.native ||
+ media.title.english ||
+ media.title.romaji,
+ )}`;
+ case "myanimelist": {
+ return search
+ ? `https://myanimelist.net/anime.php?q=${title}&cat=anime`
+ : media.idMal
+ ? `https://myanimelist.net/anime/${media.idMal}`
+ : `https://myanimelist.net/anime.php?q=${encodeURIComponent(
+ media.title.native || media.title.english || media.title.romaji,
+ )}&cat=anime`;
+ }
+ }
};