diff --git a/src/components/FeedSelector.svelte b/src/components/FeedSelector.svelte
index 3ff5082..6356d39 100644
--- a/src/components/FeedSelector.svelte
+++ b/src/components/FeedSelector.svelte
@@ -39,6 +39,26 @@
const selectedName = $derived(selectedFeed === null ? 'replies' : getDisplayName(selectedFeed));
+{#snippet feedIcon({
+ avatar,
+ replies,
+ following
+}: {
+ avatar?: string;
+ replies?: boolean;
+ following?: boolean;
+})}
+ {#if replies}
+
+ {:else if following}
+
+ {:else if avatar}
+
+ {:else}
+
+ {/if}
+{/snippet}
+
(isOpen = !isOpen)}
- class="flex action-button items-center gap-1.5 text-sm hover:scale-102!"
+ class="flex action-button items-center gap-1.5 p-2 text-sm hover:scale-102!"
>
-
+ {@render feedIcon({
+ replies: selectedFeed === null,
+ following: selectedFeed === 'following',
+ avatar: selectedFeed ? feedMeta.get(selectedFeed)?.avatar : undefined
+ })}
{selectedName}
▾
@@ -65,7 +89,7 @@
? 'bg-(--nucleus-accent)/20'
: ''}"
>
-
+ {@render feedIcon({ replies: true })}
replies
{#each sortedFeeds as savedFeed (savedFeed.feed.uri)}
@@ -92,17 +116,7 @@
? 'bg-(--nucleus-accent)/20'
: ''}"
>
- {#if savedFeed.feed.avatar}
-
- {:else if savedFeed.pinned}
-
- {:else}
-
- {/if}
+ {@render feedIcon({ avatar: savedFeed.feed.avatar })}
{savedFeed.feed.displayName}
{/each}