diff --git a/src/lib/components/ShowDetail.svelte b/src/lib/components/ShowDetail.svelte index a9e5bcf0bd0a03c7b2a849866234b43d2e45f63a..26ddbba85c8940dbdd63136f02106d677e996017 100644 --- a/src/lib/components/ShowDetail.svelte +++ b/src/lib/components/ShowDetail.svelte @@ -124,15 +124,19 @@ let next = []; let gotCurrent = false; for (let episode of data) { + // Future and current episode if (new Date(episode.end) > new Date()) { + // Current episode if (!gotCurrent) { // Mark the current, next episode episode['isCurrent'] = true; gotCurrent = true; past.push(episode); + // Future episode } else { next.push(episode); } + // Past episode } else { past.push(episode); } @@ -143,8 +147,17 @@ past = past.slice(0, defaultPastEpisodes); 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:', data); + 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) + ); + episodes = episodesCompleteNext.concat(episodes); + console.log('Next complete episodes of show API response:', episodesCompleteNext); show = tmp_show;