import React, { useState } from "react"; import PropTypes from "prop-types"; import { useFormik } from "formik"; import { useTranslation } from "react-i18next"; import { useDispatch } from "react-redux"; import DiligLogo from "../../assets/images/logo_horizontal_black.png"; import * as Yup from "yup"; // import i18next from 'i18next'; import HrLogo from "../../assets/images/hrcenter.png"; import { Box, Container, Typography, Button, InputAdornment, IconButton, TextField, Link, Grid, } from "@mui/material"; import { Visibility, VisibilityOff } from "@mui/icons-material"; import Backdrop from "../../components/MUI/BackdropComponent"; import { BASE_PAGE } from "../../constants/pages"; import { NavLink } from "react-router-dom"; import { resetPassword } from "../../store/actions/login/loginActions"; function getQueryVariable(variable) { var query = window.location.search.substring(1); var vars = query.split("&"); for (var i = 0; i < vars.length; i++) { var pair = vars[i].split("="); if (pair[0] == variable) { return pair[1]; } } return false; } const ResetPasswordPage = ({ history }) => { const dispatch = useDispatch(); const { t } = useTranslation(); const [showPassword, setShowPassword] = useState(false); const [showConfirmPassword, setShowConfirmPassword] = useState(false); const handleClickShowPassword = () => setShowPassword(!showPassword); const handleMouseDownPassword = () => setShowPassword(!showPassword); const handleClickShowConfirmPassword = () => setShowConfirmPassword(!showConfirmPassword); const handleMouseDownConfirmPassword = () => setShowConfirmPassword(!showConfirmPassword); const resetPasswordValidationSchema = Yup.object().shape({ password: Yup.string().required(t("login.passwordRequired")), confirmPassword: Yup.string() .required(t("login.passwordRequired")) .oneOf([Yup.ref("password"), null], t("login.passwordDontMatch")), }); const handleSubmit = (values) => { const password = values.password; // const confirmPassword = values.confirmPassword; // if (password === confirmPassword) { const code = getQueryVariable("token"), email = getQueryVariable("email"); dispatch( resetPassword({ code, email, password, handleApiResponseSuccess, }) ); } }; const handleApiResponseSuccess = () => { history.push({ pathname: BASE_PAGE, state: { from: history.location.pathname, }, }); }; const formik = useFormik({ initialValues: { password: "", confirmPassword: "", }, validationSchema: resetPasswordValidationSchema, onSubmit: handleSubmit, validateOnBlur: true, enableReinitialize: true, }); return (
{t("login.resetYourPassword")} {t("login.resetYourPasswordHelpText")} {showPassword ? : } ), }} /> {showConfirmPassword ? : } ), }} /> {t("login.forgotYourPasswordBackLink")}
); }; ResetPasswordPage.propTypes = { history: PropTypes.shape({ replace: PropTypes.func, push: PropTypes.func, location: PropTypes.shape({ pathname: PropTypes.string, }), }), }; export default ResetPasswordPage;