Refactor function as React component

This commit is contained in:
Amine Ben hammou
2019-07-11 19:34:55 +01:00
committed by M. Shull
parent e7c3dd44ac
commit ab04cbab27

View File

@@ -4,19 +4,24 @@ import MailPoet from 'mailpoet';
import ReactStringReplace from 'react-string-replace'; import ReactStringReplace from 'react-string-replace';
import classNames from 'classnames'; import classNames from 'classnames';
const getSingleWarning = (warningTranslation, subscribers) => { const SingleWarning = ({ translation, subscribers }) => {
let warning = ''; let warning = '';
if (subscribers.length) { if (subscribers.length) {
warning = ReactStringReplace( warning = ReactStringReplace(
warningTranslation.replace('%2$s', subscribers.join(', ')), translation.replace('%2$s', subscribers.join(', ')),
'%1$s', '%1$s',
() => <strong key={warningTranslation}>{subscribers.length.toLocaleString()}</strong> () => <strong key={translation}>{subscribers.length.toLocaleString()}</strong>
); );
warning = <p>{warning}</p>; warning = <p>{warning}</p>;
} }
return warning; return warning;
}; };
SingleWarning.propTypes = {
translation: PropTypes.string.isRequired,
subscribers: PropTypes.arrayOf(PropTypes.string).isRequired,
};
const Warnings = ({ const Warnings = ({
stepMethodSelectionData, stepMethodSelectionData,
}) => { }) => {
@@ -29,9 +34,9 @@ const Warnings = ({
{ mailpoet_hidden: !detailsShown }, { mailpoet_hidden: !detailsShown },
); );
const invalidWarning = getSingleWarning(MailPoet.I18n.t('importNoticeInvalid'), invalid); const invalidWarning = <SingleWarning translation={MailPoet.I18n.t('importNoticeInvalid')} subscribers={invalid} />;
const duplicateWarning = getSingleWarning(MailPoet.I18n.t('importNoticeDuplicate'), duplicate); const duplicateWarning = <SingleWarning translation={MailPoet.I18n.t('importNoticeDuplicate')} subscribers={duplicate} />;
let roleBasedWarning = ''; let roleBasedWarning = '';
if (role.length) { if (role.length) {