mirror of
https://github.com/yattee/yattee.git
synced 2024-11-10 08:18:19 +00:00
42 lines
1.1 KiB
Swift
42 lines
1.1 KiB
Swift
|
import SwiftUI
|
||
|
|
||
|
struct ListingStyleButtons: View {
|
||
|
@Binding var listingStyle: ListingStyle
|
||
|
|
||
|
var body: some View {
|
||
|
#if os(iOS)
|
||
|
picker
|
||
|
#else
|
||
|
Button {
|
||
|
listingStyle = listingStyle.next()
|
||
|
} label: {
|
||
|
Label(listingStyle.rawValue.capitalized, systemImage: listingStyle.systemImage)
|
||
|
#if os(tvOS)
|
||
|
.font(.caption2)
|
||
|
.imageScale(.small)
|
||
|
#endif
|
||
|
}
|
||
|
#endif
|
||
|
}
|
||
|
|
||
|
var picker: some View {
|
||
|
Picker("Listing Style", selection: $listingStyle) {
|
||
|
ForEach(ListingStyle.allCases, id: \.self) { style in
|
||
|
Button {
|
||
|
listingStyle = style
|
||
|
} label: {
|
||
|
Label(style.rawValue.capitalized, systemImage: style.systemImage)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
struct ListingStyleButtons_Previews: PreviewProvider {
|
||
|
static var previews: some View {
|
||
|
VStack {
|
||
|
ListingStyleButtons(listingStyle: .constant(.cells))
|
||
|
}
|
||
|
}
|
||
|
}
|