import React from 'react'; import PropTypes from 'prop-types'; import { withTranslation } from 'react-i18next'; import { toastSuccess, toastError } from '../../util/apiNotification'; import { createSubscribedElement } from '../UnstatedUtils'; import AppContainer from '../../services/AppContainer'; import PersonalContainer from '../../services/PersonalContainer'; class PasswordSettings extends React.Component { constructor(appContainer) { super(); this.appContainer = appContainer; this.state = { oldPassword: '', newPassword: '', newPasswordConfirm: '', }; this.onClickSubmit = this.onClickSubmit.bind(this); this.onChangeOldPassword = this.onChangeOldPassword.bind(this); } async onClickSubmit() { const { t } = this.props; try { // TODO GW-1136 create apiV3 for updating password toastSuccess(t('toaster.update_successed', { target: t('personal_settings.update_password') })); } catch (err) { toastError(err); } } onChangeOldPassword(oldPassword) { this.setState({ oldPassword }); } onChangeNewPassword(newPassword) { this.setState({ newPassword }); } onChangeNewPasswordConfirm(newPasswordConfirm) { this.setState({ newPasswordConfirm }); } render() { const { t, personalContainer } = this.props; return (

{t('personal_settings.update_password')}

{ this.onChangeOldPassword(e.target.value) }} />
{ this.onChangeNewPassword(e.target.value) }} />
{ this.onChangeNewPasswordConfirm(e.target.value) }} />

{t('page_register.form_help.password') }

); } } const PasswordSettingsWrapper = (props) => { return createSubscribedElement(PasswordSettings, props, [AppContainer, PersonalContainer]); }; PasswordSettings.propTypes = { t: PropTypes.func.isRequired, // i18next appContainer: PropTypes.instanceOf(AppContainer).isRequired, personalContainer: PropTypes.instanceOf(PersonalContainer).isRequired, }; export default withTranslation()(PasswordSettingsWrapper);