import React, { Component } from "react";
import { connect } from "react-redux";
import { Redirect } from "react-router-dom";
import { Dimmer, Grid, Loader, Modal, Step } from "semantic-ui-react";
import {
setCompleteRegistrationStep
} from "../../actions/user/reducer.actions";
import {
USER_INFO_STEP,
CLIENT_OR_PROVIDER_STEP,
COMPLETE_INFORMATION_STEP,
CLIENT,
PROVIDER
} from "../../constants/user.constants";
import ClientOrProviderForm from "./ClientOrProviderForm";
import InitializeClientForm from "./InitializeClientForm";
import InitializeProviderForm from "./InitializeProviderForm";
import InitializeUserInfoForm from "./InitializeUserInfoForm";
class CompleteRegistration extends Component {
onChangeStep = (event, data) => {
event.preventDefault();
this.props.dispatch(setCompleteRegistrationStep(data.step));
};
render() {
const {
userToken,
selfUser,
completeRegistrationCurrentStep,
completeRegistrationMaxStep,
completeRegistrationClientOrProvider
} = this.props;
if (!userToken) return ;
if (Object.keys(selfUser).length === 0)
return ;
if (selfUser.client || selfUser.provider)
return ;
return (
);
}
}
function mapStateToProps(state) {
return {
...state.user,
userToken: state.auth.userToken
};
}
const CompleteRegistrationView = ({
currentStep,
maxStep,
completeRegistrationClientOrProvider,
onChangeStep
}) => (
Complete Registration
USER_INFO_STEP}
active={currentStep === USER_INFO_STEP}
title="Basic User Info"
description="Fill out your user information"
onClick={onChangeStep}
disabled={maxStep < USER_INFO_STEP}
step={USER_INFO_STEP}
/>
CLIENT_OR_PROVIDER_STEP}
active={currentStep === CLIENT_OR_PROVIDER_STEP}
title="Client or Provider"
description="Choose to be a Client or a Provider"
onClick={onChangeStep}
disabled={maxStep < CLIENT_OR_PROVIDER_STEP}
step={CLIENT_OR_PROVIDER_STEP}
/>
COMPLETE_INFORMATION_STEP}
active={currentStep === COMPLETE_INFORMATION_STEP}
title="Complete Information"
description="Fill out the client or provider information"
onClick={onChangeStep}
disabled={maxStep < COMPLETE_INFORMATION_STEP}
step={COMPLETE_INFORMATION_STEP}
/>
{currentStep === USER_INFO_STEP && }
{currentStep === CLIENT_OR_PROVIDER_STEP && }
{currentStep === COMPLETE_INFORMATION_STEP &&
completeRegistrationClientOrProvider === CLIENT &&
}
{currentStep === COMPLETE_INFORMATION_STEP &&
completeRegistrationClientOrProvider === PROVIDER &&
}
);
export default connect(mapStateToProps)(CompleteRegistration);