Remove side-effects from messages

[MAILPOET-2431]
This commit is contained in:
Jan Jakeš
2019-12-12 15:56:46 +01:00
committed by Jack Kitterhing
parent 7151e23f47
commit 8cde305a34
4 changed files with 22 additions and 22 deletions

View File

@@ -2,19 +2,19 @@ import PropTypes from 'prop-types';
import React from 'react'; import React from 'react';
import MailPoet from 'mailpoet'; import MailPoet from 'mailpoet';
const keyValidMessage = ( const keyValidMessage = () => (
<div className="mailpoet_success_item mailpoet_success"> <div className="mailpoet_success_item mailpoet_success">
{MailPoet.I18n.t('premiumTabKeyValidMessage')} {MailPoet.I18n.t('premiumTabKeyValidMessage')}
</div> </div>
); );
const keyNotValidMessage = ( const keyNotValidMessage = () => (
<div className="mailpoet_error_item mailpoet_error"> <div className="mailpoet_error_item mailpoet_error">
{MailPoet.I18n.t('premiumTabKeyNotValidMessage')} {MailPoet.I18n.t('premiumTabKeyNotValidMessage')}
</div> </div>
); );
const KeyMessages = (props) => (props.keyValid ? keyValidMessage : keyNotValidMessage); const KeyMessages = (props) => (props.keyValid ? keyValidMessage() : keyNotValidMessage());
KeyMessages.propTypes = { KeyMessages.propTypes = {
keyValid: PropTypes.bool.isRequired, keyValid: PropTypes.bool.isRequired,

View File

@@ -2,7 +2,7 @@ import PropTypes from 'prop-types';
import React from 'react'; import React from 'react';
import MailPoet from 'mailpoet'; import MailPoet from 'mailpoet';
const validMessage = ( const validMessage = () => (
<div className="mailpoet_success mailpoet_mss_key_valid"> <div className="mailpoet_success mailpoet_mss_key_valid">
{MailPoet.I18n.t('premiumTabMssValidMessage')} {MailPoet.I18n.t('premiumTabMssValidMessage')}
</div> </div>
@@ -16,7 +16,7 @@ const notValidMessage = (message) => (
const MssMessages = (props) => { const MssMessages = (props) => {
if (props.keyValid) { if (props.keyValid) {
return validMessage; return validMessage();
} }
return props.keyMessage ? notValidMessage(props.keyMessage) : null; return props.keyMessage ? notValidMessage(props.keyMessage) : null;
}; };

View File

@@ -16,19 +16,19 @@ const PremiumInstallationStatus = {
const keyPrefix = 'premium-installation-message'; const keyPrefix = 'premium-installation-message';
const installingMessage = ( const installingMessage = () => (
<div className="mailpoet_subitem" key={`${keyPrefix}-installing`}> <div className="mailpoet_subitem" key={`${keyPrefix}-installing`}>
{MailPoet.I18n.t('premiumTabPremiumInstallationInstallingMessage')} {MailPoet.I18n.t('premiumTabPremiumInstallationInstallingMessage')}
</div> </div>
); );
const activatingMessage = ( const activatingMessage = () => (
<div className="mailpoet_subitem" key={`${keyPrefix}-activating`}> <div className="mailpoet_subitem" key={`${keyPrefix}-activating`}>
{MailPoet.I18n.t('premiumTabPremiumInstallationActivatingMessage')} {MailPoet.I18n.t('premiumTabPremiumInstallationActivatingMessage')}
</div> </div>
); );
const doneMessage = ( const doneMessage = () => (
<div className="mailpoet_subitem" key={`${keyPrefix}-done`}> <div className="mailpoet_subitem" key={`${keyPrefix}-done`}>
<strong>{MailPoet.I18n.t('premiumTabPremiumInstallationActiveMessage')}</strong> <strong>{MailPoet.I18n.t('premiumTabPremiumInstallationActiveMessage')}</strong>
</div> </div>
@@ -61,21 +61,21 @@ const errorMessage = () => {
const PremiumInstallationMessages = (props) => { const PremiumInstallationMessages = (props) => {
switch (props.installationStatus) { switch (props.installationStatus) {
case PremiumInstallationStatus.INSTALL_INSTALLING: case PremiumInstallationStatus.INSTALL_INSTALLING:
return installingMessage; return installingMessage();
case PremiumInstallationStatus.INSTALL_ACTIVATING: case PremiumInstallationStatus.INSTALL_ACTIVATING:
return [installingMessage, activatingMessage]; return [installingMessage(), activatingMessage()];
case PremiumInstallationStatus.INSTALL_DONE: case PremiumInstallationStatus.INSTALL_DONE:
return [installingMessage, activatingMessage, doneMessage]; return [installingMessage(), activatingMessage(), doneMessage()];
case PremiumInstallationStatus.INSTALL_INSTALLING_ERROR: case PremiumInstallationStatus.INSTALL_INSTALLING_ERROR:
return [installingMessage, errorMessage()]; return [installingMessage(), errorMessage()];
case PremiumInstallationStatus.INSTALL_ACTIVATING_ERROR: case PremiumInstallationStatus.INSTALL_ACTIVATING_ERROR:
return [installingMessage, activatingMessage, errorMessage()]; return [installingMessage(), activatingMessage(), errorMessage()];
case PremiumInstallationStatus.ACTIVATE_ACTIVATING: case PremiumInstallationStatus.ACTIVATE_ACTIVATING:
return activatingMessage; return activatingMessage();
case PremiumInstallationStatus.ACTIVATE_DONE: case PremiumInstallationStatus.ACTIVATE_DONE:
return [activatingMessage, doneMessage]; return [activatingMessage(), doneMessage()];
case PremiumInstallationStatus.ACTIVATE_ERROR: case PremiumInstallationStatus.ACTIVATE_ERROR:
return [activatingMessage, errorMessage()]; return [activatingMessage(), errorMessage()];
default: default:
return null; return null;
} }

View File

@@ -12,19 +12,19 @@ const PremiumStatus = {
KEY_VALID_PREMIUM_PLUGIN_BEING_ACTIVATED: 5, KEY_VALID_PREMIUM_PLUGIN_BEING_ACTIVATED: 5,
}; };
const activeMessage = ( const activeMessage = () => (
<div className="mailpoet_success"> <div className="mailpoet_success">
{MailPoet.I18n.t('premiumTabPremiumActiveMessage')} {MailPoet.I18n.t('premiumTabPremiumActiveMessage')}
</div> </div>
); );
const installingMessage = ( const installingMessage = () => (
<div className="mailpoet_success"> <div className="mailpoet_success">
{MailPoet.I18n.t('premiumTabPremiumInstallingMessage')} {MailPoet.I18n.t('premiumTabPremiumInstallingMessage')}
</div> </div>
); );
const activatingMessage = ( const activatingMessage = () => (
<div className="mailpoet_success"> <div className="mailpoet_success">
{MailPoet.I18n.t('premiumTabPremiumActivatingMessage')} {MailPoet.I18n.t('premiumTabPremiumActivatingMessage')}
</div> </div>
@@ -59,15 +59,15 @@ const notValidMessage = (message) => (
const getMessageFromStatus = (status, message, installationCallback, activationCallback) => { const getMessageFromStatus = (status, message, installationCallback, activationCallback) => {
switch (status) { switch (status) {
case PremiumStatus.KEY_VALID_PREMIUM_PLUGIN_ACTIVE: case PremiumStatus.KEY_VALID_PREMIUM_PLUGIN_ACTIVE:
return activeMessage; return activeMessage();
case PremiumStatus.KEY_VALID_PREMIUM_PLUGIN_NOT_ACTIVE: case PremiumStatus.KEY_VALID_PREMIUM_PLUGIN_NOT_ACTIVE:
return premiumNotActiveMessage(activationCallback); return premiumNotActiveMessage(activationCallback);
case PremiumStatus.KEY_VALID_PREMIUM_PLUGIN_NOT_INSTALLED: case PremiumStatus.KEY_VALID_PREMIUM_PLUGIN_NOT_INSTALLED:
return premiumNotInstalledMessage(installationCallback); return premiumNotInstalledMessage(installationCallback);
case PremiumStatus.KEY_VALID_PREMIUM_PLUGIN_BEING_INSTALLED: case PremiumStatus.KEY_VALID_PREMIUM_PLUGIN_BEING_INSTALLED:
return installingMessage; return installingMessage();
case PremiumStatus.KEY_VALID_PREMIUM_PLUGIN_BEING_ACTIVATED: case PremiumStatus.KEY_VALID_PREMIUM_PLUGIN_BEING_ACTIVATED:
return activatingMessage; return activatingMessage();
case PremiumStatus.KEY_INVALID: case PremiumStatus.KEY_INVALID:
return message ? notValidMessage(message) : null; return message ? notValidMessage(message) : null;
default: default: