From fad9033ac9dfddad235ebd5c75aee8c6c114e551 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Wed, 29 Nov 2023 16:38:20 -0800 Subject: feat(media): use common interface for objects --- src/lib/AniList/media.ts | 12 +++++++----- src/lib/AniList/prequels.ts | 13 ++++--------- src/lib/List/Anime/CleanAnimeList.svelte | 2 +- src/lib/List/Manga/CleanMangaList.svelte | 2 +- src/lib/List/MediaTitleDisplay.svelte | 18 +++++++++--------- src/lib/Tools/SequelSpy.svelte | 2 +- 6 files changed, 23 insertions(+), 26 deletions(-) diff --git a/src/lib/AniList/media.ts b/src/lib/AniList/media.ts index 2898b3df..067db97a 100644 --- a/src/lib/AniList/media.ts +++ b/src/lib/AniList/media.ts @@ -10,6 +10,12 @@ export enum Type { Manga } +export interface MediaTitle { + romaji: string; + english: string; + native: string; +} + export interface Media { id: number; status: 'FINISHED' | 'RELEASING' | 'NOT_YET_RELEASED' | 'CANCELLED' | 'HIATUS'; @@ -29,11 +35,7 @@ export interface Media { | 'MANGA' | 'NOVEL' | 'ONE_SHOT'; - title: { - romaji: string; - english: string; - native: string; - }; + title: MediaTitle; nextAiringEpisode?: { episode: number; airingAt?: number; diff --git a/src/lib/AniList/prequels.ts b/src/lib/AniList/prequels.ts index 82e470f4..68a153ba 100644 --- a/src/lib/AniList/prequels.ts +++ b/src/lib/AniList/prequels.ts @@ -1,8 +1,9 @@ import type { AniListAuthorisation } from './identity'; +import type { MediaTitle } from './media'; export interface MediaPrequel { id: number; - title: { english: string; romaji: string }; + title: MediaTitle; episodes: number; seen: number; } @@ -11,10 +12,7 @@ interface PrequelRelations { edges: { relationType: string; node: { - title: { - english: string; - romaji: string; - }; + title: MediaTitle; episodes: number; mediaListEntry: { status: string; @@ -28,10 +26,7 @@ interface PrequelsPage { data: { Page: { media: { - title: { - english: string; - romaji: string; - }; + title: MediaTitle; id: number; relations: PrequelRelations; }[]; diff --git a/src/lib/List/Anime/CleanAnimeList.svelte b/src/lib/List/Anime/CleanAnimeList.svelte index e7388066..567dd2da 100644 --- a/src/lib/List/Anime/CleanAnimeList.svelte +++ b/src/lib/List/Anime/CleanAnimeList.svelte @@ -50,7 +50,7 @@ ? 'color: lightcoral' : ''} > - + {#if $settings.displaySocialButton} diff --git a/src/lib/List/Manga/CleanMangaList.svelte b/src/lib/List/Manga/CleanMangaList.svelte index c08c9ef6..22ebb154 100644 --- a/src/lib/List/Manga/CleanMangaList.svelte +++ b/src/lib/List/Manga/CleanMangaList.svelte @@ -40,7 +40,7 @@ ? 'color: lightcoral' : ''} > - + {#if $settings.displaySocialButton} diff --git a/src/lib/List/MediaTitleDisplay.svelte b/src/lib/List/MediaTitleDisplay.svelte index b98f4125..c419da14 100644 --- a/src/lib/List/MediaTitleDisplay.svelte +++ b/src/lib/List/MediaTitleDisplay.svelte @@ -1,28 +1,28 @@ {#if $settings.displayNativeTitles} {#if $settings.displayFurigana} - + - {media.title.native} + {title.native} - {wanakana.toKana(media.title.romaji)} + {wanakana.toKana(title.romaji)} {:else} - - {media.title.native} + + {title.native} {/if} {:else} - - {media.title.english || media.title.romaji || media.title.native} + + {title.english || title.romaji || title.native} {/if} diff --git a/src/lib/Tools/SequelSpy.svelte b/src/lib/Tools/SequelSpy.svelte index 4e92f199..838e8520 100644 --- a/src/lib/Tools/SequelSpy.svelte +++ b/src/lib/Tools/SequelSpy.svelte @@ -41,7 +41,7 @@ {#each currentPrequels as prequel}
  • - + | {prequel.seen}/{prequel.episodes} -- cgit v1.2.3