// BehaviorPrefsView.swift // Tusker // // Created by Shadowfacts on 6/13/19. // Copyright © 2019 Shadowfacts. All rights reserved. // import SwiftUI import Pachyderm struct BehaviorPrefsView: View { @ObservedObject var preferences = Preferences.shared var body: some View { List { section1 section2 section3 }.listStyle(GroupedListStyle()) .navigationBarTitle(Text("Behavior")) } var section1: some View { Section(header: Text("COMPOSING")) { Picker(selection: $preferences.defaultPostVisibility, label: Text("Default Post Visibility")) { ForEach(Status.Visibility.allCases, id: \.self) { visibility in HStack { Image(systemName: visibility.imageName) Text(visibility.displayName) } .tag(visibility) }//.navigationBarTitle("Default Post Visibility") // navbar title on the ForEach is currently incorrectly applied when the picker is not expanded, see FB6838291 } Toggle(isOn: $preferences.automaticallySaveDrafts) { Text("Automatically Save Drafts") } Picker(selection: $preferences.contentWarningCopyMode, label: Text("Content Warning Copy Style")) { Text("As-is").tag(ContentWarningCopyMode.asIs) Text("Prepend 're: '").tag(ContentWarningCopyMode.prependRe) Text("Don't copy").tag(ContentWarningCopyMode.doNotCopy) } Toggle(isOn: $preferences.requireAttachmentDescriptions) { Text("Require Attachment Descriptions") } } } var section2: some View { Section(header: Text("READING")) { Toggle(isOn: $preferences.blurAllMedia) { Text("Blur All Media") } } } var section3: some View { Section(header: Text("LINKS")) { Toggle(isOn: $preferences.openLinksInApps) { Text("Open Links in Apps") } Toggle(isOn: $preferences.useInAppSafari) { Text("Use In-App Safari") } Toggle(isOn: $preferences.inAppSafariAutomaticReaderMode) { Text("Always Use Reader Mode in In-App Safari") }.disabled(!preferences.useInAppSafari) } } } #if DEBUG struct BehaviorPrefsView_Previews : PreviewProvider { static var previews: some View { BehaviorPrefsView() } } #endif