fix: Ajout d'un champ is_required pour les documents parents facultatifs

This commit is contained in:
N3WT DE COMPET
2025-05-09 09:38:47 +02:00
parent 6d805940fe
commit 5866427544
9 changed files with 61 additions and 21 deletions

View File

@ -73,7 +73,7 @@ export default function InscriptionFormShared({
const [uploadedFiles, setUploadedFiles] = useState([]);
const [schoolFileTemplates, setSchoolFileTemplates] = useState([]);
const [parentFileTemplates, setParentFileTemplates] = useState([]);
const [currentPage, setCurrentPage] = useState(1);
const [currentPage, setCurrentPage] = useState(6);
const [isPage1Valid, setIsPage1Valid] = useState(false);
const [isPage2Valid, setIsPage2Valid] = useState(false);
@ -131,13 +131,14 @@ export default function InscriptionFormShared({
}, [schoolFileTemplates]);
useEffect(() => {
// Vérifier si tous les parentFileTemplates ont leur champ "file" différent de null
const allUploaded = parentFileTemplates.every(
(template) => template.file !== null
);
// Vérifier si tous les documents avec is_required = true ont leur champ "file" différent de null
const allRequiredUploaded = parentFileTemplates
.filter((template) => template.is_required) // Ne garder que les documents requis
.every((template) => template.file !== null); // Vérifier que chaque fichier requis est uploadé
// Mettre à jour isPage6Valid en fonction de cette condition
setIsPage6Valid(allUploaded);
setIsPage6Valid(allRequiredUploaded);
console.log(allRequiredUploaded);
}, [parentFileTemplates]);
const handleTemplateSigned = (index) => {
@ -659,8 +660,7 @@ export default function InscriptionFormShared({
(currentPage === 2 && !isPage2Valid) ||
(currentPage === 3 && !isPage3Valid) ||
(currentPage === 4 && !isPage4Valid) ||
(currentPage === 5 && !isPage5Valid) ||
(currentPage === 6 && !isPage6Valid)
(currentPage === 5 && !isPage5Valid)
? 'bg-gray-300 text-gray-700 cursor-not-allowed'
: 'bg-emerald-500 text-white hover:bg-emerald-600'
}`}
@ -669,8 +669,7 @@ export default function InscriptionFormShared({
(currentPage === 2 && !isPage2Valid) ||
(currentPage === 3 && !isPage3Valid) ||
(currentPage === 4 && !isPage4Valid) ||
(currentPage === 5 && !isPage5Valid) ||
(currentPage === 6 && !isPage6Valid)
(currentPage === 5 && !isPage5Valid)
}
primary
name="Next"
@ -682,7 +681,12 @@ export default function InscriptionFormShared({
e.preventDefault();
handleSubmit(e);
}}
className="px-4 py-2 bg-emerald-500 text-white rounded-md shadow-sm hover:bg-emerald-600 focus:outline-none"
className={`px-4 py-2 rounded-md shadow-sm focus:outline-none ${
currentPage === 6 && !isPage6Valid
? 'bg-gray-300 text-gray-700 cursor-not-allowed'
: 'bg-emerald-500 text-white hover:bg-emerald-600'
}`}
disabled={currentPage === 6 && !isPage6Valid}
primary
/>
)}