feat(podcasts): surface mark-played in context menu, full player, and row badge
- Add a long-press context menu on each library row (Play/Pause, Mark as Played/Unplayed, Delete). - Add a Mark as Played/Unplayed control next to Share Episode in the full player, tracking the loaded episode across queue advances. - Show a green checkmark on played rows, on top of the existing Played section + dimmed title, so played state reads at a glance. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -54,6 +54,10 @@ enum PodcastIndex {
|
||||
all().filter { $0.parentBookmarkUrl == bookmarkUrl || $0.articleUrl == bookmarkUrl }
|
||||
}
|
||||
|
||||
static func isPlayed(articleUrl: String) -> Bool {
|
||||
all().first { $0.articleUrl == articleUrl }?.isPlayed ?? false
|
||||
}
|
||||
|
||||
/// Mark an episode played (default) or back to unplayed. No-op if unknown.
|
||||
static func setPlayed(articleUrl: String, _ played: Bool = true) {
|
||||
var entries = all()
|
||||
|
||||
Reference in New Issue
Block a user