// // ContentView.swift // LoginTutorial // // Created by QuentinArguillere on 31/07/2020. // Copyright © 2020 BelledonneCommunications. All rights reserved. // import SwiftUI struct ContentView: View { @ObservedObject var tutorialContext : RemoteNotificationTutorialContext var body: some View { VStack { Group { HStack { Text("Username:") .font(.title) TextField("", text : $tutorialContext.username) .textFieldStyle(RoundedBorderTextFieldStyle()) .disabled(tutorialContext.loggedIn) } HStack { Text("Password:") .font(.title) TextField("", text : $tutorialContext.passwd) .textFieldStyle(RoundedBorderTextFieldStyle()) .disabled(tutorialContext.loggedIn) } HStack { Text("Domain:") .font(.title) TextField("", text : $tutorialContext.domain) .textFieldStyle(RoundedBorderTextFieldStyle()) .disabled(tutorialContext.loggedIn) } Picker(selection: $tutorialContext.transportType, label: Text("Transport:")) { Text("TLS").tag("TLS") Text("TCP").tag("TCP") Text("UDP").tag("UDP") }.pickerStyle(SegmentedPickerStyle()).padding() VStack { HStack { Button(action: { if (self.tutorialContext.loggedIn) { self.tutorialContext.unregister() self.tutorialContext.delete() } else { self.tutorialContext.login() } }) { Text(tutorialContext.loggedIn ? "Log out & \ndelete account" : "Create & \nlog in account") .font(.largeTitle) .foregroundColor(Color.white) .frame(width: 220.0, height: 90) .background(Color.gray) } } HStack { Text("Login State : ") .font(.footnote) Text(tutorialContext.loggedIn ? "Logged in" : "Unregistered") .font(.footnote) .foregroundColor(tutorialContext.loggedIn ? Color.green : Color.black) }.padding(.top, 10.0) } } Group { Spacer() Text("Core Version is \(tutorialContext.coreVersion)") } } .padding() } } struct ContentView_Previews: PreviewProvider { static var previews: some View { ContentView(tutorialContext: RemoteNotificationTutorialContext()) } }