Viewing File: /home/ubuntu/vedadeals-frontend-base/src/components/Auth/ForgotPassword.jsx
import React, { useEffect, useState } from "react";
import { Container, Row, Col, Form, Image, Button } from "react-bootstrap";
import { Link, useParams } from "react-router-dom";
import "./Auth.css";
import { Formik, Form as FORM, Field, ErrorMessage } from "formik";
import * as Yup from "yup";
import { withTranslation, useTranslation } from "react-multi-lang";
import { connect } from "react-redux";
import { forgotPasswordStart } from "../store/actions/UserAction";
const ForgotPassword = (props) => {
const t = useTranslation();
const validationSchema = Yup.object().shape({
email: Yup.string().email(t("invalid_email")).required(t("required")),
});
const handleSubmit = (values) => {
props.dispatch(forgotPasswordStart(values));
};
return (
<>
<div className="login-sec reset-password-sec">
<Container>
<Row className="align-items-center justify-content-center g-4">
<Col xl={5} md={12} lg={5} className="resp-mrg-btm-xs">
<div className="login-right-sec">
<div className="login-img mobile-img mb-3">
<Image
src={
window.location.origin + "/images/login-img.png"
}
type="image/png"
/>
</div>
<div className="login-content">
{/* <h4>{t("new_customer")}</h4>
<p>{t("login_text")}</p> */}
<Link to="/register" className="wishlist-btn">
{t("create_account")}
</Link>
</div>
</div>
</Col>
<Col xl={5} md={12} lg={7}>
<div className="login-form">
<h3>{t("forgot_password")}</h3>
<p>{t("password_reset_mail")}</p>
<Formik
initialValues={{
email: "",
}}
validationSchema={validationSchema}
onSubmit={(values) => handleSubmit(values)}
>
<FORM>
<div className="required-content">
<p>{t("required_fields")}*</p>
</div>
<Form.Group className="mb-3" controlId="formBasicEmail">
<Form.Label>{t("email")}*</Form.Label>
<Field
type="email"
className="form-control"
name="email"
placeholder={t("email_placeholder")}
/>
<ErrorMessage
component={"div"}
name="email"
className="text-danger"
/>
</Form.Group>
<div className="login-btn default-btn-sec reset-btn">
<Button
className="default-btn"
type="submit"
disabled={props.sendForgotPassword.buttonDisable}
>
{props.sendForgotPassword.loadingButtonContent
? props.sendForgotPassword.loadingButtonContent
: t("submit")}
</Button>
<span>{t("or")}</span>
<Link to="/login">{t("cancel")}</Link>
</div>
</FORM>
</Formik>
</div>
</Col>
</Row>
</Container>
</div>
</>
);
};
const mapStateToPros = (state) => ({
sendForgotPassword: state.users.forgotPassword,
});
function mapDispatchToProps(dispatch) {
return { dispatch };
}
export default connect(
mapStateToPros,
mapDispatchToProps
)(withTranslation(ForgotPassword));
Back to Directory
File Manager