addressed upload issue in pr feedback
This commit is contained in:
@@ -318,34 +318,36 @@ struct PostView: View {
|
||||
.padding()
|
||||
.padding(.top, 15)
|
||||
}
|
||||
|
||||
func handle_upload(media: MediaUpload) {
|
||||
|
||||
@discardableResult
|
||||
func handle_upload(media: MediaUpload) async -> Bool {
|
||||
let uploader = damus_state.settings.default_media_uploader
|
||||
Task {
|
||||
let img = getImage(media: media)
|
||||
print("img size w:\(img.size.width) h:\(img.size.height)")
|
||||
async let blurhash = calculate_blurhash(img: img)
|
||||
let res = await image_upload.start(media: media, uploader: uploader, keypair: damus_state.keypair)
|
||||
|
||||
switch res {
|
||||
case .success(let url):
|
||||
guard let url = URL(string: url) else {
|
||||
self.error = "Error uploading image :("
|
||||
return
|
||||
}
|
||||
let blurhash = await blurhash
|
||||
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)
|
||||
uploadedMedias.append(uploadedMedia)
|
||||
|
||||
case .failed(let error):
|
||||
if let error {
|
||||
self.error = error.localizedDescription
|
||||
} else {
|
||||
self.error = "Error uploading image :("
|
||||
}
|
||||
|
||||
let img = getImage(media: media)
|
||||
print("img size w:\(img.size.width) h:\(img.size.height)")
|
||||
|
||||
async let blurhash = calculate_blurhash(img: img)
|
||||
let res = await image_upload.start(media: media, uploader: uploader, keypair: damus_state.keypair)
|
||||
|
||||
switch res {
|
||||
case .success(let url):
|
||||
guard let url = URL(string: url) else {
|
||||
self.error = "Error uploading image :("
|
||||
return false
|
||||
}
|
||||
let blurhash = await blurhash
|
||||
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)
|
||||
uploadedMedias.append(uploadedMedia)
|
||||
return true
|
||||
|
||||
case .failed(let error):
|
||||
if let error {
|
||||
self.error = error.localizedDescription
|
||||
} else {
|
||||
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) {
|
||||
Button(NSLocalizedString("Upload", comment: "Button to proceed with uploading."), role: .none) {
|
||||
for media in preUploadedMedia {
|
||||
if let mediaToUpload = generateMediaUpload(media) {
|
||||
self.handle_upload(media: mediaToUpload)
|
||||
Task {
|
||||
for media in preUploadedMedia {
|
||||
if let mediaToUpload = generateMediaUpload(media) {
|
||||
await self.handle_upload(media: mediaToUpload)
|
||||
}
|
||||
}
|
||||
}
|
||||
self.attach_media = false
|
||||
|
||||
Reference in New Issue
Block a user