// SilentActionPrefs.swift // Tusker // // Created by Shadowfacts on 6/13/19. // Copyright © 2019 Shadowfacts. All rights reserved. // import SwiftUI struct SilentActionPrefs : View { @ObservedObject var preferences = Preferences.shared var body: some View { List(Array(preferences.silentActions.keys), id: \.self) { source in SilentActionPermissionCell(source: source) } .listStyle(InsetGroupedListStyle()) // .navigationBarTitle("Silent Action Permissions") // see FB6838291 } } struct SilentActionPermissionCell: View { @ObservedObject var preferences = Preferences.shared let source: String var body: some View { Toggle(isOn: Binding(get: { self.preferences.silentActions[self.source] == .accepted }, set: { self.preferences.silentActions[self.source] = $0 ? .accepted : .rejected })) { Text(verbatim: source) } } } #if DEBUG struct SilentActionPrefs_Previews : PreviewProvider { static var previews: some View { SilentActionPrefs().environmentObject(Preferences.shared) } } #endif