import Defaults import SwiftUI struct UpdatesSettings: View { @EnvironmentObject private var updater @State private var automaticallyChecksForUpdates = false @Default(.enableBetaChannel) private var enableBetaChannel var body: some View { Section(header: SettingsHeader(text: "Updates")) { Toggle("Check automatically", isOn: $automaticallyChecksForUpdates) Toggle("Enable beta channel", isOn: $enableBetaChannel) } .onAppear { automaticallyChecksForUpdates = updater.automaticallyChecksForUpdates } .onChange(of: automaticallyChecksForUpdates) { _ in updater.setAutomaticallyChecksForUpdates(automaticallyChecksForUpdates) } .frame(maxWidth: .infinity, alignment: .leading) Spacer() CheckForUpdatesView() } } struct UpdatesSettings_Previews: PreviewProvider { static var previews: some View { UpdatesSettings() .injectFixtureEnvironmentObjects() } }