69 lines
2.2 KiB
Swift
69 lines
2.2 KiB
Swift
//
|
||
// 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))
|
||
}
|
||
}
|