diff --git a/package.json b/package.json index 29d53db..f9b2d14 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "Miru", - "version": "1.3.0", + "version": "1.3.1", "author": "ThaUnknown_ ", "main": "src/index.js", "homepage": "https://github.com/ThaUnknown/miru#readme", diff --git a/src/renderer/src/lib/RSSView.svelte b/src/renderer/src/lib/RSSView.svelte index 86a5369..35e6db6 100644 --- a/src/renderer/src/lib/RSSView.svelte +++ b/src/renderer/src/lib/RSSView.svelte @@ -88,7 +88,10 @@ if (!media) return const titles = createTitle(media).join(')|(') - const absolute = !!findEdge(media, 'PREQUEL')?.node && (await resolveSeason({ media, episode, force: true })) + const prequel = findEdge(media, 'PREQUEL')?.node + const sequel = findEdge(media, 'SEQUEL')?.node + + const absolute = prequel && (await resolveSeason({ media, episode, force: true })) const episodes = [episode] if (absolute) episodes.push(absolute.offset + episode) let ep = '' @@ -123,15 +126,30 @@ return } const entries = [] + + const checkDate = media.status === 'FINISHED' && !prequel && (sequel?.status === 'FINISHED' || sequel?.status === 'RELEASING') && sequel.startDate + + const targetDate = new Date(Object.values(checkDate).join(' ')) + for (const item of nodes) { - entries.push({ + const pubDate = item.querySelector('pubDate')?.textContent + + const itemDate = pubDate && new Date(pubDate) + + const obj = { title: item.querySelector('title')?.textContent || '?', link: item.querySelector('link')?.textContent || '?', seeders: item.querySelector('seeders')?.textContent ?? '?', leechers: item.querySelector('leechers')?.textContent ?? '?', downloads: item.querySelector('downloads')?.textContent ?? '?', size: item.querySelector('size')?.textContent ?? '?' - }) + } + + if (itemDate && targetDate) { + if (itemDate < targetDate) entries.push(obj) + } else { + entries.push(obj) + } } entries.sort((a, b) => b.seeders - a.seeders) const streamingEpisode = media?.streamingEpisodes.filter(episode => episodeRx.exec(episode.title) && Number(episodeRx.exec(episode.title)[1]) === Number(episode))[0] diff --git a/src/renderer/src/modules/anilist.js b/src/renderer/src/modules/anilist.js index 7c271cd..587caad 100644 --- a/src/renderer/src/modules/anilist.js +++ b/src/renderer/src/modules/anilist.js @@ -191,7 +191,12 @@ relations { type, status, format, - episodes + episodes, + startDate { + year, + month, + day + } } } }`