diff --git a/src/views/candidature-conseiller/CandidatureConseiller.css b/src/views/candidature-conseiller/CandidatureConseiller.css index d091151..430a0c0 100644 --- a/src/views/candidature-conseiller/CandidatureConseiller.css +++ b/src/views/candidature-conseiller/CandidatureConseiller.css @@ -8,7 +8,7 @@ width: 100%; } -.cc-section legend + * { +.cc-section legend+* { clear: left; } @@ -37,3 +37,7 @@ display: flex; justify-content: center; } + +html { + scroll-behavior: smooth; +} diff --git a/src/views/candidature-conseiller/useApiAdmin.js b/src/views/candidature-conseiller/useApiAdmin.js index 3de4f1c..b7350c3 100644 --- a/src/views/candidature-conseiller/useApiAdmin.js +++ b/src/views/candidature-conseiller/useApiAdmin.js @@ -33,6 +33,21 @@ export const useApiAdmin = () => { } }; + const creerCandidatureCoordinateur = async structureData => { + const baseUrl = import.meta.env.VITE_APP_API_URL; + const requestOptions = { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: structureData + }; + + try { + return await fetch(`${baseUrl}/candidature-structure-coordinateur`, requestOptions); + } catch (error) { + return error; + } + }; + const convertValueToBoolean = (conseillerData, key) => { conseillerData[key] = conseillerData[key] === 'on' || conseillerData[key] === 'oui'; }; @@ -62,7 +77,7 @@ export const useApiAdmin = () => { convertValueToBoolean(conseillerData, 'estEnFormation'); convertValueToBoolean(conseillerData, 'estDiplomeMedNum'); convertValueToBoolean(conseillerData, 'aUneExperienceMedNum'); - const codePostal = conseillerData.lieuHabitation.split(' ')?.[0]; + const codePostal = conseillerData.lieuHabitation.match(/\d{5}/)?.[0]; await handleInformationsVille(conseillerData, codePostal); delete conseillerData.lieuHabitation; delete conseillerData['g-recaptcha-response']; @@ -108,9 +123,23 @@ export const useApiAdmin = () => { return JSON.stringify(structureData); }; + const buildCoordinateurData = async formData => { + const coordinateurData = Object.fromEntries(formData); + handleContact(coordinateurData); + handleInformationsStructure(coordinateurData); + await handleAdresse(coordinateurData); + convertValueToBoolean(coordinateurData, 'aIdentifieCoordinateur'); + convertValueToBoolean(coordinateurData, 'confirmationEngagement'); + delete coordinateurData['g-recaptcha-response']; + return JSON.stringify(coordinateurData); + }; + return { buildConseillerData, buildStructureData, + buildCoordinateurData, creerCandidatureConseiller, - creerCandidatureStructure }; + creerCandidatureStructure, + creerCandidatureCoordinateur, + }; }; diff --git a/src/views/candidature-conseiller/useGeoApi.js b/src/views/candidature-conseiller/useGeoApi.js index 68a5b32..d1d4aff 100644 --- a/src/views/candidature-conseiller/useGeoApi.js +++ b/src/views/candidature-conseiller/useGeoApi.js @@ -15,7 +15,7 @@ export const useGeoApi = () => { }; const getVilleParCode = async codePostal => { - const url = `${baseUrl.toString()}&code=${codePostal}`; + const url = `${baseUrl.toString()}&codePostal=${codePostal}`; const ville = await fetch(url); return await ville.json(); }; diff --git a/src/views/candidature-coordinateur/BesoinEnCoordinateur.jsx b/src/views/candidature-coordinateur/BesoinEnCoordinateur.jsx index ad831ad..d399063 100644 --- a/src/views/candidature-coordinateur/BesoinEnCoordinateur.jsx +++ b/src/views/candidature-coordinateur/BesoinEnCoordinateur.jsx @@ -13,22 +13,22 @@ export default function BesoinEnCoordinateur() { Avez-vous déjà identifié un candidat pour le poste de coordinateur de conseiller numérique ?*
Si oui, merci d’inviter ce candidat à s’inscrire sur la plateforme Conseiller numérique
-Le coordinateur*
-À partir de quand êtes vous prêt à accueillir votre coordinateur ?*
-Les champs avec * sont obligatoires.
-