import SwiftUI struct SettingsView: View { @AppStorage("connectionType") var connectionType: ConnectionStrategy = .remoteFirst @AppStorage("server") var serverPath: String = "https://christophhagen.de/sesame/" @AppStorage("localIP") var localAddress: String = "192.168.178.104/" @EnvironmentObject var keys: KeyManagement var some: String { "some" } var body: some View { NavigationStack { List { Picker("Connection", selection: $connectionType) { Text(display: ConnectionStrategy.local) .tag(ConnectionStrategy.local) Text(display: ConnectionStrategy.localFirst) .tag(ConnectionStrategy.localFirst) Text(display: ConnectionStrategy.remote) .tag(ConnectionStrategy.remote) Text(display: ConnectionStrategy.remoteFirst) .tag(ConnectionStrategy.remoteFirst) } .padding(.leading) SettingsTextItemLink( title: "Server url", value: $serverPath, footnote: "The url where the sesame server listens for incoming messages.") SettingsTextItemLink( title: "Local url", value: $localAddress, footnote: "The url where the device can be reached directly on the local WiFi network.") SettingsKeyItemLink( type: .deviceKey, footnote: "Some text describing the purpose of the key.") .environmentObject(keys) SettingsKeyItemLink( type: .remoteKey, footnote: "Some text describing the purpose of the key.") .environmentObject(keys) SettingsKeyItemLink( type: .authToken, footnote: "Some text describing the purpose of the key.") .environmentObject(keys) } .navigationTitle("Settings") } } } struct SettingsView_Previews: PreviewProvider { static var previews: some View { SettingsView() .previewDevice("Apple Watch Series 7 - 41mm") .environmentObject(KeyManagement()) } }