- {{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>
- {{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;
}