aboutsummaryrefslogtreecommitdiff
path: root/src/lib/List/Anime
diff options
context:
space:
mode:
authorFuwn <[email protected]>2026-03-01 19:56:11 -0800
committerFuwn <[email protected]>2026-03-01 19:56:18 -0800
commit469dfeeac3acffe10b0f7cf374fb7f0d11ecd90f (patch)
treebd7e5963a2eec25088f0135cedb68104bd4fae59 /src/lib/List/Anime
parentfix(ci): stabilize quality graphql generation and trigger workflow paths (diff)
downloaddue.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.svelte16
-rw-r--r--src/lib/List/Anime/UpcomingAnimeList.svelte21
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",
);