addressed upload issue in pr feedback

This commit is contained in:
Swift Coder
2024-10-15 10:43:32 -04:00
parent 17183632c8
commit 37a50f6087

View File

@@ -319,11 +319,13 @@ struct PostView: View {
.padding(.top, 15) .padding(.top, 15)
} }
func handle_upload(media: MediaUpload) { @discardableResult
func handle_upload(media: MediaUpload) async -> Bool {
let uploader = damus_state.settings.default_media_uploader let uploader = damus_state.settings.default_media_uploader
Task {
let img = getImage(media: media) let img = getImage(media: media)
print("img size w:\(img.size.width) h:\(img.size.height)") print("img size w:\(img.size.width) h:\(img.size.height)")
async let blurhash = calculate_blurhash(img: img) async let blurhash = calculate_blurhash(img: img)
let res = await image_upload.start(media: media, uploader: uploader, keypair: damus_state.keypair) let res = await image_upload.start(media: media, uploader: uploader, keypair: damus_state.keypair)
@@ -331,12 +333,13 @@ struct PostView: View {
case .success(let url): case .success(let url):
guard let url = URL(string: url) else { guard let url = URL(string: url) else {
self.error = "Error uploading image :(" self.error = "Error uploading image :("
return return false
} }
let blurhash = await blurhash let blurhash = await blurhash
let meta = blurhash.map { bh in calculate_image_metadata(url: url, img: img, blurhash: bh) } let meta = blurhash.map { bh in calculate_image_metadata(url: url, img: img, blurhash: bh) }
let uploadedMedia = UploadedMedia(localURL: media.localURL, uploadedURL: url, representingImage: img, metadata: meta) let uploadedMedia = UploadedMedia(localURL: media.localURL, uploadedURL: url, representingImage: img, metadata: meta)
uploadedMedias.append(uploadedMedia) uploadedMedias.append(uploadedMedia)
return true
case .failed(let error): case .failed(let error):
if let error { if let error {
@@ -344,8 +347,7 @@ struct PostView: View {
} else { } else {
self.error = "Error uploading image :(" self.error = "Error uploading image :("
} }
} return false
} }
} }
@@ -450,9 +452,11 @@ struct PostView: View {
} }
.alert(NSLocalizedString("Are you sure you want to upload the selected media?", comment: "Alert message asking if the user wants to upload media."), isPresented: $image_upload_confirm) { .alert(NSLocalizedString("Are you sure you want to upload the selected media?", comment: "Alert message asking if the user wants to upload media."), isPresented: $image_upload_confirm) {
Button(NSLocalizedString("Upload", comment: "Button to proceed with uploading."), role: .none) { Button(NSLocalizedString("Upload", comment: "Button to proceed with uploading."), role: .none) {
Task {
for media in preUploadedMedia { for media in preUploadedMedia {
if let mediaToUpload = generateMediaUpload(media) { if let mediaToUpload = generateMediaUpload(media) {
self.handle_upload(media: mediaToUpload) await self.handle_upload(media: mediaToUpload)
}
} }
} }
self.attach_media = false self.attach_media = false