From 31ac15a9b9f33afce0e0fa40b463278916e45562 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Mon, 27 Nov 2023 21:10:20 -0800 Subject: feat(list): furigana --- src/lib/List/Anime/CleanAnimeList.svelte | 11 ++--------- src/lib/List/Manga/CleanMangaList.svelte | 11 ++--------- src/lib/List/MediaTitle.svelte | 28 ++++++++++++++++++++++++++++ src/routes/settings/+page.svelte | 9 ++++++++- src/stores/settings.ts | 4 +++- 5 files changed, 43 insertions(+), 20 deletions(-) create mode 100644 src/lib/List/MediaTitle.svelte (limited to 'src') diff --git a/src/lib/List/Anime/CleanAnimeList.svelte b/src/lib/List/Anime/CleanAnimeList.svelte index 7ce10d4d..2da182d5 100644 --- a/src/lib/List/Anime/CleanAnimeList.svelte +++ b/src/lib/List/Anime/CleanAnimeList.svelte @@ -6,6 +6,7 @@ import { airingTime, cleanCache, totalEpisodes, updateMedia } from '$lib/Media/anime'; import type { AniListAuthorisation, UserIdentity } from '$lib/AniList/identity'; import ListTitle from '../ListTitle.svelte'; + import MediaTitle from '../MediaTitle.svelte'; export let media: Media[]; export let title: string; @@ -49,15 +50,7 @@ ? 'color: lightcoral' : ''} > - {#if $settings.displayNativeTitles} - - {anime.title.native} - - {:else} - - {anime.title.english || anime.title.romaji || anime.title.native} - - {/if} + {#if $settings.displaySocialButton} diff --git a/src/lib/List/Manga/CleanMangaList.svelte b/src/lib/List/Manga/CleanMangaList.svelte index 659388ea..009fb868 100644 --- a/src/lib/List/Manga/CleanMangaList.svelte +++ b/src/lib/List/Manga/CleanMangaList.svelte @@ -3,6 +3,7 @@ import { volumeCount } from '$lib/Media/manga'; import settings from '../../../stores/settings'; import ListTitle from '../ListTitle.svelte'; + import MediaTitle from '../MediaTitle.svelte'; export let media: Media[]; export let cleanCache: () => void; @@ -39,15 +40,7 @@ ? 'color: lightcoral' : ''} > - {#if $settings.displayNativeTitles} - - {manga.title.native} - - {:else} - - {manga.title.english || manga.title.romaji || manga.title.native} - - {/if} + {#if $settings.displaySocialButton} diff --git a/src/lib/List/MediaTitle.svelte b/src/lib/List/MediaTitle.svelte new file mode 100644 index 00000000..b98f4125 --- /dev/null +++ b/src/lib/List/MediaTitle.svelte @@ -0,0 +1,28 @@ + + +{#if $settings.displayNativeTitles} + {#if $settings.displayFurigana} + + + {media.title.native} + + {wanakana.toKana(media.title.romaji)} + + + + {:else} + + {media.title.native} + + {/if} +{:else} + + {media.title.english || media.title.romaji || media.title.native} + +{/if} diff --git a/src/routes/settings/+page.svelte b/src/routes/settings/+page.svelte index 2282ba7e..4a40b318 100644 --- a/src/routes/settings/+page.svelte +++ b/src/routes/settings/+page.svelte @@ -60,7 +60,14 @@ - + + {#if $settings.displayNativeTitles} + + {/if} diff --git a/src/stores/settings.ts b/src/stores/settings.ts index e7d07324..a194f6c3 100644 --- a/src/stores/settings.ts +++ b/src/stores/settings.ts @@ -21,6 +21,7 @@ export interface Settings { guessMethod: 'median' | 'iqr_median' | 'iqr_mode' | 'mode'; disableOutOfDateVolumeWarning: boolean; displayPlannedAnime: boolean; + displayFurigana: boolean; } const defaultSettings: Settings = { @@ -42,7 +43,8 @@ const defaultSettings: Settings = { displayNativeTitles: false, guessMethod: 'median', disableOutOfDateVolumeWarning: false, - displayPlannedAnime: true + displayPlannedAnime: true, + displayFurigana: false }; const createStore = () => { -- cgit v1.2.3