Add chapters, history, bookmarks, live download progress, and i18n
- Chapter navigation with auto-scroll to current chapter and end-of-chapter sleep timer - Opt-in listening history (local-only) with XML export and per-item quick menu - Bookmarks with server sync via Audiobookshelf API - Live MB counter during downloads via URLSessionDownloadTask delegate - In-progress downloads shown in "Heruntergeladen" with dimmed cover + ring overlay - Cover image cache (50 MB memory / 500 MB disk URLCache) - German/English localization (de.lproj, en.lproj) - Loading spinner now triggers immediately on view switch instead of waiting for the network Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -3,6 +3,7 @@ import SwiftUI
|
||||
struct LibraryGridView: View {
|
||||
let items: [LibraryItem]
|
||||
var onRefresh: (() async -> Void)? = nil
|
||||
var dimDownloading: Bool = false
|
||||
var onSelect: (LibraryItem) -> Void
|
||||
|
||||
@AppStorage("libraryCoverSize") private var coverSize: Double = Self.defaultCoverSize
|
||||
@@ -22,7 +23,7 @@ struct LibraryGridView: View {
|
||||
ScrollView {
|
||||
LazyVGrid(columns: gridColumns, spacing: gridSpacing) {
|
||||
ForEach(items) { item in
|
||||
LibraryItemCell(item: item)
|
||||
LibraryItemCell(item: item, dimDownloading: dimDownloading)
|
||||
.onTapGesture { onSelect(item) }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user