diff --git a/app/components/modals/email-preview.hbs b/app/components/modals/email-preview.hbs index 589858454..503f50312 100644 --- a/app/components/modals/email-preview.hbs +++ b/app/components/modals/email-preview.hbs @@ -20,7 +20,7 @@

- {{this.config.blogTitle}} <{{this.settings.membersFromAddress}}> + {{or this.newsletter.senderName this.settings.title}} <{{full-email-address (or this.newsletter.senderEmail "noreply")}}>

To: Jamie Larson <jamie@example.com>

@@ -35,7 +35,7 @@

- {{this.config.blogTitle}} <{{this.settings.membersFromAddress}}> + {{or this.newsletter.senderName this.settings.title}} <{{full-email-address (or this.newsletter.senderEmail "noreply")}}>

To: Jamie Larson <jamie@example.com>

diff --git a/app/components/modals/email-preview.js b/app/components/modals/email-preview.js index e70f44090..0608302bd 100644 --- a/app/components/modals/email-preview.js +++ b/app/components/modals/email-preview.js @@ -20,6 +20,7 @@ export default class EmailPreviewModal extends Component { @service config; @service ghostPaths; @service settings; + @service store; static modalOptions = { className: 'fullscreen-modal-full-overlay fullscreen-modal-email-preview' @@ -27,6 +28,7 @@ export default class EmailPreviewModal extends Component { @tracked tab = 'desktop'; @tracked subject = null; + @tracked newsletter = null; // cached to avoid re-fetching when changing tabs html = null; @@ -52,6 +54,19 @@ export default class EmailPreviewModal extends Component { async _fetchEmailData() { let {html, subject} = this; + // Fetch newsletter + if (!this.newsletter && this.args.data.newsletterId) { + const newsletters = (await this.store.query('newsletter', {filter: 'status:active+id:' + this.args.data.newsletterId, limit: 1})).toArray(); + const defaultNewsletter = newsletters[0]; + this.newsletter = defaultNewsletter; + } + + if (!this.newsletter) { + const newsletters = (await this.store.query('newsletter', {filter: 'status:active', limit: 1})).toArray(); + const defaultNewsletter = newsletters[0]; + this.newsletter = defaultNewsletter; + } + if (html && subject) { return; }