AutoCat2/AutoCat2SUI/Views/PlateNumberView.swift

69 lines
2.2 KiB
Swift
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// PlateNumberView.swift
// AutoCat2SUI
//
// Created by Selim Mustafaev on 28.08.2022.
//
import SwiftUI
import AutoCatCore
struct PlateNumberView: View {
let number: PlateNumber
let unrecognized: Bool
let outdated: Bool
private var fgColor: Color {
if unrecognized {
return Color("PlateBackgroundError")
} else {
return Color("PlateForeground")
}
}
var body: some View {
ZStack {
RoundedRectangle(cornerRadius: 6)
.fill(fgColor)
GeometryReader { geometry in
HStack(alignment: .center, spacing: 2) {
ZStack {
RoundedRectangle(cornerRadius: 4)
.fill(Color("PlateBackground"))
Text(number.mainPart())
.font(Font.custom("RoadNumbers", size: geometry.size.height*0.9))
}
.frame(width: geometry.size.width*0.73 - 1)
ZStack {
RoundedRectangle(cornerRadius: 4)
.fill(Color("PlateBackground"))
VStack(spacing: 0) {
Text(number.region())
.frame(height: geometry.size.height*0.65, alignment: .center)
HStack {
}
.frame(height: geometry.size.height*0.35, alignment: .center)
}
}
.frame(width: geometry.size.width*0.27 - 1)
}
}
.padding(2)
}
.aspectRatio(520.0/112.0, contentMode: .fit)
}
}
struct PlateNumberView_Previews: PreviewProvider {
static var previews: some View {
Group {
PlateNumberView(number: PlateNumber("Е201АМ761"), unrecognized: false, outdated: false)
PlateNumberView(number: PlateNumber("Е201АМ761"), unrecognized: true, outdated: false)
PlateNumberView(number: PlateNumber("Е201АМ761"), unrecognized: false, outdated: true)
}
.previewLayout(.fixed(width: 200, height: 50))
}
}