Remove Clearout.io offer from the plugin
[MAILPOET-3811]
This commit is contained in:
@@ -83,7 +83,7 @@ tr {
|
||||
margin-left: 40px;
|
||||
}
|
||||
|
||||
.mailpoet-offer-clearout-step-container {
|
||||
.mailpoet-clean-list-step-container {
|
||||
margin: -$grid-gap 0 !important;
|
||||
max-width: 42em;
|
||||
|
||||
|
@@ -12,7 +12,7 @@ import StepMethodSelection from './import/step_method_selection.jsx';
|
||||
import StepInputValidation from './import/step_input_validation.jsx';
|
||||
import StepDataManipulation from './import/step_data_manipulation.jsx';
|
||||
import StepResults from './import/step_results.jsx';
|
||||
import StepOfferClearout from './import/step_offer_clearout';
|
||||
import StepCleanList from './import/step_clean_list';
|
||||
|
||||
const container = document.getElementById('import_container');
|
||||
|
||||
@@ -29,9 +29,9 @@ const ImportSubscribers = () => {
|
||||
<ScrollToTop>
|
||||
<Switch>
|
||||
<Route
|
||||
path="/step_offer_clearout"
|
||||
path="/step_clean_list"
|
||||
render={(props) => (
|
||||
<StepOfferClearout {...props} />
|
||||
<StepCleanList {...props} />
|
||||
)}
|
||||
/>
|
||||
<Route
|
||||
@@ -81,7 +81,7 @@ const ImportSubscribers = () => {
|
||||
/>
|
||||
<Route
|
||||
path="*"
|
||||
render={() => <Redirect to="/step_offer_clearout" />}
|
||||
render={() => <Redirect to="/step_clean_list" />}
|
||||
/>
|
||||
</Switch>
|
||||
</ScrollToTop>
|
||||
|
24
assets/js/src/subscribers/importExport/import/clean_list.tsx
Normal file
24
assets/js/src/subscribers/importExport/import/clean_list.tsx
Normal file
@@ -0,0 +1,24 @@
|
||||
import React from 'react';
|
||||
import Button from 'common/button/button';
|
||||
import MailPoet from 'mailpoet';
|
||||
|
||||
type Props = {
|
||||
onProceed?: () => void;
|
||||
}
|
||||
|
||||
export default ({ onProceed }: Props): JSX.Element => (
|
||||
<div className="mailpoet-clean-list-step-container">
|
||||
<p>{MailPoet.I18n.t('cleanListText1')}</p>
|
||||
<p>{MailPoet.I18n.t('cleanListText2')}</p>
|
||||
<p>
|
||||
{onProceed && (
|
||||
<Button onClick={onProceed} variant="tertiary">
|
||||
{MailPoet.I18n.t('listCleaningGotIt')}
|
||||
</Button>
|
||||
)}
|
||||
<Button target="_blank" href="https://kb.mailpoet.com/article/287-list-cleaning-services">
|
||||
{MailPoet.I18n.t('tryListCleaning')}
|
||||
</Button>
|
||||
</p>
|
||||
</div>
|
||||
);
|
@@ -1,25 +0,0 @@
|
||||
import React from 'react';
|
||||
import Button from 'common/button/button';
|
||||
import MailPoet from 'mailpoet';
|
||||
|
||||
type Props = {
|
||||
onProceed?: () => void;
|
||||
}
|
||||
|
||||
export default ({ onProceed }: Props): JSX.Element => (
|
||||
<div className="mailpoet-offer-clearout-step-container">
|
||||
<p>{MailPoet.I18n.t('offerClearoutText1')}</p>
|
||||
<p>{MailPoet.I18n.t('offerClearoutText2')}</p>
|
||||
<p>{MailPoet.I18n.t('offerClearoutText3')}</p>
|
||||
<p>
|
||||
{onProceed && (
|
||||
<Button onClick={onProceed} variant="tertiary">
|
||||
{MailPoet.I18n.t('clearoutGotIt')}
|
||||
</Button>
|
||||
)}
|
||||
<Button target="_blank" href="https://clearout.io/?ref=mailpoet">
|
||||
{MailPoet.I18n.t('tryClearout')}
|
||||
</Button>
|
||||
</p>
|
||||
</div>
|
||||
);
|
@@ -1,7 +1,7 @@
|
||||
import React from 'react';
|
||||
import { RouteComponentProps } from 'react-router-dom';
|
||||
import OfferClearout from './offer_clearout';
|
||||
import CleanList from './clean_list';
|
||||
|
||||
export default ({ history }: RouteComponentProps): JSX.Element => (
|
||||
<OfferClearout onProceed={(): void => history.push('step_method_selection')} />
|
||||
<CleanList onProceed={(): void => history.push('step_method_selection')} />
|
||||
);
|
@@ -2,7 +2,7 @@ import React, { useEffect, useState, useCallback } from 'react';
|
||||
import { withRouter } from 'react-router-dom';
|
||||
import PropTypes from 'prop-types';
|
||||
|
||||
import OfferClearout from 'subscribers/importExport/import/offer_clearout';
|
||||
import CleanList from 'subscribers/importExport/import/clean_list';
|
||||
import InitialQuestion from './step_input_validation/initial_question.jsx';
|
||||
import WrongSourceBlock from './step_input_validation/wrong_source_block.jsx';
|
||||
import LastSentQuestion from './step_input_validation/last_sent_question.jsx';
|
||||
@@ -47,7 +47,7 @@ function StepInputValidation({ stepMethodSelectionData, history }) {
|
||||
)}
|
||||
|
||||
{importSource === 'existing-list' && lastSent === 'notRecently' && (
|
||||
<OfferClearout />
|
||||
<CleanList />
|
||||
)}
|
||||
</>
|
||||
);
|
||||
|
@@ -5,7 +5,7 @@ import Button from 'common/button/button';
|
||||
function WrongSourceBlock() {
|
||||
return (
|
||||
<div
|
||||
className="mailpoet-offer-clearout-step-container"
|
||||
className="mailpoet-clean-list-step-container"
|
||||
data-automation-id="import_wrong_source_block"
|
||||
>
|
||||
<p>{MailPoet.I18n.t('validationStepBlock1')}</p>
|
||||
|
@@ -40,7 +40,7 @@ function StepMethodSelection({
|
||||
};
|
||||
|
||||
const previousStep = () => {
|
||||
history.push('/step_offer_clearout');
|
||||
history.push('/step_clean_list');
|
||||
};
|
||||
|
||||
const processLocal = () => {
|
||||
|
@@ -7,7 +7,7 @@ class ManageImportExportCest {
|
||||
$i->wantTo('Import a big list');
|
||||
$i->login();
|
||||
$i->amOnUrl(\AcceptanceTester::WP_URL . '/wp-admin/admin.php?page=mailpoet-import');
|
||||
$this->proceedThroughClearout($i);
|
||||
$this->proceedThroughListCleaning($i);
|
||||
$this->uploadCsvFile($i, 'MailPoetImportBigList.csv');
|
||||
|
||||
// I see validation step, select a wrong source and should be blocked
|
||||
@@ -18,7 +18,7 @@ class ManageImportExportCest {
|
||||
|
||||
// Repeat the test, this time choose the right source, but say you sent to the list long time ago
|
||||
$i->amOnUrl(\AcceptanceTester::WP_URL . '/wp-admin/admin.php?page=mailpoet-import');
|
||||
$this->proceedThroughClearout($i);
|
||||
$this->proceedThroughListCleaning($i);
|
||||
$this->uploadCsvFile($i, 'MailPoetImportBigList.csv');
|
||||
$i->waitForElement('[data-automation-id="mailpoet_import_validation_step_option1"]');
|
||||
$i->checkOption('[data-automation-id="mailpoet_import_validation_step_option1"]');
|
||||
@@ -27,11 +27,11 @@ class ManageImportExportCest {
|
||||
$i->selectOption('[data-automation-id="last_sent_to_list"]', 'over2years');
|
||||
$i->click('[data-automation-id="last_sent_to_list_next"]');
|
||||
$i->waitForText('We highly recommend cleaning your lists before importing them to MailPoet.');
|
||||
$i->canSee('Try clearout.io for free');
|
||||
$i->canSee('How can I clean my list?');
|
||||
|
||||
// Repeat the test, happy path
|
||||
$i->amOnUrl(\AcceptanceTester::WP_URL . '/wp-admin/admin.php?page=mailpoet-import');
|
||||
$this->proceedThroughClearout($i);
|
||||
$this->proceedThroughListCleaning($i);
|
||||
$this->uploadCsvFile($i, 'MailPoetImportBigList.csv');
|
||||
$i->waitForElement('[data-automation-id="mailpoet_import_validation_step_option1"]');
|
||||
$i->checkOption('[data-automation-id="mailpoet_import_validation_step_option1"]');
|
||||
@@ -47,7 +47,7 @@ class ManageImportExportCest {
|
||||
$i->login();
|
||||
$i->amOnMailPoetPage ('Subscribers');
|
||||
$i->click('[data-automation-id="import-subscribers-button"]');
|
||||
$this->proceedThroughClearout($i);
|
||||
$this->proceedThroughListCleaning($i);
|
||||
$this->uploadCsvFile($i);
|
||||
$i->waitForText('2 records had issues and were skipped');
|
||||
$i->click('[data-automation-id="show-more-details"]');
|
||||
@@ -89,7 +89,7 @@ class ManageImportExportCest {
|
||||
$i->login();
|
||||
$i->amOnMailPoetPage ('Subscribers');
|
||||
$i->click('[data-automation-id="import-subscribers-button"]');
|
||||
$this->proceedThroughClearout($i);
|
||||
$this->proceedThroughListCleaning($i);
|
||||
$this->pasteSimpleList($i);
|
||||
$i->click('[data-automation-id="import-next-step"]');
|
||||
$this->chooseListAndConfirm($i);
|
||||
@@ -105,7 +105,7 @@ class ManageImportExportCest {
|
||||
$i->login();
|
||||
$i->amOnMailPoetPage ('Subscribers');
|
||||
$i->click('[data-automation-id="import-subscribers-button"]');
|
||||
$this->proceedThroughClearout($i);
|
||||
$this->proceedThroughListCleaning($i);
|
||||
$this->pasteSimpleList($i);
|
||||
$i->click('[data-automation-id="import-next-step"]');
|
||||
$this->chooseListAndConfirm($i);
|
||||
@@ -164,7 +164,7 @@ class ManageImportExportCest {
|
||||
$i->waitForText('Import again');
|
||||
}
|
||||
|
||||
private function proceedThroughClearout(\AcceptanceTester $i) {
|
||||
private function proceedThroughListCleaning(\AcceptanceTester $i) {
|
||||
$proceedLinkText = 'Got it, I’ll proceed to import';
|
||||
$i->waitForText($proceedLinkText);
|
||||
$i->click($proceedLinkText);
|
||||
|
@@ -123,11 +123,10 @@
|
||||
'pasteLabel': __('Copy and paste your subscribers from Excel/Spreadsheets'),
|
||||
'pasteDescription': __('This file needs to be formatted in a CSV style (comma-separated-values.) Look at some [link]examples on our support site[/link].'),
|
||||
'methodSelectionHead': __('How would you like to import subscribers?'),
|
||||
'offerClearoutText1': __('We highly recommend cleaning your lists before importing them to MailPoet.'),
|
||||
'offerClearoutText2': __('Lists can have up to 20% of invalid addresses after a year because people change jobs and stop using their addresses. If you send with MailPoet, we will pause your sending and ask you to clean your list if we detect over 10% of invalid addresses.'),
|
||||
'offerClearoutText3': __('We recommend cleaning your list with Clearout because the first 100 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'),
|
||||
'cleanListText1': __('We highly recommend cleaning your lists before importing them to MailPoet.'),
|
||||
'cleanListText2': __('Lists can have up to 20% of invalid addresses after a year because people change jobs and stop using their addresses. If you send with MailPoet, we will pause your sending and ask you to clean your list if we detect over 10% of invalid addresses.'),
|
||||
'tryListCleaning': _x('How can I clean my list?', 'CTA button label'),
|
||||
'listCleaningGotIt': _x('Got it, I’ll proceed to import', 'Text in a link'),
|
||||
'subscribed': __('Subscribed'),
|
||||
'unsubscribed': __('Unsubscribed'),
|
||||
'inactive': __('Inactive'),
|
||||
|
Reference in New Issue
Block a user