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}