From 1e6618211a3c796d2b01ffbbdf09436032504bf5 Mon Sep 17 00:00:00 2001 From: Michael Freno Date: Fri, 20 Feb 2026 22:42:15 -0500 Subject: [PATCH] more indication --- src/pages/Discover/DiscoverPage.tsx | 120 ++++++++++++++------------- src/pages/MyShows/MyShowsPage.tsx | 40 +++++---- src/pages/Player/PlayerPage.tsx | 4 +- src/pages/Search/SearchPage.tsx | 122 ++++++++++++++-------------- src/pages/Settings/SettingsPage.tsx | 17 ++-- 5 files changed, 168 insertions(+), 135 deletions(-) diff --git a/src/pages/Discover/DiscoverPage.tsx b/src/pages/Discover/DiscoverPage.tsx index 342daf3..f1969f0 100644 --- a/src/pages/Discover/DiscoverPage.tsx +++ b/src/pages/Discover/DiscoverPage.tsx @@ -43,13 +43,17 @@ export function DiscoverPage() { - - - false} - primary={nav.activeDepth == DiscoverPagePaneType.SHOWS} - > - Trending in{" "} - {DISCOVER_CATEGORIES.find( - (c) => c.id === discoverStore.selectedCategory(), - )?.name ?? "All"} - - - - - {discoverStore.filteredPodcasts().length !== 0 ? ( - Loading trending shows... - ) : ( - - No podcasts found in this category. - - )} - - } - when={ - !discoverStore.isLoading() && - discoverStore.filteredPodcasts().length === 0 - } - > - - - - {(podcast, index) => ( - handleShowSelect(index())} - onSubscribe={() => handleSubscribe(podcast)} - /> + + + false} + primary={nav.activeDepth() == DiscoverPagePaneType.SHOWS} + > + Trending in{" "} + {DISCOVER_CATEGORIES.find( + (c) => c.id === discoverStore.selectedCategory(), + )?.name ?? "All"} + + + + + {discoverStore.filteredPodcasts().length !== 0 ? ( + Loading trending shows... + ) : ( + + No podcasts found in this category. + )} - - - - + + } + when={ + !discoverStore.isLoading() && + discoverStore.filteredPodcasts().length === 0 + } + > + + + + {(podcast, index) => ( + handleShowSelect(index())} + onSubscribe={() => handleSubscribe(podcast)} + /> + )} + + + + + - ); } diff --git a/src/pages/MyShows/MyShowsPage.tsx b/src/pages/MyShows/MyShowsPage.tsx index 032055b..65c0d18 100644 --- a/src/pages/MyShows/MyShowsPage.tsx +++ b/src/pages/MyShows/MyShowsPage.tsx @@ -129,8 +129,14 @@ export function MyShowsPage() { } > {(feed, index) => ( @@ -171,26 +177,32 @@ export function MyShowsPage() { - - Select a show - - } - > 0} + when={selectedShow()} fallback={ - No episodes. Press [r] to refresh. + Select a show } > - 0} + fallback={ + + No episodes. Press [r] to refresh. + + } > + {(episode, index) => ( { const d = audio.duration(); @@ -41,7 +43,7 @@ export function PlayerPage() { - {/* Main Content - Results or History */} - - {/* Results Panel */} - - - - Results ({searchStore.results().length}) - - - 0} - fallback={ - - - {searchStore.query() - ? "No results found" - : "Enter a search term to find podcasts"} - - + {/* Main Content - Results or History */} + + {/* Results Panel */} + - - - - - {/* History Sidebar */} - - - + - History + Results ({searchStore.results().length}) - + 0} + fallback={ + + + {searchStore.query() + ? "No results found" + : "Enter a search term to find podcasts"} + + + } + > + + + + + {/* History Sidebar */} + + + + + History + + + + - ); } diff --git a/src/pages/Settings/SettingsPage.tsx b/src/pages/Settings/SettingsPage.tsx index d0f621e..27a0f12 100644 --- a/src/pages/Settings/SettingsPage.tsx +++ b/src/pages/Settings/SettingsPage.tsx @@ -28,6 +28,11 @@ export function SettingsPage() { const { theme } = useTheme(); const nav = useNavigation(); + // Helper function to check if a depth is active + const isActive = (depth: SettingsPaneType): boolean => { + return nav.activeDepth() === depth; + }; + return ( @@ -56,23 +61,23 @@ export function SettingsPage() { - {nav.activeDepth === SettingsPaneType.SYNC && } - {nav.activeDepth === SettingsPaneType.SOURCES && ( + {isActive(SettingsPaneType.SYNC) && } + {isActive(SettingsPaneType.SOURCES) && ( )} - {nav.activeDepth === SettingsPaneType.PREFERENCES && ( + {isActive(SettingsPaneType.PREFERENCES) && ( )} - {nav.activeDepth === SettingsPaneType.VISUALIZER && ( + {isActive(SettingsPaneType.VISUALIZER) && ( )} - {nav.activeDepth === SettingsPaneType.ACCOUNT && ( + {isActive(SettingsPaneType.ACCOUNT) && ( Account