blob: bc9dde5bb031d7e4cf6fd6e54cc9f739741131dd (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
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 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`;
}
}
};
|