From 67ce45c4373fe37610ebc52f7c44d586cc26d313 Mon Sep 17 00:00:00 2001 From: ThaUnknown <6506529+ThaUnknown@users.noreply.github.com> Date: Tue, 19 Mar 2024 23:25:14 +0100 Subject: [PATCH] feat: airing schedule leftovers #431 --- common/components/banner/FullBanner.svelte | 2 +- common/views/AiringSchedule.svelte | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/common/components/banner/FullBanner.svelte b/common/components/banner/FullBanner.svelte index 1287fb8..d8ccbe6 100644 --- a/common/components/banner/FullBanner.svelte +++ b/common/components/banner/FullBanner.svelte @@ -100,7 +100,7 @@
{#each mediaList as media} {@const active = current === media} -
setCurrent(media)}> +
setCurrent(media)}>
diff --git a/common/views/AiringSchedule.svelte b/common/views/AiringSchedule.svelte index 26115ba..10580e6 100644 --- a/common/views/AiringSchedule.svelte +++ b/common/views/AiringSchedule.svelte @@ -8,11 +8,20 @@ async function fetchAllScheduleEntries (_variables) { const variables = { ..._variables } const results = { data: { Page: { media: [], pageInfo: { hasNextPage: false } } } } + const opts = { ...vars, ...SectionsManager.sanitiseObject(variables) } for (let page = 1, hasNextPage = true; hasNextPage && page < 5; ++page) { - const res = await anilistClient.search({ page, perPage: 50, ...vars, ...SectionsManager.sanitiseObject(variables) }) + const res = await anilistClient.search({ ...opts, page, perPage: 50 }) hasNextPage = res.data.Page.pageInfo.hasNextPage results.data.Page.media = results.data.Page.media.concat(res.data.Page.media) } + + const seasons = ['WINTER', 'SPRING', 'SUMMER', 'FALL'] + const season = seasons[(seasons.indexOf(vars.season) + 3) % 4] + const year = vars.season === 'WINTER' ? vars.year - 1 : vars.year + + const res = await anilistClient.search({ format: 'TV', ...SectionsManager.sanitiseObject(variables), year, season, status: 'RELEASING', page: 1, perPage: 50 }) + results.data.Page.media = results.data.Page.media.concat(res.data.Page.media) + results.data.Page.media.sort((a, b) => a.airingSchedule?.nodes?.[0]?.airingAt - b.airingSchedule?.nodes?.[0]?.airingAt) return results