diff options
| author | Fuwn <[email protected]> | 2023-11-27 21:10:20 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2023-11-27 21:10:20 -0800 |
| commit | 31ac15a9b9f33afce0e0fa40b463278916e45562 (patch) | |
| tree | d8456cce95c46f9cefcb01f60a838642dcc0c1c4 /src/lib/List | |
| parent | fix(anime): restore few setter (diff) | |
| download | due.moe-31ac15a9b9f33afce0e0fa40b463278916e45562.tar.xz due.moe-31ac15a9b9f33afce0e0fa40b463278916e45562.zip | |
feat(list): furigana
Diffstat (limited to 'src/lib/List')
| -rw-r--r-- | src/lib/List/Anime/CleanAnimeList.svelte | 11 | ||||
| -rw-r--r-- | src/lib/List/Manga/CleanMangaList.svelte | 11 | ||||
| -rw-r--r-- | src/lib/List/MediaTitle.svelte | 28 |
3 files changed, 32 insertions, 18 deletions
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} - <span title={anime.title.english || anime.title.romaji || anime.title.native}> - {anime.title.native} - </span> - {:else} - <span title={anime.title.native}> - {anime.title.english || anime.title.romaji || anime.title.native} - </span> - {/if} + <MediaTitle media={anime} /> </span> </a> {#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} - <span title={manga.title.english || manga.title.romaji || manga.title.native}> - {manga.title.native} - </span> - {:else} - <span title={manga.title.native}> - {manga.title.english || manga.title.romaji || manga.title.native} - </span> - {/if} + <MediaTitle media={manga} /> </span> </a> {#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 @@ +<script lang="ts"> + import type { Media } from '$lib/AniList/media'; + import settings from '../../stores/settings'; + import * as wanakana from 'wanakana'; + + export let media: Media; +</script> + +{#if $settings.displayNativeTitles} + {#if $settings.displayFurigana} + <span title={media.title.english || media.title.romaji || media.title.native}> + <ruby> + {media.title.native} + <rt> + {wanakana.toKana(media.title.romaji)} + </rt> + </ruby> + </span> + {:else} + <span title={media.title.english || media.title.romaji || media.title.native}> + {media.title.native} + </span> + {/if} +{:else} + <span title={media.title.native}> + {media.title.english || media.title.romaji || media.title.native} + </span> +{/if} |