mirror of
https://github.com/ThaUnknown/miru.git
synced 2026-04-19 01:22:14 +00:00
fix: airdate episode match
This commit is contained in:
parent
ce9e01c2c2
commit
3ad8d5039e
3 changed files with 6 additions and 3 deletions
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "ui",
|
||||
"version": "6.4.50",
|
||||
"version": "6.4.51",
|
||||
"license": "BUSL-1.1",
|
||||
"private": true,
|
||||
"packageManager": "pnpm@9.15.5",
|
||||
|
|
|
|||
|
|
@ -163,6 +163,8 @@ export function episodeByAirDate (alDate: Date | undefined, episodes: Episodes,
|
|||
return prev
|
||||
}, [])
|
||||
|
||||
if (!closestEpisodes.length) return episodes[Number(episode)] ?? episodes[episode]
|
||||
|
||||
return closestEpisodes.reduce((prev, curr) => {
|
||||
return Math.abs(Number(curr.episode) - episode) < Math.abs(Number(prev.episode) - episode) ? curr : prev
|
||||
})
|
||||
|
|
|
|||
|
|
@ -76,9 +76,10 @@ export function makeEpisodeList (count: number, media: Media, episodesRes?: Epis
|
|||
|
||||
const needsValidation = !(!hasSpecial || (hasEpisode && hasCountMatch))
|
||||
// handle special cases where anilist reports that 3 episodes aired at the same time because of pre-releases, simply don't allow the same episode to be re-used
|
||||
const filtered = Object.fromEntries(Object.entries(episodesRes?.episodes ?? {}).filter(([_, ep]) => !episodeList.some(e => e.anidbEid === ep.anidbEid && ep.anidbEid != null)))
|
||||
// TODO: this needs to be improved so it doesnt walk backwards
|
||||
// const filtered = Object.fromEntries(Object.entries(episodesRes?.episodes ?? {}).filter(([_, ep]) => !episodeList.some(e => e.anidbEid === ep.anidbEid && ep.anidbEid != null)))
|
||||
|
||||
const { image, summary, overview, rating, title, length, airdate, anidbEid } = (needsValidation ? episodeByAirDate(airingAt, filtered, episode) : episodesRes?.episodes?.[Number(episode)]) ?? {}
|
||||
const { image, summary, overview, rating, title, length, airdate, anidbEid } = (needsValidation ? episodeByAirDate(airingAt, episodesRes?.episodes ?? {}, episode) : episodesRes?.episodes?.[Number(episode)]) ?? {}
|
||||
const res = {
|
||||
episode, image, summary: summary ?? overview, rating, title, length, airdate, airingAt, filler: !!fillerEpisodes[media.id]?.includes(i + 1), anidbEid
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue