diff --git a/ghost/admin/app/styles/spirit/_koenig.css b/ghost/admin/app/styles/spirit/_koenig.css index ff3f44bfea..c166e6fa17 100644 --- a/ghost/admin/app/styles/spirit/_koenig.css +++ b/ghost/admin/app/styles/spirit/_koenig.css @@ -1039,6 +1039,29 @@ margin-top: 0; } +.kg-paywall-separator { + display: flex; + align-items: center; + height: 1em; + text-align: center; + color: var(--midlightgrey); +} + +.kg-paywall-separator::before, +.kg-paywall-separator::after { + content: ''; + flex: 1; + border-top: 1px solid #dfe1e3; +} + +.kg-paywall-separator:not(:empty)::before { + margin-right: .5em; +} + +.kg-paywall-separator:not(:empty)::after { + margin-left: .5em; +} + /* Codemirror overrides /* --------------------------------------------------------------- */ diff --git a/ghost/admin/lib/koenig-editor/addon/components/koenig-card-paywall.hbs b/ghost/admin/lib/koenig-editor/addon/components/koenig-card-paywall.hbs new file mode 100644 index 0000000000..2f8d194874 --- /dev/null +++ b/ghost/admin/lib/koenig-editor/addon/components/koenig-card-paywall.hbs @@ -0,0 +1,12 @@ + +
End of free preview
+
\ No newline at end of file diff --git a/ghost/admin/lib/koenig-editor/addon/components/koenig-card-paywall.js b/ghost/admin/lib/koenig-editor/addon/components/koenig-card-paywall.js new file mode 100644 index 0000000000..1262cb69f2 --- /dev/null +++ b/ghost/admin/lib/koenig-editor/addon/components/koenig-card-paywall.js @@ -0,0 +1,10 @@ +import Component from '@ember/component'; + +export default Component.extend({ + tagName: '', + + init() { + this._super(...arguments); + this.registerComponent(this); + } +}); diff --git a/ghost/admin/lib/koenig-editor/addon/options/cards.js b/ghost/admin/lib/koenig-editor/addon/options/cards.js index 38af5eb7b6..a0ef47f9f3 100644 --- a/ghost/admin/lib/koenig-editor/addon/options/cards.js +++ b/ghost/admin/lib/koenig-editor/addon/options/cards.js @@ -26,7 +26,8 @@ export const CARD_ICON_MAP = { embed: 'koenig/kg-card-type-gen-embed', bookmark: 'koenig/kg-card-type-bookmark', gallery: 'koenig/kg-card-type-gallery', - email: 'koenig/kg-card-type-gen-embed' + email: 'koenig/kg-card-type-gen-embed', + paywall: 'koenig/kg-card-type-divider' }; // TODO: move koenigOptions directly into cards now that card components register @@ -43,7 +44,8 @@ export default [ }}), createComponentCard('markdown', {deleteIfEmpty: 'payload.markdown'}), createComponentCard('gallery', {hasEditMode: false}), - createComponentCard('email', {deleteIfEmpty: 'payload.html'}) + createComponentCard('email', {deleteIfEmpty: 'payload.html'}), + createComponentCard('paywall', {hasEditMode: false, selectAfterInsert: false}) ]; export const CARD_MENU = [ @@ -122,7 +124,7 @@ export const CARD_MENU = [ desc: 'Mark end of free preview', matches: ['paywall'], type: 'card', - replaceArg: 'hr' + replaceArg: 'paywall' }] }, { diff --git a/ghost/admin/lib/koenig-editor/app/components/koenig-card-paywall.js b/ghost/admin/lib/koenig-editor/app/components/koenig-card-paywall.js new file mode 100644 index 0000000000..bb53bc1972 --- /dev/null +++ b/ghost/admin/lib/koenig-editor/app/components/koenig-card-paywall.js @@ -0,0 +1 @@ +export {default} from 'koenig-editor/components/koenig-card-paywall';