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}
-

{/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