AutoCat2/AutoCat2SUI/Screens/VehicleDetail/VehicleDetailView.swift
2023-01-11 00:47:25 +03:00

71 lines
2.4 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.

//
// VehicleDetailView.swift
// AutoCat2SUI
//
// Created by Selim Mustafaev on 11.09.2022.
//
import SwiftUI
import AutoCatCore
struct ReportTextItem: View {
let name: String
let value: String?
var body: some View {
HStack {
Text(name)
Spacer()
Text(value ?? "")
.foregroundColor(.secondary)
}
}
}
struct VehicleDetailView: View {
let vehicle: CDVehicle
var body: some View {
Form {
Section(header: Text("General")) {
ReportTextItem(name: "Year", value: String(vehicle.year))
ReportTextItem(name: "Color", value: vehicle.color)
ReportTextItem(name: "Category", value: vehicle.category)
ReportTextItem(name: "Steering wheel position", value: vehicle.isRightWheel ? "Right": "Left")
ReportTextItem(name: "Japanese", value: vehicle.isJapanese ? "Yes" : "No")
}
Section(header: Text("Identifiers")) {
ReportTextItem(name: "Plate number", value: vehicle.number)
ReportTextItem(name: "VIN", value: vehicle.vin1)
ReportTextItem(name: "STS", value: vehicle.sts)
ReportTextItem(name: "PTS", value: vehicle.pts)
}
Section(header: Text("Engine")) {
ReportTextItem(name: "Number", value: vehicle.engine?.number)
ReportTextItem(name: "Fuel type", value: vehicle.engine?.fuelType)
ReportTextItem(name: "Volume (cm2)", value: String(vehicle.engine?.volume ?? 0))
ReportTextItem(name: "Power (HP)", value: String(vehicle.engine?.powerHp ?? 0))
ReportTextItem(name: "Power (kw)", value: String(vehicle.engine?.powerKw ?? 0))
}
}
.formStyle(.grouped)
}
}
struct VehicleDetailView_Previews: PreviewProvider {
static var previews: some View {
let test1 = Vehicle(number: "Н282СН61",
brandName: "KIA ОПТИМА",
addedDate: Date().timeIntervalSince1970,
updatedDate: Date().timeIntervalSince1970)
return VehicleDetailView(vehicle: CDVehicle(vehicle: test1,
context: NSManagedObjectContext(concurrencyType: .mainQueueConcurrencyType)))
}
}