@@ -53,12 +53,15 @@ enum MediaUpload {
53
53
54
54
class ImageUploadModel : NSObject , URLSessionTaskDelegate , ObservableObject {
55
55
@Published var progress : Double ? = nil
56
+ @Published var currentImagesUploaded : Int = 0
57
+ @Published var totalImagesToUpload : Int = 0
58
+ private var completedUploads : Int = 0
56
59
57
60
func start( media: MediaUpload , uploader: MediaUploader , keypair: Keypair ? = nil ) async -> ImageUploadResult {
58
- let res = await create_upload_request ( mediaToUpload: media, mediaUploader: uploader, progress: self , keypair: keypair)
59
61
DispatchQueue . main. async {
60
- self . progress = nil
62
+ self . totalImagesToUpload += 1
61
63
}
64
+ let res = await create_upload_request ( mediaToUpload: media, mediaUploader: uploader, progress: self , keypair: keypair)
62
65
return res
63
66
}
64
67
@@ -67,4 +70,20 @@ class ImageUploadModel: NSObject, URLSessionTaskDelegate, ObservableObject {
67
70
self . progress = Double ( totalBytesSent) / Double( totalBytesExpectedToSend)
68
71
}
69
72
}
73
+
74
+ func didFinishUpload( ) {
75
+ DispatchQueue . main. async {
76
+ self . completedUploads += 1
77
+ self . currentImagesUploaded = self . completedUploads
78
+ }
79
+ }
80
+
81
+ func resetProgress( ) {
82
+ DispatchQueue . main. async {
83
+ self . progress = nil
84
+ self . currentImagesUploaded = 0
85
+ self . totalImagesToUpload = 0
86
+ self . completedUploads = 0
87
+ }
88
+ }
70
89
}
0 commit comments