AutoCat2/AutoCat2SUI/Screens/CheckNumber/CheckNumber.swift

57 lines
1.9 KiB
Swift

//
// CheckNumber.swift
// AutoCat2SUI
//
// Created by Selim Mustafaev on 28.08.2022.
//
import SwiftUI
import AutoCatCore
struct CheckNumber: View {
@Environment(\.presentationMode) var presentation
@State var plateNumber: String = ""
@State var showProgress = 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("Plate number"))
.disabled(showProgress)
ProgressView()
.progressViewStyle(CircularProgressViewStyle())
.hidden(!showProgress)
HStack {
Button("Cancel") {
self.presentation.wrappedValue.dismiss()
}
.disabled(showProgress)
Button("Check") {
Task.init {
showProgress = true
do {
try await VehicleService.shared.check(plateNumber: plateNumber.uppercased(), force: false)
self.presentation.wrappedValue.dismiss()
} catch {
alert = .error(error: error)
}
showProgress = false
}
}
.alert(item: $alert, content: Alert.init)
.disabled(showProgress)
}
}
.padding()
.frame(minWidth: 300)
}
}
struct CheckNumber_Previews: PreviewProvider {
static var previews: some View {
CheckNumber()
}
}