yattee/Shared/Defaults.swift

39 lines
1.2 KiB
Swift
Raw Normal View History

2021-06-26 23:29:55 +00:00
import Defaults
2021-09-19 11:06:54 +00:00
extension Defaults.Keys {
#if os(tvOS)
static let layout = Key<ListingLayout>("listingLayout", default: .cells)
#endif
2021-09-25 08:18:22 +00:00
static let instances = Key<[Instance]>("instances", default: [])
static let accounts = Key<[Instance.Account]>("accounts", default: [])
2021-09-26 22:03:33 +00:00
static let defaultAccountID = Key<String?>("defaultAccountID")
2021-09-25 08:18:22 +00:00
static let trendingCategory = Key<TrendingCategory>("trendingCategory", default: .default)
static let trendingCountry = Key<Country>("trendingCountry", default: .us)
2021-09-19 11:06:54 +00:00
static let selectedPlaylistID = Key<String?>("selectedPlaylistID")
static let showingAddToPlaylist = Key<Bool>("showingAddToPlaylist", default: false)
static let videoIDToAddToPlaylist = Key<String?>("videoIDToAddToPlaylist")
static let recentlyOpened = Key<[RecentItem]>("recentlyOpened", default: [])
2021-09-25 08:18:22 +00:00
static let quality = Key<Stream.ResolutionSetting>("quality", default: .hd720pFirstThenBest)
2021-09-19 11:06:54 +00:00
}
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"
}
}
}