Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/packages / features / Authentication / AuthenticationSwitch.js
Size: Mime:
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