diff --git a/src/ui/PodcastView/PodcastGrid.svelte b/src/ui/PodcastView/PodcastGrid.svelte index 9c44efde..79cf3165 100644 --- a/src/ui/PodcastView/PodcastGrid.svelte +++ b/src/ui/PodcastView/PodcastGrid.svelte @@ -1,25 +1,16 @@
{#if feeds.length > 0} {#each feeds as feed} - {feed.title} {/each} {:else} @@ -30,11 +21,6 @@
diff --git a/src/ui/settings/PodcastQueryGrid.svelte b/src/ui/settings/PodcastQueryGrid.svelte index b8eed73e..f80809d2 100644 --- a/src/ui/settings/PodcastQueryGrid.svelte +++ b/src/ui/settings/PodcastQueryGrid.svelte @@ -21,9 +21,7 @@ onMount(() => { const debouncedUpdate = debounce(async (value: string) => { - searchResults = await (await consume(value)).filter( - (feed: PodcastFeed) => !$savedFeeds[feed.title] - ); + searchResults = await consume(value); }, 300, true); const textInput = new TextComponent(inputRef) @@ -39,6 +37,16 @@ savedFeeds.update(feeds => ({ ...feeds, [podcast.title]: podcast })); } + + function removePodcast(event: CustomEvent<{ podcast: PodcastFeed }>) { + const { podcast } = event.detail; + + savedFeeds.update(feeds => { + const newFeeds = { ...feeds }; + delete newFeeds[podcast.title]; + return newFeeds; + }); + }
@@ -54,7 +62,9 @@ {#each searchResults as podcast} {/each}
diff --git a/src/ui/settings/PodcastResultCard.svelte b/src/ui/settings/PodcastResultCard.svelte index ad41327c..fa0f0d4f 100644 --- a/src/ui/settings/PodcastResultCard.svelte +++ b/src/ui/settings/PodcastResultCard.svelte @@ -3,15 +3,17 @@ import { createEventDispatcher } from "svelte"; export let podcast: PodcastFeed; - let wasAdded: boolean = false; + export let isSaved: boolean = false; const dispatch = createEventDispatcher(); function onClickAddPodcast() { dispatch("addPodcast", { podcast }); - wasAdded = true; } + function onClickRemovePodcast() { + dispatch("removePodcast", { podcast }); + }
@@ -21,13 +23,14 @@

{podcast.title}

- +
+ +
\ No newline at end of file