diff --git a/assets/js/src/subscribers/importExport/previous_next_step_buttons.jsx b/assets/js/src/subscribers/importExport/previous_next_step_buttons.jsx new file mode 100644 index 0000000000..3cb8e36731 --- /dev/null +++ b/assets/js/src/subscribers/importExport/previous_next_step_buttons.jsx @@ -0,0 +1,43 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import classNames from 'classnames'; +import MailPoet from 'mailpoet'; + +const PreviousNextStepButtons = ({ canGoNext, onPreviousAction, onNextAction }) => { + const nextStepClasses = classNames( + 'button-primary', + 'wysija', + { 'button-disabled': !canGoNext }, + ); + return ( +
+ +    + +
+ ); +}; + +PreviousNextStepButtons.propTypes = { + canGoNext: PropTypes.bool.isRequired, + onPreviousAction: PropTypes.func.isRequired, + onNextAction: PropTypes.func.isRequired, +}; + +export default PreviousNextStepButtons; diff --git a/assets/js/src/subscribers/importExport/step_input_validation.jsx b/assets/js/src/subscribers/importExport/step_input_validation.jsx index 9e20d662ed..16f6c6276f 100644 --- a/assets/js/src/subscribers/importExport/step_input_validation.jsx +++ b/assets/js/src/subscribers/importExport/step_input_validation.jsx @@ -1,8 +1,8 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; -import classNames from 'classnames'; import ReactStringReplace from 'react-string-replace'; import MailPoet from 'mailpoet'; +import PreviousNextStepButtons from './previous_next_step_buttons.jsx'; const renderServicesMessage = () => { let message = ReactStringReplace(MailPoet.I18n.t('useServices'), '%1$s', () => ( @@ -36,10 +36,9 @@ const renderServicesMessage = () => { )); return message; -} +}; class StepInputValidation extends Component { - constructor(props) { super(props); this.state = { @@ -55,37 +54,6 @@ class StepInputValidation extends Component { && this.state.understand; } - renderStepButtons() { - const nextStepClasses = classNames( - 'button-primary', - 'wysija', - { 'button-disabled': !this.isFormValid() }, - ); - return ( -
- -    - -
- ); - } - render() { return (
@@ -139,7 +107,11 @@ class StepInputValidation extends Component {

{MailPoet.I18n.t('weWillSuspend')}

- {this.renderStepButtons()} + this.props.navigate('step_method_selection', { trigger: true })} + onNextAction={() => this.props.navigate('step_data_manipulation', { trigger: true })} + />
); }