From f7ad5e8a303444eb6e68d24254d76a1c6af1dcd8 Mon Sep 17 00:00:00 2001 From: Lysy Jan Date: Wed, 5 Aug 2020 12:29:42 +0200 Subject: [PATCH] Add new selects to import form Fixes:#2968 [MAILPOET-2957] --- .../import/step_data_manipulation.jsx | 12 +++++++ .../existing_subscribers_status.jsx | 36 +++++++++++++++++++ .../new_subscribers_status.jsx | 35 ++++++++++++++++++ views/subscribers/importExport/import.html | 6 ++++ 4 files changed, 89 insertions(+) create mode 100644 assets/js/src/subscribers/importExport/import/step_data_manipulation/existing_subscribers_status.jsx create mode 100644 assets/js/src/subscribers/importExport/import/step_data_manipulation/new_subscribers_status.jsx diff --git a/assets/js/src/subscribers/importExport/import/step_data_manipulation.jsx b/assets/js/src/subscribers/importExport/import/step_data_manipulation.jsx index 33a7d3abd5..3f0b0001d7 100644 --- a/assets/js/src/subscribers/importExport/import/step_data_manipulation.jsx +++ b/assets/js/src/subscribers/importExport/import/step_data_manipulation.jsx @@ -5,6 +5,8 @@ import PreviousNextStepButtons from './previous_next_step_buttons.jsx'; import Warnings from './step_data_manipulation/warnings.jsx'; import MatchTable from './step_data_manipulation/match_table.jsx'; import SelectSegment from './step_data_manipulation/select_segment.jsx'; +import NewSubscribersStatus from './step_data_manipulation/new_subscribers_status.jsx'; +import ExistingSubscribersStatus from './step_data_manipulation/existing_subscribers_status.jsx'; import UpdateExistingSubscribers from './step_data_manipulation/update_existing_subscribers.jsx'; import doImport from './step_data_manipulation/do_import.jsx'; @@ -29,6 +31,8 @@ function StepDataManipulation({ }) { const [selectedSegments, setSelectedSegments] = useState([]); const [updateExistingSubscribers, setUpdateExistingSubscribers] = useState(true); + const [newSubscribersStatus, setNewSubscribersStatus] = useState('subscribed'); + const [existingSubscribersStatus, setExistingSubscribersStatus] = useState('dontUpdate'); useEffect( () => { if (typeof (stepMethodSelectionData) === 'undefined') { @@ -67,6 +71,14 @@ function StepDataManipulation({ header={stepMethodSelectionData.header} /> + + +
{MailPoet.I18n.t('existingSubscribersStatus')}
+ + + ); +} + +ExistingSubscribersStatus.propTypes = { + existingSubscribersStatus: PropTypes.string.isRequired, + setExistingSubscribersStatus: PropTypes.func.isRequired, +}; + +export default ExistingSubscribersStatus; diff --git a/assets/js/src/subscribers/importExport/import/step_data_manipulation/new_subscribers_status.jsx b/assets/js/src/subscribers/importExport/import/step_data_manipulation/new_subscribers_status.jsx new file mode 100644 index 0000000000..e0e4ae4816 --- /dev/null +++ b/assets/js/src/subscribers/importExport/import/step_data_manipulation/new_subscribers_status.jsx @@ -0,0 +1,35 @@ +import React from 'react'; +import MailPoet from 'mailpoet'; +import PropTypes from 'prop-types'; + +function NewSubscribersStatus({ newSubscribersStatus, setNewSubscribersStatus }) { + function handleChange(event) { + setNewSubscribersStatus(event.target.value); + } + + return ( +
+
{MailPoet.I18n.t('newSubscribersStatus')}
+ +
+ ); +} + +NewSubscribersStatus.propTypes = { + newSubscribersStatus: PropTypes.string.isRequired, + setNewSubscribersStatus: PropTypes.func.isRequired, +}; + +export default NewSubscribersStatus; diff --git a/views/subscribers/importExport/import.html b/views/subscribers/importExport/import.html index ca3738c0ea..7c3bfedd05 100644 --- a/views/subscribers/importExport/import.html +++ b/views/subscribers/importExport/import.html @@ -133,5 +133,11 @@ 'offerClearoutText3': __('We recommend cleaning your list with Clearout because the first 500 emails are free, it’s fast and it detects up to 50% of invalid addresses. It’s our support team’s favorite.'), 'tryClearout': _x('Try clearout.io for free', 'CTA button label'), 'clearoutGotIt': _x('Got it, I’ll proceed to import', 'Text in a link'), +'subscribed': __('Subscribed'), +'unsubscribed': __('Unsubscribed'), +'inactive': __('Inactive'), +'dontUpdate': __('Don\’t update'), +'newSubscribersStatus': __('Set new subscribers\' status to'), +'existingSubscribersStatus': __('Update existing subscribers\' status to'), }) %> <% endblock %>