From ff04f96d8c071c238968355c263e74692d529400 Mon Sep 17 00:00:00 2001 From: David Trattnig <david@subsquare.at> Date: Mon, 28 Oct 2024 16:57:14 +0100 Subject: [PATCH] fix: episode queries and trim filter params --- src/lib/components/ShowDetail.svelte | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/src/lib/components/ShowDetail.svelte b/src/lib/components/ShowDetail.svelte index 26ddbba..0d23ca4 100644 --- a/src/lib/components/ShowDetail.svelte +++ b/src/lib/components/ShowDetail.svelte @@ -51,7 +51,9 @@ function eventShowMore() { let fromDate = radioEpoch; fromDate = formatApiDate(fromDate); - let toDate = formatApiDate(new Date()); + let today = new Date(); + today.setUTCHours(23, 59, 59, 999); + let toDate = formatApiDate(today); let baseUrl = `${settings.api.url}/${endpointShow}/${tmp_show.id}/${endpointEpisode}`; let episodeUrl = `${baseUrl}?&withNote&start=${fromDate}&end=${toDate}`; fetchApi(episodeUrl, processMoreEpisodes); @@ -131,7 +133,7 @@ // Mark the current, next episode episode['isCurrent'] = true; gotCurrent = true; - past.push(episode); + next.push(episode); // Future episode } else { next.push(episode); @@ -148,16 +150,13 @@ episodes = past; console.log('Base episodes of show API response:', data); - // Limit and order all future episodes - episodesNext = next.slice(0, maxFutureEpisodes).reverse(); - console.log('Next (n) episodes of show API response:', episodesNext); - // Return all future episodes which have some title & description - const episodesCompleteNext = next.filter( - (e) => e.note.title && (e.note.summary || e.note.content) + episodesNext = next.filter( + (e) => e.note.title && (e.note.summary?.trim() || e.note.content?.trim()) ); - episodes = episodesCompleteNext.concat(episodes); - console.log('Next complete episodes of show API response:', episodesCompleteNext); + episodesNext = episodesNext.reverse(); + episodes = episodesNext.concat(past); + console.log('Next complete episodes of show API response:', episodesNext); show = tmp_show; @@ -179,11 +178,10 @@ // @see https://gitlab.servus.at/aura/steering/-/issues/97 if (data != null && Array.isArray(data)) data = data.reverse(); - if (episodes && Array.isArray(episodes)) { - if (episodes.length > 0) data.unshift(episodes[0]); - } + // Combine existing future episodes with all past ones if (episodesNext) episodes = episodesNext.concat(data); else episodes = data; + labelEpisodes = labelAllEpisodes; hasMoreEpisodes = false; console.log('More episodes of show API response:', data); -- GitLab