diff --git a/assets/js/src/newsletters/listings/queue_status.jsx b/assets/js/src/newsletters/listings/queue_status.jsx index 08bcc08fbb..48947c2720 100644 --- a/assets/js/src/newsletters/listings/queue_status.jsx +++ b/assets/js/src/newsletters/listings/queue_status.jsx @@ -14,7 +14,10 @@ const QueuePropType = PropTypes.shape({ const NewsletterPropType = PropTypes.shape({ id: PropTypes.number.isRequired, - queue: QueuePropType, + queue: PropTypes.oneOfType([ + QueuePropType, + PropTypes.bool, + ]), }); const QueueSendingProgress = ({ queue }) => { diff --git a/assets/js/src/newsletters/listings/statistics.jsx b/assets/js/src/newsletters/listings/statistics.jsx index a767412bd3..7de7e47f01 100644 --- a/assets/js/src/newsletters/listings/statistics.jsx +++ b/assets/js/src/newsletters/listings/statistics.jsx @@ -225,27 +225,44 @@ const Statistics = ({ newsletter, isSent, currentTime }) => { ); }; + +const StatisticsPropType = PropTypes.shape({ + clicked: PropTypes.number, + opened: PropTypes.number, + unsubscribed: PropTypes.number, + revenue: PropTypes.shape({ + count: PropTypes.number, + currency: PropTypes.string, + formatted: PropTypes.string, + value: PropTypes.number, + }), +}); + +const QueuePropType = PropTypes.shape({ + status: PropTypes.string, + count_processed: PropTypes.string.isRequired, + count_total: PropTypes.string.isRequired, + created_at: PropTypes.string, + scheduled_at: PropTypes.string, +}); + Statistics.propTypes = { newsletter: PropTypes.shape({ id: PropTypes.number.isRequired, - queue: PropTypes.shape({ - status: PropTypes.string, - count_processed: PropTypes.string.isRequired, - count_total: PropTypes.string.isRequired, - created_at: PropTypes.string, - scheduled_at: PropTypes.string, - }), + queue: PropTypes.oneOfType([ + QueuePropType, + PropTypes.bool, + ]), total_sent: PropTypes.number, - statistics: PropTypes.shape({ - clicked: PropTypes.number, - opened: PropTypes.number, - unsubscribed: PropTypes.number, - revenue: PropTypes.number, - }), + statistics: PropTypes.oneOfType([ + StatisticsPropType, + PropTypes.bool, + ]), }).isRequired, isSent: PropTypes.bool, currentTime: PropTypes.string, }; + Statistics.defaultProps = { isSent: undefined, currentTime: undefined, diff --git a/assets/js/src/newsletters/listings/welcome.jsx b/assets/js/src/newsletters/listings/welcome.jsx index d56ee3dbed..30f978958a 100644 --- a/assets/js/src/newsletters/listings/welcome.jsx +++ b/assets/js/src/newsletters/listings/welcome.jsx @@ -330,7 +330,7 @@ class NewsletterListWelcome extends React.Component { 0 && newsletter.statistics} + isSent={newsletter.total_sent > 0 && !!newsletter.statistics} /> ) : null }