UI improvements, player state refactor

This commit is contained in:
Arkadiusz Fal
2021-07-22 14:43:13 +02:00
parent 132eb7b064
commit 33e102207f
30 changed files with 743 additions and 501 deletions

View File

@@ -1,14 +1,31 @@
import Defaults
enum ListingLayout: String, CaseIterable, Identifiable, Defaults.Serializable {
case list, cells
var id: String {
rawValue
}
var name: String {
switch self {
case .list:
return "List"
case .cells:
return "Cells"
}
}
}
extension Defaults.Keys {
#if os(tvOS)
static let layout = Key<ListingLayout>("listingLayout", default: .cells)
#endif
static let searchQuery = Key<String>("searchQuery", default: "")
static let searchSortOrder = Key<SearchSortOrder>("searchSortOrder", default: .relevance)
static let searchDate = Key<SearchDate?>("searchDate")
static let searchDuration = Key<SearchDuration?>("searchDuration")
static let searchSortOrder = Key<SearchQuery.SortOrder>("searchSortOrder", default: .relevance)
static let searchDate = Key<SearchQuery.Date?>("searchDate")
static let searchDuration = Key<SearchQuery.Duration?>("searchDuration")
static let selectedPlaylistID = Key<String?>("selectedPlaylistID")
static let showingAddToPlaylist = Key<Bool>("showingAddToPlaylist", default: false)