From 74688bc2091f62878dfb1ccbd95930217de95fe2 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Sun, 17 Dec 2023 04:45:12 -0800 Subject: refactor(media): links --- src/lib/List/Anime/CleanAnimeList.svelte | 2 +- src/lib/List/Manga/CleanMangaList.svelte | 2 +- src/lib/Media/links.ts | 45 ++++++++++++++++++++++++++++++++ src/lib/Media/media.ts | 45 -------------------------------- 4 files changed, 47 insertions(+), 47 deletions(-) create mode 100644 src/lib/Media/links.ts delete mode 100644 src/lib/Media/media.ts diff --git a/src/lib/List/Anime/CleanAnimeList.svelte b/src/lib/List/Anime/CleanAnimeList.svelte index 2c843608..bc895a50 100644 --- a/src/lib/List/Anime/CleanAnimeList.svelte +++ b/src/lib/List/Anime/CleanAnimeList.svelte @@ -9,7 +9,7 @@ import type { AniListAuthorisation, UserIdentity } from '$lib/AniList/identity'; import ListTitle from '../ListTitle.svelte'; import MediaTitle from '../MediaTitleDisplay.svelte'; - import { outboundLink } from '$lib/Media/media'; + import { outboundLink } from '$lib/Media/links'; import { onDestroy } from 'svelte'; export let media: Media[]; diff --git a/src/lib/List/Manga/CleanMangaList.svelte b/src/lib/List/Manga/CleanMangaList.svelte index b0e7947e..de355908 100644 --- a/src/lib/List/Manga/CleanMangaList.svelte +++ b/src/lib/List/Manga/CleanMangaList.svelte @@ -2,7 +2,7 @@ import type { Media } from '$lib/AniList/media'; import Error from '$lib/Error.svelte'; import { volumeCount } from '$lib/Media/Manga/volumes'; - import { outboundLink } from '$lib/Media/media'; + import { outboundLink } from '$lib/Media/links'; import settings from '../../../stores/settings'; import ListTitle from '../ListTitle.svelte'; import MediaTitle from '../MediaTitleDisplay.svelte'; 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`; + } +}; diff --git a/src/lib/Media/media.ts b/src/lib/Media/media.ts deleted file mode 100644 index 4385d348..00000000 --- a/src/lib/Media/media.ts +++ /dev/null @@ -1,45 +0,0 @@ -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`; - } -}; -- cgit v1.2.3