diff --git a/ghost/portal/src/components/Frame.styles.js b/ghost/portal/src/components/Frame.styles.js index 7e681709f1..06a96b0868 100644 --- a/ghost/portal/src/components/Frame.styles.js +++ b/ghost/portal/src/components/Frame.styles.js @@ -19,6 +19,7 @@ import {PopupNotificationStyles} from './common/PopupNotification'; import {OfferPageStyles} from './pages/OfferPage'; import {FeedbackPageStyles} from './pages/FeedbackPage'; import EmailSuppressedPage from '!!raw-loader!./pages/EmailSuppressedPage.css'; +import EmailSuppressionFAQ from '!!raw-loader!./pages/EmailSuppressionFAQ.css'; // Global styles const FrameStyles = ` @@ -1175,6 +1176,7 @@ export function getFrameStyles({site}) { MobileStyles + MultipleProductsGlobalStyles + FeedbackPageStyles + - EmailSuppressedPage; + EmailSuppressedPage + + EmailSuppressionFAQ; return FrameStyle; } diff --git a/ghost/portal/src/components/common/CloseButton.js b/ghost/portal/src/components/common/CloseButton.js index ecd6927e63..480886b404 100644 --- a/ghost/portal/src/components/common/CloseButton.js +++ b/ghost/portal/src/components/common/CloseButton.js @@ -4,11 +4,18 @@ import {ReactComponent as CloseIcon} from '../../images/icons/close.svg'; export default class CloseButton extends React.Component { static contextType = AppContext; + + closePopup = () => { + this.context.onAction('closePopup'); + }; + render() { + const {onClick} = this.props; + return (
- this.context.onAction('closePopup')} /> +
); } -} \ No newline at end of file +} diff --git a/ghost/portal/src/components/pages/EmailSuppressedPage.css b/ghost/portal/src/components/pages/EmailSuppressedPage.css index dea21a797d..1a813ab495 100644 --- a/ghost/portal/src/components/pages/EmailSuppressedPage.css +++ b/ghost/portal/src/components/pages/EmailSuppressedPage.css @@ -15,6 +15,10 @@ color: var(--grey6); } -.gh-email-suppressed-page-text a { +.gh-email-suppressed-page-button { color: var(--grey3); + cursor: pointer; + font-size: 1.5rem; + text-decoration: underline; + background: none; } diff --git a/ghost/portal/src/components/pages/EmailSuppressedPage.js b/ghost/portal/src/components/pages/EmailSuppressedPage.js index ee25e02538..e48de3634e 100644 --- a/ghost/portal/src/components/pages/EmailSuppressedPage.js +++ b/ghost/portal/src/components/pages/EmailSuppressedPage.js @@ -43,11 +43,12 @@ export default function EmailSuppressedPage() { permanent failure (bounce).

- { - window.open('https://ghost.org', '_blank'); - }}> + { + onAction('switchPage', {page: 'emailSuppressed'}); + }; + + return ( +
+
+ +
+ +
+

Why is my email disabled?

+
+
+ ); +} diff --git a/ghost/portal/src/pages.js b/ghost/portal/src/pages.js index e96d04a566..90b689794d 100644 --- a/ghost/portal/src/pages.js +++ b/ghost/portal/src/pages.js @@ -11,6 +11,7 @@ import NewsletterSelectionPage from './components/pages/NewsletterSelectionPage' import UnsubscribePage from './components/pages/UnsubscribePage'; import FeedbackPage from './components/pages/FeedbackPage'; import EmailSuppressedPage from './components/pages/EmailSuppressedPage'; +import EmailSuppressionFAQ from './components/pages/EmailSuppressionFAQ'; /** List of all available pages in Portal, mapped to their UI component * Any new page added to portal needs to be mapped here @@ -28,7 +29,8 @@ const Pages = { loading: LoadingPage, offer: OfferPage, feedback: FeedbackPage, - emailSuppressed: EmailSuppressedPage + emailSuppressed: EmailSuppressedPage, + emailSuppressionFAQ: EmailSuppressionFAQ }; /** Return page if valid, fallback to signup */