diff --git a/summer2024-frontend/src/views/CreatePostView.vue b/summer2024-frontend/src/views/CreatePostView.vue index dabb974..d41a03c 100644 --- a/summer2024-frontend/src/views/CreatePostView.vue +++ b/summer2024-frontend/src/views/CreatePostView.vue @@ -46,6 +46,13 @@ const formStatus = ref({ errorMsg: '' }) +function formError(message) { + formStatus.value.sending = false + formStatus.value.error = true + formStatus.value.errorMsg = message + formContainer.value.classList.remove('invisible') +} + const onSubmit = form.handleSubmit(async (values) => { if (!authStore.isAuth) return @@ -65,14 +72,16 @@ const onSubmit = form.handleSubmit(async (values) => { 'X-admin-token': authStore.adminToken }, body: JSON.stringify({ filename: file.file.name }) + }).catch((e) => { + console.log('Contact API asset failed: ' + e) + formError('Erreur à la préparation de l\'envoi d\'un média : ' + e) }) + if (!response) + return if (!response.ok) { console.log('Contact API asset failed: ' + response.statusText + '\n\n' + response.body) - formStatus.value.sending = false - formStatus.value.error = true - formStatus.value.errorMsg = 'Une erreur est survenue à la préparation de l\'envoi d\'un média : ' + response.statusText - formContainer.value.classList.remove('invisible') + formError('Erreur à la préparation de l\'envoi d\'un média : ' + response.statusText) return } const responseBody = await response.json() @@ -88,13 +97,15 @@ const onSubmit = form.handleSubmit(async (values) => { const s3Response = await fetch(`${S3_ENDPOINT}/${S3_BUCKET}/`, { method: 'POST', body: mediaUploadFormData + }).catch((e) => { + console.log('Erreur envoi S3: ' + e) + formError('Une erreur est survenue pendant l\'envoi d\'un média : ' + e) }) + if (!s3Response) + return if (!s3Response.ok) { console.log('Envoi media S3 failed: ' + s3Response.statusText + '\n\n' + s3Response.body) - formStatus.value.sending = false - formStatus.value.error = true - formStatus.value.errorMsg = 'Une erreur est survenue pendant l\'envoi d\'un média : ' + s3Response.statusText - formContainer.value.classList.remove('invisible') + formError('Une erreur est survenue pendant l\'envoi d\'un média : ' + s3Response.statusText) return } @@ -115,13 +126,15 @@ const onSubmit = form.handleSubmit(async (values) => { country: values.country, assets: assets }) + }).catch((e) => { + console.log('Erreur envoi post : ' + e) + formError('Une erreur est survenue pendant l\'envoi du post : ' + e) }) + if (!response) + return if (!response.ok) { console.log('POST post API failed: ' + response.statusText + '\n\n' + response.body) - formStatus.value.sending = false - formStatus.value.error = true - formStatus.value.errorMsg = 'Une erreur est survenue lors de l\'envoi du poste : ' + response.statusText - formContainer.value.classList.remove('hidden') + formError('Une erreur est survenue lors de l\'envoi du poste : ' + response.statusText) return }