diff --git a/mobile/app/pending-review.tsx b/mobile/app/pending-review.tsx index 97ab4df..cc4ceb6 100644 --- a/mobile/app/pending-review.tsx +++ b/mobile/app/pending-review.tsx @@ -76,20 +76,19 @@ export function PendingReviewScreen() { { text: 'Annuler', style: 'cancel', onPress: () => navigation.goBack() }, { text: 'Uploader', - onPress: async () => { + onPress: async () => { try { + const pdfName = `${batch?.name ?? 'document'}.pdf`; + const pdfUriClean = pdfUri.startsWith('file://') ? pdfUri : 'file://' + pdfUri; await upload.mutateAsync([ - { - uri: 'file://' + pdfUri, - type: 'application/pdf', - name: `${batch?.name ?? 'document'}.pdf`, - }, + { uri: pdfUriClean, type: 'application/pdf', name: pdfName }, ]); Alert.alert('Succès', 'PDF uploadé avec succès', [ { text: 'OK', onPress: () => navigation.navigate('Home' as never) }, ]); - } catch { - Alert.alert('Erreur', "Échec de l'upload du PDF"); + } catch (e: any) { + const msg = e?.message || e?.toString() || "Erreur inconnue"; + Alert.alert('Erreur', `Échec de l'upload du PDF: ${msg}`); } }, }, diff --git a/mobile/hooks/useUpload.ts b/mobile/hooks/useUpload.ts index 3d985db..10e81f8 100644 --- a/mobile/hooks/useUpload.ts +++ b/mobile/hooks/useUpload.ts @@ -35,7 +35,10 @@ export function useUpload() { throw new UploadError(file.name, result.status, serverMessage, serverCode); } - return JSON.parse(result.body) as UploadResult; + const body = JSON.parse(result.body); + const items = body.data ?? body; + const item = Array.isArray(items) ? items[0] : items; + return item as UploadResult; }) );