Ghost/ghost/admin/app/components/modal-email-design-settings.js
Fabien 'egg' O'Carroll 96f096a839 Added support for basic HTML newsletter footer (#1765)
no-issue

This allows users to use basic HTML to customise their newsletter
footer, meaning they can use links, and bold/italic text.
2020-11-16 10:29:32 +00:00

79 lines
1.9 KiB
JavaScript

import ModalComponent from 'ghost-admin/components/modal-base';
import {action} from '@ember/object';
import {inject as service} from '@ember/service';
import {task} from 'ember-concurrency-decorators';
import {tracked} from '@glimmer/tracking';
export default class ModalEmailDesignSettings extends ModalComponent {
@service()
settings;
@service()
config;
@tracked
showHeader = this.settings.get('newsletterShowHeader');
@tracked
bodyFontCategory = this.settings.get('newsletterBodyFontCategory');
@tracked
showBadge = this.settings.get('newsletterShowBadge');
@tracked
footerContent = this.settings.get('newsletterFooterContent');
@action
setShowHeader(event) {
this.showHeader = event.target.checked;
}
@action
setBodyFontCategory(value) {
this.bodyFontCategory = value;
}
@action
setShowBadge(event) {
this.showBadge = event.target.checked;
}
@action
setFooterContent(value) {
this.footerContent = value;
}
@action
handleInputFocus() {
this._removeShortcuts();
}
@action
handleInputBlur() {
this._setupShortcuts();
}
@action
confirm() {
this.saveSettings.perform();
}
@task({drop: true})
*saveSettings() {
if (this.showHeader !== null) {
this.settings.set('newsletterShowHeader', this.showHeader);
}
if (this.bodyFontCategory !== null) {
this.settings.set('newsletterBodyFontCategory', this.bodyFontCategory);
}
if (this.showBadge !== null) {
this.settings.set('newsletterShowBadge', this.showBadge);
}
if (this.footerContent !== null) {
this.settings.set('newsletterFooterContent', this.footerContent);
}
yield this.settings.save();
this.closeModal();
}
}