Home screen, library-wide search, splash with orbital particles, macOS download fix
- Add Netflix-style Home with recent audiobooks/podcasts, list/grid toggle shared with Library - Add searchable libraries — audiobooks filter on title/author; podcasts also index and search episodes across the whole library - Add unified context menu (download / progress remove) across Home, Library, and PodcastDetail - Rework cover badges: listened checkmark top-right, download indicator bottom-right; hide progress bar when finished - Add AirPlay picker in PlayerBar - Replace splash with four-phase animation: orbital particles → attract → flash → fade; cross-platform iOS+macOS, runtime AppIcon lookup - Fix macOS parallel downloads: align connection settings with iOS, raise timeoutIntervalForRequest to 300s - Fix progress deletion using server-side progress UUID (DELETE /api/me/progress/:id) - Bump CFBundleVersion to 8 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -22,7 +22,11 @@ struct LibraryGridView: View {
|
||||
private var gridContent: some View {
|
||||
ScrollView {
|
||||
LazyVGrid(columns: gridColumns, spacing: gridSpacing) {
|
||||
ForEach(items) { item in
|
||||
// Identify by syncKey, not by `id`: a synthetic episode item
|
||||
// shares the podcast container's `id`, so the default
|
||||
// `Identifiable`-based ForEach would collide if both appear in
|
||||
// a single search result list.
|
||||
ForEach(items, id: \.syncKey) { item in
|
||||
LibraryItemCell(item: item, dimDownloading: dimDownloading)
|
||||
.onTapGesture { onSelect(item) }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user