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) } }