import {Connector} from '../redux/Connector' import {INewUser} from '@rondo.dev/common' import {ILoginState} from './LoginReducer' import {TStateSelector} from '../redux' import {LoginActions} from './LoginActions' import {RegisterForm} from './RegisterForm' import {bindActionCreators} from 'redux' import {withForm} from './withForm' const defaultCredentials: INewUser = { username: '', password: '', firstName: '', lastName: '', } export class RegisterConnector extends Connector { constructor(protected readonly loginActions: LoginActions) { super() } connect(getLocalState: TStateSelector) { return this.wrap( getLocalState, state => ({ error: state.error, user: state.user, redirectTo: state.redirectTo, }), dispatch => ({ onSubmit: bindActionCreators(this.loginActions.register, dispatch), clearOnSuccess: true, }), withForm(RegisterForm, defaultCredentials), ) } }