import { useMemo, useState } from 'react'; import { useNavigate } from 'react-router-dom'; import { toast } from 'react-toastify'; import BackendError from '../../components/BackendError'; import TextInput from '../../components/Common/TextInput'; import { useAuth } from '../../context/AuthContext'; import { IUserUpdatePassword } from '../../utils/models'; export function ChangePassword() { const { updatePassword, error, loading } = useAuth(); const [oldPassword, setOldPassword] = useState(''); const [newPassword, setNewPassword] = useState(''); const [newPasswordRepeat, setNewPasswordRepeat] = useState(''); const navigate = useNavigate(); const colorClass = useMemo(() => { return !!newPassword && !!newPasswordRepeat && newPassword !== newPasswordRepeat ? 'bg-red-500' : ''; }, [newPassword, newPasswordRepeat]); function handleSubmit(event: React.FormEvent) { event.preventDefault(); if (newPassword !== newPasswordRepeat) { toast.error('Пароли не совпадают'); } else { const data: IUserUpdatePassword = { old_password: oldPassword, new_password: newPassword, }; updatePassword(data, () => {toast.success('Изменения сохранены'); navigate('/login')}); } } return (
setOldPassword(event.target.value)} /> { setNewPassword(event.target.value); }} /> { setNewPasswordRepeat(event.target.value); }} />
{ error && }
)}