Repository URL to install this package:
|
Version:
0.0.15 ▾
|
import * as tslib_1 from "tslib";
import * as React from 'react';
import { observer } from 'xmobx/mobx-react';
import { oneRouter } from '@skava/router';
import { SignInModalBox } from './SignInFlow';
import RegisterUser from './RegisterFlow';
import { ResetFlow as ResetModal, RenderResetPassword, resetStoreContainer, ResetPasswordByPhoneOrEmail } from './ResetFlow';
import { stepConfig } from './fixture';
import { authenticationSwitchContainer } from './container';
let AuthenticationSwitch = class AuthenticationSwitch extends React.Component {
constructor() {
super(...arguments);
this.handleCloseAndReset = () => {
this.props.onClose();
authenticationSwitchContainer.goToSignin();
};
this.renderNextStep = currentView => {
const resetFlowStep = currentView === stepConfig.resetPassword && oneRouter.get('stepvalue')
? oneRouter.get('stepvalue')
: '';
const { onClose } = this.props;
const { gotoResetOption } = resetStoreContainer;
const { goToSignin, gotoNextStep, } = authenticationSwitchContainer;
switch (resetFlowStep) {
case 2:
return (React.createElement(ResetPasswordByPhoneOrEmail, { onSecurityCode: gotoResetOption, onResetCode: gotoResetOption, onNext: gotoNextStep }));
case 3:
return React.createElement(RenderResetPassword, { isFromSecurityCode: true });
default:
return React.createElement(ResetModal, { onClose: onClose, onBack: goToSignin, onNext: gotoNextStep });
}
};
this.renderRegister = () => {
const { onClose } = this.props;
const { goToSignin, gotoFinal, } = authenticationSwitchContainer;
return React.createElement(RegisterUser, { onClose: onClose, onBack: goToSignin, onNext: gotoFinal });
};
this.renderResetPassword = () => {
return React.createElement(RenderResetPassword, { isFromSecurityCode: true });
};
this.renderSignInModal = () => {
const { gotoRegister, gotoReset, } = authenticationSwitchContainer;
const { onClose } = this.props;
return React.createElement(SignInModalBox, { onClose: onClose, onRegister: gotoRegister, onReset: gotoReset });
};
}
render() {
// @todo split out
const fallbackStep = this.props.viewPage || authenticationSwitchContainer.currentStep;
const currentView = oneRouter.has('step')
? oneRouter.get('step') || fallbackStep
: fallbackStep;
switch (currentView) {
case 'register':
return this.renderRegister();
case 'resetPassword':
return this.renderNextStep(currentView);
case 'resetPasswordLink':
return this.renderResetPassword();
case 'signin':
return this.renderSignInModal();
default:
return '';
}
}
};
AuthenticationSwitch = tslib_1.__decorate([
observer
], AuthenticationSwitch);
export { AuthenticationSwitch };
export default AuthenticationSwitch;
//# sourceMappingURL=AuthenticationSwitch.js.map