Files
Gas-Tank-AR-App/GasTankAR/Views/Leads/Signing/LeadSigningCompletionView.swift

44 lines
1.8 KiB
Swift

import SwiftUI
struct LeadSigningCompletionView: View {
let model: LeadSigningViewModel
var body: some View {
VStack(spacing: 16) {
if model.isBusy {
ProgressView()
.controlSize(.large)
Text(model.isUploading ? "PDFs werden hochgeladen …" : "PDFs werden signiert …")
.font(.headline)
if model.isDemoUpload {
Text("Demo-Modus: Der Upload wird simuliert.")
.font(.subheadline).foregroundStyle(.secondary)
}
} else if let error = model.uploadError {
Label("Upload nicht abgeschlossen", systemImage: "exclamationmark.triangle")
.font(.headline)
Text(error).foregroundStyle(.secondary)
Button("Erneut versuchen") {
Task { await model.uploadSignedDocuments() }
}
.buttonStyle(.borderedProminent)
} else if let result = model.uploadResult {
Image(systemName: "checkmark.circle.fill")
.font(.largeTitle).foregroundStyle(.green)
switch result {
case .uploaded:
Text("PDFs signiert und hochgeladen").font(.headline)
case .simulated:
Text("PDFs signiert und lokal gespeichert").font(.headline)
Text("Demo-Upload abgeschlossen. Es wurden keine PDFs übertragen.")
.font(.subheadline).foregroundStyle(.secondary)
}
}
}
.multilineTextAlignment(.center)
.frame(maxWidth: .infinity, minHeight: 220)
.padding(24)
.accessibilityElement(children: .contain)
}
}