From a3a945bd455a0552cbcaef4fbeb58f7ef8e3db9f Mon Sep 17 00:00:00 2001 From: ThaUnknown <6506529+ThaUnknown@users.noreply.github.com> Date: Mon, 31 Jul 2023 16:08:37 +0200 Subject: [PATCH] fix: episode list epoch date --- package.json | 2 +- src/renderer/modules/providers/tosho.js | 1 + src/renderer/views/ViewAnime/EpisodeList.svelte | 6 +++--- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 5fc226b..5c584d9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "Miru", - "version": "4.2.11", + "version": "4.2.12", "author": "ThaUnknown_ ", "description": "Stream anime torrents, real-time with no waiting for downloads.", "main": "build/main.js", diff --git a/src/renderer/modules/providers/tosho.js b/src/renderer/modules/providers/tosho.js index e7c5bc1..3fda2b6 100644 --- a/src/renderer/modules/providers/tosho.js +++ b/src/renderer/modules/providers/tosho.js @@ -95,6 +95,7 @@ async function getAniDBEpisodeFromAL ({ media, episode }, { episodes, episodeCou export function getEpisodeNumberByAirDate (alDate, episodes, episode) { if (!+alDate) return episodes[Number(episode)] || episodes[1] // what the fuck, are you braindead anilist?, the source episode number to play is from an array created from AL ep count, so how come it's missing? + // 1 is key for episod 1, not index // find closest episodes by air date, multiple episodes can have the same air date distance // ineffcient but reliable diff --git a/src/renderer/views/ViewAnime/EpisodeList.svelte b/src/renderer/views/ViewAnime/EpisodeList.svelte index d4ea242..cc356af 100644 --- a/src/renderer/views/ViewAnime/EpisodeList.svelte +++ b/src/renderer/views/ViewAnime/EpisodeList.svelte @@ -23,12 +23,12 @@ const settled = (await episodesPromise).data.Page?.airingSchedules const alEpisodes = settled?.length ? settled : episodeList for (const { episode, airingAt } of alEpisodes) { - const airdate = new Date((airingAt || 0) * 1000) + const alDate = new Date((airingAt || 0) * 1000) const needsValidation = !(!specialCount || (media.episodes && media.episodes === episodeCount && episodes[Number(episode)])) - const { image, summary, rating, title, length } = needsValidation ? getEpisodeNumberByAirDate(airdate, episodes, episode) : (episodes[Number(episode)] || {}) + const { image, summary, rating, title, length, airdate } = needsValidation ? getEpisodeNumberByAirDate(alDate, episodes, episode) : (episodes[Number(episode)] || {}) - episodeList[episode - 1] = { episode, image, summary, rating, title, length: length || duration, airdate } + episodeList[episode - 1] = { episode, image, summary, rating, title, length: length || duration, airdate: +alDate || airdate } } } load()