AutoCat/AutoCat/SwiftUI/NumberEditView/NumberEditView.swift

70 lines
1.9 KiB
Swift

//
// NumberEditView.swift
// AutoCat
//
// Created by Selim Mustafaev on 23.02.2025.
// Copyright © 2025 Selim Mustafaev. All rights reserved.
//
import SwiftUI
import AutoCatCore
struct NumberEditView: View {
let onCheck: (String) -> Void
@State var number = PlateNumber("")
var body: some View {
VStack(spacing: 16) {
Text("Check number")
.font(.headline)
HStack(spacing: 16) {
LicensePlateView(number: number, foreground: .primary)
.layoutPriority(1)
.frame(height: 50)
.fixedSize(horizontal: true, vertical: false)
Button {
onCheck(number.asString())
} label: {
Text("Check")
.frame(maxWidth: .infinity)
.foregroundColor(.primary)
.padding(.vertical, 16)
.padding(.horizontal, 12)
.background {
RoundedRectangle(cornerRadius: 6)
.fill(.blue)
}
}
//.layoutPriority(0)
.frame(height: 50)
.opacity(number.isValid ? 1 : 0.5)
}
.padding(.leading, 4)
.padding(.trailing, 4)
ACKeyboardView(buttonPressed: buttonPressed)
.frame(height: 220)
}
.padding(16)
}
func buttonPressed(type: PNButtonType) {
switch type {
case .symbol(let s):
number.insertText(String(s))
case .backspace:
number.deleteBackward()
case .done:
onCheck(number.asString())
}
}
}
#Preview {
NumberEditView() { _ in }
}