text: import { connect } from 'react-redux';
  import * as actions from '../../../../store/actions';
  import NewAccountModal from './new-account-modal.component';
  
  function mapStateToProps(state) {
    return {
      ...(state.appState.modal.modalState.props || {}),
    };
  }
  
  function mapDispatchToProps(dispatch) {
    return {
      hideModal: () => dispatch(actions.hideModal()),
      createAccount: (newAccountName) => {
        return dispatch(actions.addNewAccount()).then((newAccountAddress) => {
          if (newAccountName) {
            dispatch(actions.setAccountLabel(newAccountAddress, newAccountName));
          }
          return newAccountAddress;
        });
      },
    };
  }
  
  function mergeProps(stateProps, dispatchProps) {
    const { onCreateNewAccount } = stateProps;
    const { createAccount } = dispatchProps;
  
    return {
      ...stateProps,
      ...dispatchProps,
      onSave: (newAccountName) => {
        return createAccount(newAccountName).then((newAccountAddress) =>
          onCreateNewAccount(newAccountAddress),
        );
      },
    };
  }
  
  export default connect(
    mapStateToProps,
    mapDispatchToProps,
    mergeProps,
  )(NewAccountModal);
  