From 33f327bd6be3f58db3d4a25f8a4f83b5938f6600 Mon Sep 17 00:00:00 2001 From: Marc-Antoine Manningham <marc-antoine.m@outlook.com> Date: Sat, 30 Nov 2024 13:57:54 -0500 Subject: [PATCH] fix: improve submit --- .../components/forms/AdditionnalInfoForm.tsx | 35 +++++++++++-------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/client/src/components/forms/AdditionnalInfoForm.tsx b/client/src/components/forms/AdditionnalInfoForm.tsx index 74059bb..1ce9c0a 100644 --- a/client/src/components/forms/AdditionnalInfoForm.tsx +++ b/client/src/components/forms/AdditionnalInfoForm.tsx @@ -16,6 +16,9 @@ import { SubmitSuccess } from "../forms-component/SubmitSuccess" import { YesNo } from "../forms-component/YesNo" import DownloadPdf from "../DownloadPdf" function getBase64(file: File): Promise<string> { + if (typeof file == "string") { + return Promise.resolve(file) + } return new Promise((resolve, reject) => { const reader = new FileReader() @@ -27,7 +30,7 @@ function getBase64(file: File): Promise<string> { if (!base64StringSplit) { reject(new Error("Failed to convert file to base64")) } - resolve(base64StringSplit) // Removing the base64 prefix + resolve(base64StringSplit as string) // Removing the base64 prefix } // Event listener for any error @@ -45,26 +48,32 @@ export function AdditionalInfoForm() { const [error, setError] = createSignal<string | null>(null) const [success, setSuccess] = createSignal<string | null>(null) + const [info, setInfo] = createSignal<ParticipantInfo | null>(null) + const handleSubmit: SubmitHandler<ParticipantInfo> = async ( - info, + participant_info, event, ) => { event.preventDefault() - const payload: any = info - console.log(info) + const payload: any = participant_info + console.log(participant_info) payload.food_forms_completed = - (info.food_forms_completed as unknown as string) == "true" + (participant_info.food_forms_completed as unknown as string) == + "true" payload.has_monthly_opus_card = - (info.has_monthly_opus_card as unknown as string) == "true" + (participant_info.has_monthly_opus_card as unknown as string) == + "true" try { - if (info.study_proof) { - payload.study_proof = await getBase64(info.study_proof) + if (participant_info.study_proof) { + payload.study_proof = await getBase64( + participant_info.study_proof, + ) } - if (info.photo) { - payload.photo = await getBase64(info.photo) + if (participant_info.photo) { + payload.photo = await getBase64(participant_info.photo) } - if (info.cv) { - payload.cv = await getBase64(info.cv) + if (participant_info.cv) { + payload.cv = await getBase64(participant_info.cv) } } catch (e) { setError("Erreur lors de la conversion des fichiers") @@ -81,8 +90,6 @@ export function AdditionalInfoForm() { } } - const [info, setInfo] = createSignal<ParticipantInfo | null>(null) - createEffect(async () => { const id = localStorage.getItem("id") if (!id) return -- GitLab