Add lead workflows, PDF signing, AR projects and photo gallery integration
This commit is contained in:
31
GasTankAR/Views/AR/Projects/ARProjectTankImage.swift
Normal file
31
GasTankAR/Views/AR/Projects/ARProjectTankImage.swift
Normal file
@ -0,0 +1,31 @@
|
||||
import SwiftUI
|
||||
|
||||
struct ARProjectTankImage: View {
|
||||
let tank: Tank
|
||||
@Environment(\.tankCatalog) private var catalog
|
||||
@State private var image: UIImage?
|
||||
@State private var failed = false
|
||||
|
||||
var body: some View {
|
||||
Group {
|
||||
if let image {
|
||||
Image(uiImage: image).resizable().scaledToFit()
|
||||
} else if failed {
|
||||
Image(systemName: "cube.transparent").foregroundStyle(.secondary)
|
||||
.accessibilityLabel("Tankvorschau nicht verfügbar")
|
||||
} else {
|
||||
ProgressView().controlSize(.small)
|
||||
}
|
||||
}
|
||||
.task(id: tank) {
|
||||
image = nil
|
||||
failed = false
|
||||
await Task.yield()
|
||||
guard !Task.isCancelled else { return }
|
||||
if let definition = catalog.definition(for: tank) {
|
||||
image = TankThumbnailRenderer.shared.image(for: definition)
|
||||
}
|
||||
failed = image == nil
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user