diff --git a/src/pages/Profile/components/SettingsModal/SettingsModal.tsx b/src/pages/Profile/components/SettingsModal/SettingsModal.tsx index 1f0df8b..c31a3b5 100644 --- a/src/pages/Profile/components/SettingsModal/SettingsModal.tsx +++ b/src/pages/Profile/components/SettingsModal/SettingsModal.tsx @@ -11,6 +11,7 @@ import ExportCalendarBtn from "../../../../components/ExportCalendarBtn/ExportBt import { useNavigate } from "react-router"; import toggleEmailNotifications from "../../../../utils/users/toggleEmailNotifications"; import toggleWebNotifications from "../../../../utils/users/toggleWebNotifications"; +import updateUserPassword from "../../../../utils/users/updateUserPassword"; interface TaskType { @@ -55,6 +56,10 @@ export default function SettingsModal() { const [emailNotifications, setEmailNotifications] = useState(user?.email_notifications ?? 0); const [webNotifications, setWebNotifications] = useState(user?.web_notifications ?? 0); + const [currentPassword, setCurrentPassword] = useState(''); + const [newPassword, setNewPassword] = useState(''); + const [newPasswordConfirm, setNewPasswordConfirm] = useState(''); + const handleLogout = (): void => { logout(); }; @@ -104,6 +109,17 @@ export default function SettingsModal() { } }; + const handlePasswordUpdate = async () => { + try { + await updateUserPassword(currentPassword, newPassword, newPasswordConfirm); + setCurrentPassword(''); + setNewPassword(''); + setNewPasswordConfirm(''); + } catch (err) { + console.error(err); + } + }; + return ( <> @@ -158,6 +174,26 @@ export default function SettingsModal() { + +
+

Changer le mot de passe

+
+

Mot de passe actuel

+ setCurrentPassword(e.target.value)} type="password" /> +
+
+

Nouveau mot de passe

+ setNewPassword(e.target.value)} type="password" /> +
+
+

Confirmer le nouveau mot de passe

+ setNewPasswordConfirm(e.target.value)} type="password" /> +
+ +
+

Apparence