diff options
| author | Fuwn <[email protected]> | 2023-11-18 23:46:08 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2023-11-18 23:46:08 -0800 |
| commit | 600e8a843cf9209330f2bacd40a2bfdb68471d77 (patch) | |
| tree | 8de55f3d7fe5ce75bca6eeb85fed50bc73a867f4 /src/lib | |
| parent | feat(wrapped): title length slider (diff) | |
| download | due.moe-600e8a843cf9209330f2bacd40a2bfdb68471d77.tar.xz due.moe-600e8a843cf9209330f2bacd40a2bfdb68471d77.zip | |
feat(upcoming): option to display planning
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/AniList/media.ts | 18 | ||||
| -rw-r--r-- | src/lib/List/Anime/UpcomingAnimeList.svelte | 16 | ||||
| -rw-r--r-- | src/lib/Settings/SettingCheckboxToggle.svelte | 5 |
3 files changed, 28 insertions, 11 deletions
diff --git a/src/lib/AniList/media.ts b/src/lib/AniList/media.ts index a04618d9..8e8f8fb5 100644 --- a/src/lib/AniList/media.ts +++ b/src/lib/AniList/media.ts @@ -12,12 +12,22 @@ export enum Type { export interface Media { id: number; - status: string; - type: string; + status: 'FINISHED' | 'RELEASING' | 'NOT_YET_RELEASED' | 'CANCELLED' | 'HIATUS'; + type: 'ANIME' | 'MANGA'; episodes: number; chapters: number; volumes: number; - format: string; + format: + | 'TV' + | 'TV_SHORT' + | 'MOVIE' + | 'SPECIAL' + | 'OVA' + | 'ONA' + | 'MUSIC' + | 'MANGA' + | 'NOVEL' + | 'ONE_SHOT'; title: { romaji: string; english: string; @@ -30,7 +40,7 @@ export interface Media { mediaListEntry?: { progress: number; progressVolumes: number; - status: string; + status: 'CURRENT' | 'PLANNING' | 'COMPLETED' | 'DROPPED' | 'PAUSED' | 'REPEATING'; score: number; startedAt: { year: number; diff --git a/src/lib/List/Anime/UpcomingAnimeList.svelte b/src/lib/List/Anime/UpcomingAnimeList.svelte index 232f3d55..99c9b99e 100644 --- a/src/lib/List/Anime/UpcomingAnimeList.svelte +++ b/src/lib/List/Anime/UpcomingAnimeList.svelte @@ -5,6 +5,7 @@ import anime from '../../../stores/anime'; import lastPruneTimes from '../../../stores/lastPruneTimes'; import AnimeList from './AnimeListTemplate.svelte'; + import settings from '../../../stores/settings'; export let user: AniListAuthorisation; export let identity: UserIdentity; @@ -24,19 +25,22 @@ } const releasingMedia = media.filter( - (media: Media) => media.status == 'RELEASING' && media.nextAiringEpisode !== null - /* && - (media['mediaListEntry'] || { progress: 0 })['progress'] >= - ($displayNotStarted === 'true' ? 0 : 1) */ + (media: Media) => + (media.status === 'RELEASING' || media.status === 'NOT_YET_RELEASED') && + media.nextAiringEpisode !== null ); const outdatedMedia = releasingMedia.filter((media: Media) => { return ( + ($settings.displayPlannedAnime ? media.mediaListEntry?.status === 'PLANNING' : false) || (media.nextAiringEpisode || { episode: 0 }).episode - 1 <= - (media.mediaListEntry || { progress: 0 }).progress + (media.mediaListEntry || { progress: 0 }).progress ); }); let finalMedia = outdatedMedia.map((media: Media) => { - if ((media.nextAiringEpisode || { episode: 0 }).episode - 1 <= 0) { + if ( + ($settings.displayPlannedAnime ? media.episodes !== 1 : true) && + (media.nextAiringEpisode || { episode: 0 }).episode - 1 <= 0 + ) { media.nextAiringEpisode = { episode: -1 }; } diff --git a/src/lib/Settings/SettingCheckboxToggle.svelte b/src/lib/Settings/SettingCheckboxToggle.svelte index ab603278..58eeacc9 100644 --- a/src/lib/Settings/SettingCheckboxToggle.svelte +++ b/src/lib/Settings/SettingCheckboxToggle.svelte @@ -10,6 +10,7 @@ export let disabled = false; export let text: string; export let setting: SettingsBooleanKeys[keyof SettingsBooleanKeys]; + export let lineBreak = true; // const toggler = (key: keyof Settings) => [ // () => @@ -47,7 +48,9 @@ <slot /> {/if} -<br /> +{#if lineBreak} + <br /> +{/if} {#if sectionBreak} <p /> |