diff --git a/mailpoet/assets/js/src/common/categories/categories.tsx b/mailpoet/assets/js/src/common/categories/categories.tsx index c54c6755bd..7adf56be99 100644 --- a/mailpoet/assets/js/src/common/categories/categories.tsx +++ b/mailpoet/assets/js/src/common/categories/categories.tsx @@ -6,7 +6,7 @@ type Props = { active: string; }; -export function Categories({ onSelect, categories, active }: Props) { +function Categories({ onSelect, categories, active }: Props) { const cats = categories.map((category) => ( {cats}; } + +Categories.displayName = 'Categories'; +export { Categories }; diff --git a/mailpoet/assets/js/src/common/listings/newsletter_status.tsx b/mailpoet/assets/js/src/common/listings/newsletter_status.tsx index 0a21d45a18..a11878c094 100644 --- a/mailpoet/assets/js/src/common/listings/newsletter_status.tsx +++ b/mailpoet/assets/js/src/common/listings/newsletter_status.tsx @@ -63,7 +63,7 @@ type NewsletterStatusProps = { status?: string; }; -export function NewsletterStatus({ +function NewsletterStatus({ scheduledFor, processed, total, @@ -150,3 +150,6 @@ export function NewsletterStatus({ ); } + +NewsletterStatus.displayName = 'NewsletterStatus'; +export { NewsletterStatus }; diff --git a/mailpoet/assets/js/src/common/premium_modal/index.tsx b/mailpoet/assets/js/src/common/premium_modal/index.tsx index 24ceab7e4d..4a9bf09a26 100644 --- a/mailpoet/assets/js/src/common/premium_modal/index.tsx +++ b/mailpoet/assets/js/src/common/premium_modal/index.tsx @@ -23,6 +23,7 @@ import { UtmParams, } from './upgrade_info'; import { storeName } from '../../automation/editor/store'; +import { withBoundary } from '../error_boundary'; export const premiumValidAndActive = premiumFeaturesEnabled && MailPoet.premiumActive; @@ -51,11 +52,7 @@ const getCta = (state: State, upgradeInfo: UpgradeInfo): string => { return cta; }; -export function PremiumModal({ - children, - tracking, - ...props -}: Props): JSX.Element { +function PremiumModal({ children, tracking, ...props }: Props): JSX.Element { const [state, setState] = useState(); const upgradeInfo = useUpgradeInfo(tracking); @@ -129,8 +126,11 @@ export function PremiumModal({ ); } +PremiumModal.displayName = 'PremiumModal'; + type EditProps = Omit; -export function PremiumModalForStepEdit({ + +function PremiumModalForStepEdit({ children, ...props }: EditProps): JSX.Element { @@ -157,3 +157,12 @@ export function PremiumModalForStepEdit({ ); } + +PremiumModalForStepEdit.displayName = 'PremiumModalForStepEdit'; +const PremiumModalForStepEditWithBoundary = withBoundary( + PremiumModalForStepEdit, +); +export { + PremiumModal, + PremiumModalForStepEditWithBoundary as PremiumModalForStepEdit, +}; diff --git a/mailpoet/assets/js/src/common/sender_email_address_warning.jsx b/mailpoet/assets/js/src/common/sender_email_address_warning.jsx index 46033b941c..c4f30cb587 100644 --- a/mailpoet/assets/js/src/common/sender_email_address_warning.jsx +++ b/mailpoet/assets/js/src/common/sender_email_address_warning.jsx @@ -163,5 +163,5 @@ SenderEmailAddressWarning.defaultProps = { showSenderDomainWarning: false, onSuccessfulEmailOrDomainAuthorization: noop, }; - +SenderEmailAddressWarning.displayName = 'SenderEmailAddressWarning'; export { SenderEmailAddressWarning }; diff --git a/mailpoet/assets/js/src/common/top_bar/top_bar.tsx b/mailpoet/assets/js/src/common/top_bar/top_bar.tsx index 2ee50b70a6..1cfb2878c7 100644 --- a/mailpoet/assets/js/src/common/top_bar/top_bar.tsx +++ b/mailpoet/assets/js/src/common/top_bar/top_bar.tsx @@ -5,6 +5,7 @@ import { withFeatureAnnouncement } from 'announcements/with_feature_announcement import { MailPoetLogoResponsive } from './mailpoet_logo_responsive'; import { BeamerIcon } from './beamer_icon'; import { ScreenOptionsFix } from './screen_options_fix'; +import { withBoundary } from '../error_boundary'; type Props = { children?: ReactNode; @@ -57,4 +58,5 @@ export function TopBar({ ); } -export const TopBarWithBeamer = withFeatureAnnouncement(TopBar); +TopBar.displayName = 'TopBar'; +export const TopBarWithBeamer = withFeatureAnnouncement(withBoundary(TopBar)); diff --git a/mailpoet/assets/js/src/listing/bulk_actions.jsx b/mailpoet/assets/js/src/listing/bulk_actions.jsx index c2f409e266..ed565929a3 100644 --- a/mailpoet/assets/js/src/listing/bulk_actions.jsx +++ b/mailpoet/assets/js/src/listing/bulk_actions.jsx @@ -2,6 +2,7 @@ import { Component } from 'react'; import { MailPoet } from 'mailpoet'; import PropTypes from 'prop-types'; +import { withBoundary } from '../common'; class ListingBulkActions extends Component { constructor(props) { @@ -109,5 +110,6 @@ ListingBulkActions.propTypes = { selected_ids: PropTypes.arrayOf(PropTypes.number).isRequired, onBulkAction: PropTypes.func.isRequired, }; - -export { ListingBulkActions }; +ListingBulkActions.displayName = 'ListingBulkActions'; +const ListingBulkActionsWithBoundary = withBoundary(ListingBulkActions); +export { ListingBulkActionsWithBoundary as ListingBulkActions }; diff --git a/mailpoet/assets/js/src/listing/filters.jsx b/mailpoet/assets/js/src/listing/filters.jsx index 03efef88f5..9e68ca867a 100644 --- a/mailpoet/assets/js/src/listing/filters.jsx +++ b/mailpoet/assets/js/src/listing/filters.jsx @@ -5,6 +5,7 @@ import PropTypes from 'prop-types'; import { Button } from 'common/button/button.tsx'; import { MailPoet } from 'mailpoet'; import { Select } from 'common/form/select/select.tsx'; +import { withBoundary } from '../common'; class ListingFilters extends Component { componentDidUpdate() { @@ -100,5 +101,6 @@ ListingFilters.propTypes = { ListingFilters.defaultProps = { onBeforeSelectFilter: undefined, }; - -export { ListingFilters }; +ListingFilters.displayName = 'ListingFilters'; +const ListingFiltersWithBoundary = withBoundary(ListingFilters); +export { ListingFiltersWithBoundary as ListingFilters }; diff --git a/mailpoet/assets/js/src/listing/listing.jsx b/mailpoet/assets/js/src/listing/listing.jsx index 37a2824ccb..e97f8da191 100644 --- a/mailpoet/assets/js/src/listing/listing.jsx +++ b/mailpoet/assets/js/src/listing/listing.jsx @@ -13,6 +13,7 @@ import { ListingItems } from 'listing/listing_items.jsx'; import { MailerError } from 'listing/notices.jsx'; import { withRouter } from 'react-router-dom'; import { GlobalContext } from 'context/index.jsx'; +import { withBoundary } from '../common'; class ListingComponent extends Component { constructor(props) { @@ -792,4 +793,4 @@ ListingComponent.defaultProps = { ListingComponent.displayName = 'Listing'; -export const Listing = withRouter(ListingComponent); +export const Listing = withRouter(withBoundary(ListingComponent)); diff --git a/mailpoet/assets/js/src/notices/email_volume_limit_notice.tsx b/mailpoet/assets/js/src/notices/email_volume_limit_notice.tsx index 79fb91e541..77ea2a6a03 100644 --- a/mailpoet/assets/js/src/notices/email_volume_limit_notice.tsx +++ b/mailpoet/assets/js/src/notices/email_volume_limit_notice.tsx @@ -2,8 +2,9 @@ import ReactStringReplace from 'react-string-replace'; import ReactHtmlParser from 'react-html-parser'; import { MailPoet } from 'mailpoet'; import { Notice } from 'notices/notice'; +import { withBoundary } from 'common'; -export function EmailVolumeLimitNotice(): JSX.Element { +function EmailVolumeLimitNotice(): JSX.Element { if (!MailPoet.emailVolumeLimitReached) return null; const title = MailPoet.I18n.t('emailVolumeLimitNoticeTitle').replace( @@ -72,3 +73,7 @@ export function EmailVolumeLimitNotice(): JSX.Element { ); } + +EmailVolumeLimitNotice.displayName = 'EmailVolumeLimitNotice'; +const EmailVolumeLimitNoticeWithBoundary = withBoundary(EmailVolumeLimitNotice); +export { EmailVolumeLimitNoticeWithBoundary as EmailVolumeLimitNotice }; diff --git a/mailpoet/assets/js/src/notices/invalid_mss_key_notice.tsx b/mailpoet/assets/js/src/notices/invalid_mss_key_notice.tsx index 8ed0dfd8c4..bfa9aa8b6b 100644 --- a/mailpoet/assets/js/src/notices/invalid_mss_key_notice.tsx +++ b/mailpoet/assets/js/src/notices/invalid_mss_key_notice.tsx @@ -7,10 +7,7 @@ type Props = { subscribersCount: number; }; -export function InvalidMssKeyNotice({ - mssKeyInvalid, - subscribersCount, -}: Props) { +function InvalidMssKeyNotice({ mssKeyInvalid, subscribersCount }: Props) { if (!mssKeyInvalid) return null; return ( @@ -39,3 +36,6 @@ export function InvalidMssKeyNotice({ ); } + +InvalidMssKeyNotice.displayName = 'InvalidMssKeyNotice'; +export { InvalidMssKeyNotice }; diff --git a/mailpoet/assets/js/src/notices/subscribers_limit_notice.jsx b/mailpoet/assets/js/src/notices/subscribers_limit_notice.jsx index 730e7336b4..76eac848ee 100644 --- a/mailpoet/assets/js/src/notices/subscribers_limit_notice.jsx +++ b/mailpoet/assets/js/src/notices/subscribers_limit_notice.jsx @@ -2,7 +2,7 @@ import ReactStringReplace from 'react-string-replace'; import { MailPoet } from 'mailpoet'; import { Notice } from 'notices/notice.tsx'; -export function SubscribersLimitNotice() { +function SubscribersLimitNotice() { if (!MailPoet.subscribersLimitReached) return null; const hasValidApiKey = MailPoet.hasValidApiKey; const title = MailPoet.I18n.t('subscribersLimitNoticeTitle').replace( @@ -73,3 +73,6 @@ export function SubscribersLimitNotice() { ); } + +SubscribersLimitNotice.displayName = 'SubscribersLimitNotice'; +export { SubscribersLimitNotice }; diff --git a/mailpoet/assets/js/src/notices/transactional_emails_propose_opt_in_notice.tsx b/mailpoet/assets/js/src/notices/transactional_emails_propose_opt_in_notice.tsx index c7163968a4..970175b670 100644 --- a/mailpoet/assets/js/src/notices/transactional_emails_propose_opt_in_notice.tsx +++ b/mailpoet/assets/js/src/notices/transactional_emails_propose_opt_in_notice.tsx @@ -10,7 +10,7 @@ type Props = { apiVersion: string; }; -export function TransactionalEmailsProposeOptInNotice({ +function TransactionalEmailsProposeOptInNotice({ mailpoetInstalledDaysAgo, sendTransactionalEmails, mtaMethod, @@ -68,3 +68,7 @@ export function TransactionalEmailsProposeOptInNotice({ ); } + +TransactionalEmailsProposeOptInNotice.displayName = + 'TransactionalEmailsProposeOptInNotice'; +export { TransactionalEmailsProposeOptInNotice };