diff --git a/ghost/admin/app/components/editor/email-size-warning.hbs b/ghost/admin/app/components/editor/email-size-warning.hbs index 38d98ba26a0..83ea41cc144 100644 --- a/ghost/admin/app/components/editor/email-size-warning.hbs +++ b/ghost/admin/app/components/editor/email-size-warning.hbs @@ -1,19 +1,22 @@ {{#if this.isEnabled}} - {{! Watch for post.updatedAt changes to trigger recalculation after saves }} - - - {{#if this.warningLevel}} - + {{#if (has-block)}} +
+ {{yield this.overLimit this.emailSizeKb}} +
+ {{else}} + + + {{#if this.overLimit}} {{svg-jar "email-warning"}} - + {{/if}} + + {{#if this.overLimit}} +
+
Looks like this is a long post
+
Emails may get clipped in the inbox behind a "View entire message" link when they're over 100kB.
+
You've used: {{this.emailSizeKb}}kB
+
{{/if}}
- {{#if this.warningLevel}} -
-
Looks like this is a long post
-
Email newsletters may get cut off in the inbox behind a "View entire message" link when they're over 100kB.
-
You've used: {{this.emailSizeKb}}kB
-
- {{/if}} -
+ {{/if}} {{/if}} diff --git a/ghost/admin/app/components/editor/email-size-warning.js b/ghost/admin/app/components/editor/email-size-warning.js index 4bb9c9516c3..da1a6c65eba 100644 --- a/ghost/admin/app/components/editor/email-size-warning.js +++ b/ghost/admin/app/components/editor/email-size-warning.js @@ -9,19 +9,15 @@ export default class EmailSizeWarningComponent extends Component { @service feature; @service settings; - @tracked warningLevel = null; + @tracked overLimit = false; @tracked emailSizeKb = null; get isEnabled() { return this.feature.emailSizeWarnings && this.settings.editorDefaultEmailRecipients !== 'disabled' - && this.post - && !this.post.email - && !this.post.isNew; - } - - get post() { - return this.args.post; + && this.args.post + && !this.args.post.email + && !this.args.post.isNew; } constructor() { @@ -40,8 +36,8 @@ export default class EmailSizeWarningComponent extends Component { @task({restartable: true}) *checkEmailSizeTask() { - const result = yield this.emailSizeWarning.fetchEmailSize(this.post); - this.warningLevel = result.warningLevel; - this.emailSizeKb = result.emailSizeKb; + const result = yield this.emailSizeWarning.fetchEmailSize(this.args.post); + this.overLimit = result.overLimit; + this.emailSizeKb = result.emailSizeKb || 0; } } diff --git a/ghost/admin/app/components/editor/modals/preview/email.hbs b/ghost/admin/app/components/editor/modals/preview/email.hbs index 71b265c77d6..42e1b388be7 100644 --- a/ghost/admin/app/components/editor/modals/preview/email.hbs +++ b/ghost/admin/app/components/editor/modals/preview/email.hbs @@ -88,6 +88,17 @@ /> + + {{#if overLimit}} +
+ {{svg-jar "email-warning"}} +
+
This email is {{emailSizeKb}}kB
+
Emails may get clipped in the inbox behind a “View entire message” link when they’re over 100kB.
+
+
+ {{/if}} +