feat(podcasts): add a Podcasts tab to list and play on demand
All checks were successful
CI / build-and-deploy (push) Successful in 15s

Surface every podcast in PodcastIndex as a top-level tab instead of a
buried sheet. Repurpose PodcastLibraryView into the tab: play/pause toggle
per episode, a now-playing bar that opens the full player, swipe/Edit to
delete. Uses the shared podcastPlayer so playback state is consistent
across tabs. Removes the redundant Podcasts entry from the bookmarks menu.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Krishna Kumar
2026-06-24 13:16:49 -05:00
parent 64a944ab10
commit f8de444f8f
4 changed files with 44 additions and 20 deletions

View File

@@ -58,7 +58,6 @@ struct BookmarksView: View {
@State private var editingBookmark: Bookmark?
@State private var browsingBookmark: Bookmark?
@State private var showFullPlayer = false
@State private var showPodcastLibrary = false
@State private var showAsk = false
@State private var readingProgress: [String: Double] = ReadingProgress.all()
@@ -112,11 +111,6 @@ struct BookmarksView: View {
} label: {
Label("Enrich All with AI", systemImage: "wand.and.stars")
}
Button {
showPodcastLibrary = true
} label: {
Label("Podcasts", systemImage: "headphones")
}
} label: {
Image(systemName: "sparkles")
}
@@ -202,9 +196,6 @@ struct BookmarksView: View {
stopOnDismiss: false
)
}
.sheet(isPresented: $showPodcastLibrary) {
PodcastLibraryView(vm: viewModel.podcastPlayer, claude: viewModel.claude)
}
.refreshable {
await viewModel.load()
}