Removes duplicated code in wrapper component, and redirects users after signup.
This commit is contained in:
parent
44cab04157
commit
ec88e02ad4
|
@ -13,7 +13,6 @@ import Button from 'core-components/button';
|
|||
import Message from 'core-components/message';
|
||||
import Icon from 'core-components/icon';
|
||||
import ModalContainer from 'app-components/modal-container';
|
||||
import MainSignUpWidget from 'app/main/main-signup/main-signup-widget';
|
||||
import InviteUserWidget from 'app/admin/panel/users/invite-user-widget';
|
||||
|
||||
class AdminPanelListUsers extends React.Component {
|
||||
|
|
|
@ -1,7 +1,5 @@
|
|||
import React from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
|
||||
import Widget from 'core-components/widget';
|
||||
import MainSignUpWidget from 'app/main/main-signup/main-signup-widget';
|
||||
|
||||
class MainSignUpPage extends React.Component {
|
||||
|
@ -9,70 +7,10 @@ class MainSignUpPage extends React.Component {
|
|||
render() {
|
||||
return (
|
||||
<div className="main-signup-page">
|
||||
<MainSignUpWidget {...this.props} className="col-md-6 col-md-offset-3" />
|
||||
<MainSignUpWidget className="col-md-6 col-md-offset-3" />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
renderMessage() {
|
||||
switch (this.state.message) {
|
||||
case 'success':
|
||||
return <Message type="success">{i18n('SIGNUP_SUCCESS')}</Message>;
|
||||
case 'fail':
|
||||
return <Message type="error">{i18n('EMAIL_EXISTS')}</Message>;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
getFormProps() {
|
||||
return {
|
||||
loading: this.state.loading,
|
||||
className: 'signup-widget__form',
|
||||
onSubmit: this.onSignupFormSubmit.bind(this)
|
||||
};
|
||||
}
|
||||
|
||||
getInputProps(password) {
|
||||
return {
|
||||
className: 'signup-widget__input',
|
||||
fieldProps: {
|
||||
size: 'medium',
|
||||
password: password
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
onSignupFormSubmit(formState) {
|
||||
const captcha = this.refs.captcha.getWrappedInstance();
|
||||
|
||||
if (!captcha.getValue()) {
|
||||
captcha.focus();
|
||||
} else {
|
||||
this.setState({
|
||||
loading: true
|
||||
});
|
||||
|
||||
API.call({
|
||||
path: '/user/signup',
|
||||
data: _.extend({captcha: captcha.getValue()}, formState)
|
||||
}).then(this.onSignupSuccess.bind(this)).catch(this.onSignupFail.bind(this));
|
||||
}
|
||||
}
|
||||
|
||||
onSignupSuccess() {
|
||||
this.setState({
|
||||
loading: false,
|
||||
message: 'success'
|
||||
});
|
||||
}
|
||||
|
||||
onSignupFail() {
|
||||
this.setState({
|
||||
loading: false,
|
||||
message: 'fail'
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
export default MainSignUpPage;
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
import React from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
import _ from 'lodash';
|
||||
import classNames from 'classnames';
|
||||
|
||||
import i18n from 'lib-app/i18n';
|
||||
import API from 'lib-app/api-call';
|
||||
import history from 'lib-app/history';
|
||||
|
||||
import Captcha from 'app/main/captcha';
|
||||
import SubmitButton from 'core-components/submit-button';
|
||||
|
@ -17,7 +17,6 @@ import Header from 'core-components/header';
|
|||
class MainSignUpWidget extends React.Component {
|
||||
|
||||
static propTypes = {
|
||||
onSuccess: React.PropTypes.func,
|
||||
className: React.PropTypes.string
|
||||
};
|
||||
|
||||
|
@ -153,6 +152,8 @@ class MainSignUpWidget extends React.Component {
|
|||
this.setState({
|
||||
loading: false,
|
||||
message: 'success'
|
||||
}, () => {
|
||||
setTimeout(() => {history.push('/check-ticket')}, 2000);
|
||||
});
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue