yattee/Shared/Defaults.swift

34 lines
1010 B
Swift
Raw Normal View History

2021-06-26 23:29:55 +00:00
import Defaults
2021-07-22 12:43:13 +00:00
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"
}
}
}
2021-06-26 23:29:55 +00:00
extension Defaults.Keys {
2021-07-18 22:32:46 +00:00
#if os(tvOS)
static let layout = Key<ListingLayout>("listingLayout", default: .cells)
#endif
2021-06-28 15:02:13 +00:00
static let searchQuery = Key<String>("searchQuery", default: "")
2021-07-07 22:39:18 +00:00
2021-07-22 12:43:13 +00:00
static let searchSortOrder = Key<SearchQuery.SortOrder>("searchSortOrder", default: .relevance)
static let searchDate = Key<SearchQuery.Date?>("searchDate")
static let searchDuration = Key<SearchQuery.Duration?>("searchDuration")
2021-07-08 17:18:36 +00:00
static let selectedPlaylistID = Key<String?>("selectedPlaylistID")
static let showingAddToPlaylist = Key<Bool>("showingAddToPlaylist", default: false)
static let videoIDToAddToPlaylist = Key<String?>("videoIDToAddToPlaylist")
2021-06-26 23:29:55 +00:00
}