// 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 { untitledSection timelineSection linksSection contentWarningsSection } .listStyle(.insetGrouped) .appGroupedScrollBackgroundIfAvailable() .navigationBarTitle(Text("Behavior")) } private var untitledSection: some View { Section { Toggle(isOn: $preferences.confirmBeforeReblog) { Text("Require Confirmation Before Reblogging") } } .listRowBackground(Color.appGroupedCellBackground) } private var timelineSection: some View { Section { Toggle(isOn: $preferences.timelineStateRestoration) { Text("Maintain Position Across App Launches") } } header: { Text("Timeline") } .listRowBackground(Color.appGroupedCellBackground) } private var linksSection: 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) } .listRowBackground(Color.appGroupedCellBackground) } private var contentWarningsSection: some View { Section(header: Text("Content Warnings")) { Toggle(isOn: $preferences.collapseLongPosts) { Text("Collapse Long Posts") } Toggle(isOn: $preferences.expandAllContentWarnings) { Text("Expand All Content Warnings") } NavigationLink(destination: OppositeCollapseKeywordsView()) { Text(preferences.expandAllContentWarnings ? "Collapse Posts with Keywords in CWs" : "Expand Posts with Keywords in CWs") } } .listRowBackground(Color.appGroupedCellBackground) } } #if DEBUG struct BehaviorPrefsView_Previews : PreviewProvider { static var previews: some View { BehaviorPrefsView() } } #endif