Skip to content
Snippets Groups Projects
Commit 27b29c9d authored by Christian Bager Bach Houmann's avatar Christian Bager Bach Houmann
Browse files

fix: actually implement refresh of episode list

parent 205cf71b
No related branches found
Tags 1.5.1
No related merge requests found
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
<Icon <Icon
icon="refresh-cw" icon="refresh-cw"
size={25} size={25}
on:click={() => dispatch("clickRefresh")}
/> />
</div> </div>
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
return await (new FeedParser(feed).parse(feed.url)); return await (new FeedParser(feed).parse(feed.url));
} }
function handleClickPodcast(event: CustomEvent<{ feed: PodcastFeed }>) { async function handleClickPodcast(event: CustomEvent<{ feed: PodcastFeed }>) {
episodeList = []; episodeList = [];
const { feed } = event.detail; const { feed } = event.detail;
...@@ -35,10 +35,10 @@ ...@@ -35,10 +35,10 @@
if (cachedEpisodesInFeed && cachedEpisodesInFeed.length > 0) { if (cachedEpisodesInFeed && cachedEpisodesInFeed.length > 0) {
episodeList = cachedEpisodesInFeed; episodeList = cachedEpisodesInFeed;
} else { } else {
fetchEpisodes(feed).then(episodes => { const episodes = await fetchEpisodes(feed);
episodeList = episodes;
episodeCache.update(cache => ({ ...cache, [feed.title]: episodes })); episodeList = episodes;
}); episodeCache.update(cache => ({ ...cache, [feed.title]: episodes }));
} }
viewState = ViewState.EpisodeList; viewState = ViewState.EpisodeList;
...@@ -51,6 +51,15 @@ ...@@ -51,6 +51,15 @@
viewState = ViewState.Player; viewState = ViewState.Player;
} }
async function handleClickRefresh() {
if (!selectedFeed) return;
const { title } = selectedFeed;
const episodes = await fetchEpisodes(selectedFeed)
episodeList = episodes;
episodeCache.update(cache => ({ ...cache, [title]: episodes }));
}
onDestroy(unsubscribe); onDestroy(unsubscribe);
</script> </script>
...@@ -68,6 +77,7 @@ ...@@ -68,6 +77,7 @@
feed={selectedFeed} feed={selectedFeed}
episodes={episodeList} episodes={episodeList}
on:clickEpisode={handleClickEpisode} on:clickEpisode={handleClickEpisode}
on:clickRefresh={handleClickRefresh}
/> />
{:else if viewState === ViewState.PodcastGrid} {:else if viewState === ViewState.PodcastGrid}
<FeedGrid <FeedGrid
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment