Listing styles

This commit is contained in:
Arkadiusz Fal
2022-12-12 01:18:29 +01:00
parent c2d16774f7
commit 25da312966
19 changed files with 305 additions and 45 deletions

View File

@@ -1,3 +1,4 @@
import Defaults
import Foundation
import SwiftUI
@@ -21,6 +22,24 @@ private struct NavigationStyleKey: EnvironmentKey {
static let defaultValue = NavigationStyle.tab
}
private struct ListingStyleKey: EnvironmentKey {
static let defaultValue = ListingStyle.cells
}
enum ListingStyle: String, CaseIterable, Defaults.Serializable {
case cells
case list
var systemImage: String {
switch self {
case .cells:
return "rectangle.grid.2x2"
case .list:
return "list.dash"
}
}
}
private struct CurrentPlaylistID: EnvironmentKey {
static let defaultValue: String? = nil
}
@@ -70,4 +89,9 @@ extension EnvironmentValues {
get { self[ScrollViewBottomPaddingKey.self] }
set { self[ScrollViewBottomPaddingKey.self] = newValue }
}
var listingStyle: ListingStyle {
get { self[ListingStyleKey.self] }
set { self[ListingStyleKey.self] = newValue }
}
}