LoginView.swift 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. //
  2. // LoginView.swift
  3. // Chat
  4. //
  5. // Created by Sergey Tarasov on 25.07.2022.
  6. //
  7. import SwiftUI
  8. struct LoginView: View {
  9. @ObservedObject var viewModel: LoginViewModel
  10. @Binding var authStatus: Bool
  11. var body: some View {
  12. VStack(alignment: .center, spacing: 16) {
  13. TextField("Login", text: $viewModel.login)
  14. .textFieldStyle(.roundedBorder)
  15. SecureField("Password", text: $viewModel.password)
  16. .textFieldStyle(.roundedBorder)
  17. .textContentType(.password)
  18. Button {
  19. viewModel.didTouchLogIn { success in
  20. if success {
  21. authStatus = true
  22. }
  23. }
  24. } label: {
  25. Text("Login")
  26. }
  27. }
  28. .padding()
  29. }
  30. }
  31. struct LoginView_Previews: PreviewProvider {
  32. static var viewModel: LoginViewModel = LoginViewModel()
  33. static var previews: some View {
  34. LoginView(viewModel: viewModel, authStatus: .constant(false))
  35. }
  36. }