From fe4ff93e98266e59e87265f953ad05df201a5409 Mon Sep 17 00:00:00 2001 From: Christoph Hagen Date: Sun, 6 Apr 2025 13:59:08 +0200 Subject: [PATCH] Improve upload sheet --- CHDataManagement/Push/UploadSheet.swift | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/CHDataManagement/Push/UploadSheet.swift b/CHDataManagement/Push/UploadSheet.swift index a7ee2e7..01c0cd9 100644 --- a/CHDataManagement/Push/UploadSheet.swift +++ b/CHDataManagement/Push/UploadSheet.swift @@ -13,7 +13,7 @@ struct UploadSheet: View { private var dismiss @State - private var output = "" + private var output: [String] = ["Ready to upload"] private var uploadSymbol: SFSymbol { if upload.isTransmittingToRemote { @@ -28,8 +28,8 @@ struct UploadSheet: View { var header: String { let user = content.settings.general.remoteUserForUpload let port = content.settings.general.remotePortForUpload - let url = content.settings.general.remotePathForUpload.withHttpPrefixRemoved - let path = content.settings.general.remotePathForUpload + let url = content.settings.general.url.withHttpPrefixRemoved + let path = content.settings.general.remotePathForUpload.withLeadingSlashRemoved return "\(user)@\(url):\(port)/\(path)" } @@ -43,28 +43,29 @@ struct UploadSheet: View { Button("Close", action: { dismiss() }) } ScrollView { - Text(output) + Text(output.joined(separator: "\n")) .font(.body.monospaced()) .foregroundStyle(.primary) .frame(maxWidth: .infinity, alignment: .leading) } } .padding() - .frame(minWidth: 500, idealWidth: 600, idealHeight: 500) + .frame(minWidth: 500, idealWidth: 600) } private func startUpload() { guard let folder = content.storage.outputScope?.url.path() else { - print("No output folder to start upload") + output = ["No output folder to start upload"] return } - output = "" + output = ["Starting upload..."] upload.transmitToRemote( settings: content.settings.general, outputFolder: folder) { newContent in DispatchQueue.main.async { - self.output += newContent + let newLines = newContent.components(separatedBy: "\n").suffix(4) + self.output = (self.output + newLines).suffix(4) } } }