diff options
author | Tulio Casagrande <tuliocasagrande@gmail.com> | 2017-04-04 13:14:34 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-04 13:14:34 -0300 |
commit | f70c2827d41d1d805d6446670b861b7abf0761b1 (patch) | |
tree | df266fda0c593a27c568215716d48d9994fbd344 /web-ui/src/account_recovery/new_password_form/new_password_form.js | |
parent | af454c71da106644eee644c4286bbae4788b8e14 (diff) | |
parent | d7914b9b5640c3d85c6230a032180b2e64520bca (diff) |
Merge pull request #1042 from pixelated/login-recovery-code
[#935] Sends user recovery code and password to account recovery endpoint
Diffstat (limited to 'web-ui/src/account_recovery/new_password_form/new_password_form.js')
-rw-r--r-- | web-ui/src/account_recovery/new_password_form/new_password_form.js | 68 |
1 files changed, 47 insertions, 21 deletions
diff --git a/web-ui/src/account_recovery/new_password_form/new_password_form.js b/web-ui/src/account_recovery/new_password_form/new_password_form.js index f1097b0b..4c418900 100644 --- a/web-ui/src/account_recovery/new_password_form/new_password_form.js +++ b/web-ui/src/account_recovery/new_password_form/new_password_form.js @@ -15,39 +15,65 @@ * along with Pixelated. If not, see <http://www.gnu.org/licenses/>. */ +import 'isomorphic-fetch'; import React from 'react'; import { translate } from 'react-i18next'; +import { submitForm } from 'src/common/util'; import InputField from 'src/common/input_field/input_field'; import SubmitButton from 'src/common/submit_button/submit_button'; import BackLink from 'src/common/back_link/back_link'; import './new_password_form.scss'; -export const NewPasswordForm = ({ t, previous }) => ( - <form className='account-recovery-form new-password'> - <img - className='account-recovery-progress' - src='/public/images/account-recovery/step_3.svg' - alt={t('account-recovery.new-password-form.image-description')} - /> - <h1>{t('account-recovery.new-password-form.title')}</h1> - <InputField - type='password' name='new-password' - label={t('account-recovery.new-password-form.input-label1')} - /> - <InputField - type='password' name='confirm-password' - label={t('account-recovery.new-password-form.input-label2')} - /> - <SubmitButton buttonText={t('account-recovery.button-next')} /> - <BackLink text={t('account-recovery.back')} onClick={previous} /> - </form> -); +export class NewPasswordForm extends React.Component { + submitHandler = (event) => { + submitForm(event, '/account-recovery', { + userCode: this.props.userCode, + password: this.state.password, + confirmation: this.state.confirmation + }); + } + + handlePasswordChange = (event) => { + this.setState({ password: event.target.value }); + } + + handlePasswordConfirmationChange = (event) => { + this.setState({ confirmation: event.target.value }); + } + + render() { + const { t, previous } = this.props; + return ( + <form className='account-recovery-form new-password' onSubmit={this.submitHandler}> + <img + className='account-recovery-progress' + src='/public/images/account-recovery/step_3.svg' + alt={t('account-recovery.new-password-form.image-description')} + /> + <h1>{t('account-recovery.new-password-form.title')}</h1> + <InputField + type='password' name='new-password' + label={t('account-recovery.new-password-form.input-label1')} + onChange={this.handlePasswordChange} + /> + <InputField + type='password' name='confirm-password' + label={t('account-recovery.new-password-form.input-label2')} + onChange={this.handlePasswordConfirmationChange} + /> + <SubmitButton buttonText={t('account-recovery.button-next')} /> + <BackLink text={t('account-recovery.back')} onClick={previous} /> + </form> + ); + } +} NewPasswordForm.propTypes = { t: React.PropTypes.func.isRequired, - previous: React.PropTypes.func.isRequired + previous: React.PropTypes.func.isRequired, + userCode: React.PropTypes.string.isRequired }; export default translate('', { wait: true })(NewPasswordForm); |