diff options
| author | Fuwn <[email protected]> | 2026-03-01 19:56:11 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2026-03-01 19:56:18 -0800 |
| commit | 469dfeeac3acffe10b0f7cf374fb7f0d11ecd90f (patch) | |
| tree | bd7e5963a2eec25088f0135cedb68104bd4fae59 /src/lib/List/Anime | |
| parent | fix(ci): stabilize quality graphql generation and trigger workflow paths (diff) | |
| download | due.moe-469dfeeac3acffe10b0f7cf374fb7f0d11ecd90f.tar.xz due.moe-469dfeeac3acffe10b0f7cf374fb7f0d11ecd90f.zip | |
fix(match): prevent cached airing injection mutation regressions
Diffstat (limited to 'src/lib/List/Anime')
| -rw-r--r-- | src/lib/List/Anime/DueAnimeList.svelte | 16 | ||||
| -rw-r--r-- | src/lib/List/Anime/UpcomingAnimeList.svelte | 21 |
2 files changed, 23 insertions, 14 deletions
diff --git a/src/lib/List/Anime/DueAnimeList.svelte b/src/lib/List/Anime/DueAnimeList.svelte index 4da6836f..e170a81e 100644 --- a/src/lib/List/Anime/DueAnimeList.svelte +++ b/src/lib/List/Anime/DueAnimeList.svelte @@ -93,11 +93,17 @@ const cleanMedia = ( // Outdated media hasDueEpisodes(media), ) - .map((media: Media) => { - if (hasNoAiredEpisodes(media)) media.nextAiringEpisode = { episode: -1 }; - - return media; - }); + .map((media: Media) => + hasNoAiredEpisodes(media) + ? { + ...media, + nextAiringEpisode: { + ...(media.nextAiringEpisode || { episode: 0 }), + episode: -1, + }, + } + : media, + ); if (!displayUnresolved) dueAnime = dueAnime.filter( diff --git a/src/lib/List/Anime/UpcomingAnimeList.svelte b/src/lib/List/Anime/UpcomingAnimeList.svelte index 2dd69a68..4bd7a287 100644 --- a/src/lib/List/Anime/UpcomingAnimeList.svelte +++ b/src/lib/List/Anime/UpcomingAnimeList.svelte @@ -60,16 +60,19 @@ const cleanMedia = ( ? media.mediaListEntry?.status === "PLANNING" : false) || !hasDueEpisodes(media), ) - .map((media: Media) => { + .map((media: Media) => // Adjust for planned anime - if ( - ($settings.displayPlannedAnime ? media.episodes !== 1 : true) && - hasNoAiredEpisodes(media) - ) - media.nextAiringEpisode = { episode: -1 }; - - return media; - }); + ($settings.displayPlannedAnime ? media.episodes !== 1 : true) && + hasNoAiredEpisodes(media) + ? { + ...media, + nextAiringEpisode: { + ...(media.nextAiringEpisode || { episode: 0 }), + episode: -1, + }, + } + : media, + ); let upcomingAnime = filterAnime( plannedOnly ? "NOT_YET_RELEASED" : "RELEASING", ); |