import { Button, Card, Col, Form, Input, notification } from "antd"; import { LockOutlined } from "@ant-design/icons"; import React from "react"; import { useTranslation } from "react-i18next"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; import { updateUserDetails } from "../../redux/user/user.actions"; import { selectCurrentUser } from "../../redux/user/user.selectors"; import { logImEXEvent, updateCurrentPassword, } from "../../firebase/firebase.utils"; import LayoutFormRow from "../layout-form-row/layout-form-row.component"; const mapStateToProps = createStructuredSelector({ currentUser: selectCurrentUser, }); const mapDispatchToProps = (dispatch) => ({ updateUserDetails: (userDetails) => dispatch(updateUserDetails(userDetails)), }); export default connect( mapStateToProps, mapDispatchToProps )(function ProfileMyComponent({ currentUser, updateUserDetails }) { const { t } = useTranslation(); const handleFinish = (values) => { logImEXEvent("profile_update"); updateUserDetails({ displayName: values.displayName, photoURL: values.photoURL, }); }; const handleChangePassword = async ({ password }) => { logImEXEvent("password_update"); try { await updateCurrentPassword(password); notification.success({ message: t("user.successess.passwordchanged"), }); } catch (error) { notification.error({ message: error.message, }); } }; return ( <>