// // CheckNumberPopup.swift // AutoCat2 (macOS) // // Created by Selim Mustafaev on 07.11.2021. // import SwiftUI struct CheckNumberPopup: View { @Environment(\.presentationMode) var presentation @State var plateNumber: String = "" @State var progress = false @State private var alert: AlertMessage? = nil var body: some View { VStack(alignment: .center, spacing: 8) { Text("Check new plate number") TextField("qwe", text: $plateNumber, prompt: Text("asdf")) .disabled(progress) Spacer() if progress { ProgressView() .progressViewStyle(CircularProgressViewStyle()) } Spacer() HStack { Button("Cancel") { self.presentation.wrappedValue.dismiss() } .disabled(progress) Button("Check") { Task.init { progress = true do { try await VehicleService.shared.check(plateNumber: plateNumber.uppercased(), force: false) } catch { alert = .error(error: error) } progress = false } } .alert(item: $alert, content: Alert.init) .disabled(progress) } } .padding() .frame(minWidth: 300, minHeight: 180) } } struct CheckNumberPopup_Previews: PreviewProvider { static var previews: some View { CheckNumberPopup() } }