From 354c9ed43c7641b484b9f80617672ba9abb512df Mon Sep 17 00:00:00 2001 From: Pierre Ferreira Date: Mon, 4 Dec 2023 16:07:11 +0100 Subject: [PATCH] =?UTF-8?q?cr=C3=A9ation=20de=20la=20gestion=20de=20modifi?= =?UTF-8?q?cation=20de=20mdp,=20elle=20ne=20marche=20qu'avec=20'coucou'=20?= =?UTF-8?q?mais=20il=20faut=20faire=20la=20gestion=20avec=20la=20bdd=20(ba?= =?UTF-8?q?ptou=20aled)=20:boom:?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cryptide_project/src/Pages/Profile.css | 3 + cryptide_project/src/Pages/Profile.tsx | 170 +++++++++++++++++- cryptide_project/src/server/db/socialgraph.db | Bin 28672 -> 28672 bytes 3 files changed, 170 insertions(+), 3 deletions(-) diff --git a/cryptide_project/src/Pages/Profile.css b/cryptide_project/src/Pages/Profile.css index 3090ae4..3f183ed 100644 --- a/cryptide_project/src/Pages/Profile.css +++ b/cryptide_project/src/Pages/Profile.css @@ -46,6 +46,9 @@ border-radius: 15px; } +.pseudoDisplay{ + margin: 0px !important; +} .username-display{ display: flex; diff --git a/cryptide_project/src/Pages/Profile.tsx b/cryptide_project/src/Pages/Profile.tsx index fabdfbf..35f5dbf 100644 --- a/cryptide_project/src/Pages/Profile.tsx +++ b/cryptide_project/src/Pages/Profile.tsx @@ -67,7 +67,95 @@ const Profile = () => { // Désactiver le mode d'édition setEditingUsername(false); }; + + + //* Gestion de la modification du mot de passe : + + // Modal de modification du mot de passe + const [showPasswordModal, setShowPasswordModal] = useState(false); + const [showWrongPassword, setShowWrongPassword] = useState(false); + const [showCorrectPassword, setShowCorrectPassword] = useState(false); + + // Etat du mot de passe + const [oldPassword, setOldPassword] = useState(''); + const [newPassword, setNewPassword] = useState(''); + + // Etat de l'étape + const [step, setStep] = useState(1); + const [DisableNextStep, setDisableNextStep] = useState(true); + + // Etat du nouveau mot de passe + const [confirmNewPassword, setConfirmNewPassword] = useState(''); + + const handleShowPasswordModal = () => { + setShowPasswordModal(true); + }; + const handleClosePasswordModal = () => { + setShowPasswordModal(false); + }; + + //* Vérification de l'ancien mot de passe : + const handleConfirmedAuth = () => { + + // Vérification de l'ancien mot de passe + // if (oldPassword === user?.password) { + if (oldPassword === 'coucou') { //! pour l'instant c'est 'coucou', mais il faudra mettre le vrai mdp. + console.log('Ancien mot de passe correct.'); + setShowWrongPassword(false); + setShowCorrectPassword(true); + setDisableNextStep(false); + } + else{ + console.log('Ancien mot de passe incorrect.'); + setShowWrongPassword(true); + setShowCorrectPassword(false); + setDisableNextStep(true); + } + } + + const handleChangeStep = () => { + setShowWrongPassword(false); + setShowCorrectPassword(false); + setStep(2) + } + + //* Modification du mot de passe : + const handlePasswordChange = () => { + //Effectuer la modification du mot de passe + // sinon, affichez une erreur + if (newPassword === confirmNewPassword) { + // SessionService.UpdatePassword(user?.pseudo, newPassword); + // user.password = newPassword; + console.log('Changement de mot de passe'); + setShowPasswordModal(false); + setTimeout(async () => { + setShowPasswordModal(false); + }, 3000); + } else { + //les mots de passe ne correspondent pas + console.error("Les mots de passe ne correspondent pas."); + setShowWrongPassword(true); + setTimeout(async () => { + setShowWrongPassword(false); + }, 3000); + } + }; + + //@ts-ignore + const handleConfirmNewPasswordChange = (e) => { + setConfirmNewPassword(e.target.value); + }; + + //@ts-ignore + const handleOldPasswordChange = (e) => { + setOldPassword(e.target.value); + }; + + //@ts-ignore + const handleNewPasswordChange = (e) => { + setNewPassword(e.target.value); + }; //* Gestion Modal de suppression : const [showDeleteModal, setShowDeleteModal] = useState(false); @@ -116,7 +204,6 @@ const Profile = () => { }, 3000); } }; - return ( <> @@ -143,7 +230,7 @@ const Profile = () => { ) : (
-

{user?.pseudo}

+

{user?.pseudo}

@@ -152,16 +239,93 @@ const Profile = () => { }
{!editingUsername ? ( - + ) : ( Vous êtes en mode "édition". )} + + {/* Modal de modification de mdp */} + + + {`Étape ${step}`} + + + {step === 1 && ( + <> +

Entrez votre ancien mot de passe :

+ + + + )} + + {step === 2 && ( + <> +

Entrez votre nouveau mot de passe :

+ +
+ +

Confirmez votre nouveau mot de passe :

+ + + )} + + {showWrongPassword && ( + + Ancien mot de passe incorrect. + + )} + {showCorrectPassword && ( + + Ancien mot de passe correct. + + )} +
+ + {step === 1 && ( + + )} + + {step === 2 ? ( + + ) : ( + + )} + +
+ +
<> + {!editingUsername && ( + ) } + {/* Modal de suppression */} Confirmation de suppression diff --git a/cryptide_project/src/server/db/socialgraph.db b/cryptide_project/src/server/db/socialgraph.db index e1f9460d9c7a89434b96f7f6a613adbf4efa89e8..9d9edd5cb064c69a20f6a3ba7d3bab72f0e4de64 100644 GIT binary patch delta 19 acmZp8z}WDBae_2s-$WT_#=eaS3-SR>>Ia+v delta 19 acmZp8z}WDBae_2s!9*En#)6Fr3-SR=C