ghost 4.20.1 → 4.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +1 -1
- package/core/built/assets/{chunk.3.777d43e2ce954ba8b2f5.js → chunk.3.065ee3c3bdf674bd81a4.js} +17 -17
- package/core/built/assets/{ghost-dark-20e2892d4f30d0d1183c9ac725ea37d0.css → ghost-dark-1328db4a7dd128305646305a8731bcfe.css} +1 -1
- package/core/built/assets/{ghost.min-57e46fd3b1145ecf2cbd185a13611f3b.css → ghost.min-5abc69c04ad1d5301a857e01009b9c05.css} +1 -1
- package/core/built/assets/{ghost.min-26e427944e719b616b8dc7fbb3bbd2f9.js → ghost.min-6c546c322127ae6d1d1b0ddbf34be75b.js} +132 -119
- package/core/built/assets/{vendor.min-af502ac4142871500fc424f6a5a254ec.js → vendor.min-c6ef90bfd7eff256e10b85583bfe9a74.js} +401 -402
- package/core/frontend/apps/amp/lib/helpers/amp_content.js +16 -4
- package/core/frontend/meta/title.js +15 -5
- package/core/frontend/services/routing/router-manager.js +5 -3
- package/core/server/api/canary/members.js +6 -103
- package/core/server/api/canary/membersStripeConnect.js +0 -10
- package/core/server/api/canary/utils/serializers/output/images.js +4 -0
- package/core/server/api/v2/utils/serializers/output/images.js +4 -0
- package/core/server/api/v3/utils/serializers/output/images.js +4 -0
- package/core/server/services/members/api.js +1 -1
- package/core/server/services/members/emails/signup.js +2 -2
- package/core/server/services/members/stripe-connect.js +14 -0
- package/core/server/web/admin/views/default-prod.html +4 -4
- package/core/server/web/admin/views/default.html +4 -4
- package/package.json +25 -25
- package/yarn.lock +138 -181
|
@@ -147,17 +147,16 @@ const r=Ember.HTMLBars.template({id:"niBvspJ9",block:'{"symbols":[],"statements"
|
|
|
147
147
|
var i=Ember._setComponentTemplate(r,Ember.Component.extend(t.default,{classNames:"gh-blognav-item",classNameBindings:["errorClass","benefitItem.isNew::gh-blognav-item--sortable"],new:!1,addItem(){},deleteItem(){},updateLabel(){},name:(0,n.default)("benefitItem.name"),errors:Ember.computed.readOnly("benefitItem.errors"),errorClass:Ember.computed("hasError",(function(){return this.hasError?"gh-blognav-item--error":""})),actions:{addItem(e){this.addItem(e)},deleteItem(e){this.deleteItem(e)},updateLabel(e){return this.set("name",e),this.updateLabel(e,this.benefitItem)},clearLabelErrors(){this.get("benefitItem.errors")&&this.get("benefitItem.errors").remove("name")}},keyPress(e){13===e.keyCode&&(e.preventDefault(),this.get("benefitItem.isNew")?Ember.run.scheduleOnce("actions",this,this.send,"addItem",this.benefitItem):Ember.run.scheduleOnce("actions",this,this.send,"focusItem",this.benefitItem))}}))
|
|
148
148
|
e.default=i})),define("ghost-admin/components/gh-billing-iframe",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
149
149
|
const t=Ember.HTMLBars.template({id:"cEwCQjwt",block:'{"symbols":[],"statements":[[10,"iframe"],[14,1,"billing-frame"],[14,0,"billing-frame"],[14,"frameborder","0"],[12],[13]],"hasEval":false,"upvars":[]}',meta:{moduleName:"ghost-admin/components/gh-billing-iframe.hbs"}})
|
|
150
|
-
var n=Ember._setComponentTemplate(t,Ember.Component.extend({billing:Ember.inject.service(),config:Ember.inject.service(),ghostPaths:Ember.inject.service(),ajax:Ember.inject.service(),notifications:Ember.inject.service(),isOwner:null,didInsertElement(){this._super(...arguments)
|
|
151
|
-
let e
|
|
152
|
-
this.
|
|
153
|
-
|
|
154
|
-
this.ajax.request(t).then((
|
|
150
|
+
var n=Ember._setComponentTemplate(t,Ember.Component.extend({billing:Ember.inject.service(),config:Ember.inject.service(),ghostPaths:Ember.inject.service(),ajax:Ember.inject.service(),notifications:Ember.inject.service(),isOwner:null,fetchingSubscription:!1,didInsertElement(){this._super(...arguments),this.billing.getBillingIframe().src=this.billing.getIframeURL(),window.addEventListener("message",(e=>{var t,n,r
|
|
151
|
+
null!=e&&e.data&&("token"===(null===(t=e.data)||void 0===t?void 0:t.request)&&this._handleTokenRequest(),"forceUpgradeInfo"===(null===(n=e.data)||void 0===n?void 0:n.request)&&this._handleForceUpgradeRequest(),null!==(r=e.data)&&void 0!==r&&r.subscription&&this._handleSubscriptionUpdate(e.data))}))},_handleTokenRequest(){let e
|
|
152
|
+
this.set("fetchingSubscription",!1)
|
|
153
|
+
const t=this.get("ghostPaths.url").api("identities")
|
|
154
|
+
this.ajax.request(t).then((t=>{e=t&&t.identities&&t.identities[0]&&t.identities[0].token,this.billing.getBillingIframe().contentWindow.postMessage({request:"token",response:e},"*"),this.set("isOwner",!0)})).catch((e=>{var t,n
|
|
155
155
|
if(null===(t=e.payload)||void 0===t||!t.errors||"NoPermissionError"!==(null===(n=e.payload.errors[0])||void 0===n?void 0:n.type))throw e
|
|
156
|
-
this.set("isOwner",!1),this.billing.getBillingIframe().contentWindow.postMessage({request:"token",response:null},"*")})),
|
|
156
|
+
this.set("isOwner",!1),this.billing.getBillingIframe().contentWindow.postMessage({request:"token",response:null},"*")})),this.fetchingSubscription||this.billing.get("subscription")||!e||(this.set("fetchingSubscription",!0),this.billing.getBillingIframe().contentWindow.postMessage({query:"getSubscription",response:"subscription"},"*"))},_handleForceUpgradeRequest(){let e=null
|
|
157
157
|
const t=this.billing.ownerUser
|
|
158
|
-
t&&(e={name:null==t?void 0:t.name,email:null==t?void 0:t.email}),this.billing.getBillingIframe().contentWindow.postMessage({request:"forceUpgradeInfo",response:{forceUpgrade:this.config.get("hostSettings.forceUpgrade"),isOwner:this.isOwner,ownerUser:e}},"*")}
|
|
159
|
-
|
|
160
|
-
this.notifications.showAlert(Ember.String.htmlSafe(`Your audience has grown! To continue publishing, the site owner must confirm pricing for this number of members <a href="${e}">here</a>`),{type:"warn",key:"billing.exceeded"})}else this.notifications.closeAlerts("billing.exceeded")}))}}))
|
|
158
|
+
t&&(e={name:null==t?void 0:t.name,email:null==t?void 0:t.email}),this.billing.getBillingIframe().contentWindow.postMessage({request:"forceUpgradeInfo",response:{forceUpgrade:this.config.get("hostSettings.forceUpgrade"),isOwner:this.isOwner,ownerUser:e}},"*")},_handleSubscriptionUpdate(e){if(this.billing.set("subscription",e.subscription),this.billing.set("checkoutRoute",(null==e?void 0:e.checkoutRoute)||"/plans"),"active"===e.subscription.status&&this.config.get("hostSettings.forceUpgrade")&&this.config.set("hostSettings.forceUpgrade",!1),"past_due"===e.subscription.status||"unpaid"===e.subscription.status?this.notifications.showAlert("Billing error: This site is queued for suspension. The owner of this site must update payment information.",{type:"error",key:"billing.overdue"}):this.notifications.closeAlerts("billing.overdue"),null!=e&&e.exceededLimits&&null!=e&&e.exceededLimits.length&&(null==e?void 0:e.exceededLimits.indexOf("members"))>=0&&null!=e&&e.checkoutRoute){const e=this.billing.get("billingRouteRoot")+"?action=checkout"
|
|
159
|
+
this.notifications.showAlert(Ember.String.htmlSafe(`Your audience has grown! To continue publishing, the site owner must confirm pricing for this number of members <a href="${e}">here</a>`),{type:"warn",key:"billing.exceeded"})}else this.notifications.closeAlerts("billing.exceeded")}}))
|
|
161
160
|
e.default=n})),define("ghost-admin/components/gh-billing-modal",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
162
161
|
const t=Ember.HTMLBars.template({id:"OaOQNRBC",block:'{"symbols":[],"statements":[[10,"div"],[15,0,[31,[[32,0,["visibilityClass"]]]]],[12],[2,"\\n "],[10,"div"],[14,0,"gh-billing-container"],[12],[2,"\\n "],[8,"gh-billing-iframe",[],[[],[]],[["default"],[{"statements":[],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n"],[13]],"hasEval":false,"upvars":[]}',meta:{moduleName:"ghost-admin/components/gh-billing-modal.hbs"}})
|
|
163
162
|
var n=Ember._setComponentTemplate(t,Ember.Component.extend({billing:Ember.inject.service(),visibilityClass:Ember.computed("billingWindowOpen",(function(){return this.billingWindowOpen?"gh-billing":"gh-billing closed"}))}))
|
|
@@ -167,22 +166,24 @@ var n=Ember._setComponentTemplate(t,Ember.Component.extend({router:Ember.inject.
|
|
|
167
166
|
e.default=n})),define("ghost-admin/components/gh-blog-url",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
168
167
|
const t=Ember.HTMLBars.template({id:"VAFqYKJu",block:'{"symbols":[],"statements":[[2,[32,0,["config","blogUrl"]]]],"hasEval":false,"upvars":[]}',meta:{moduleName:"ghost-admin/components/gh-blog-url.hbs"}})
|
|
169
168
|
var n=Ember._setComponentTemplate(t,Ember.Component.extend({config:Ember.inject.service(),tagName:""}))
|
|
170
|
-
e.default=n})),define("ghost-admin/components/gh-brand-settings-form",["exports","@glimmer/component","ghost-admin/config/environment","ghost-admin/components/gh-image-uploader","ember-concurrency-decorators","ember-concurrency"],(function(e,t,n,r,i,a){var s,o,l,u,d,c,m,p,h,g,b,f,v,y,w
|
|
171
|
-
function
|
|
169
|
+
e.default=n})),define("ghost-admin/components/gh-brand-settings-form",["exports","@glimmer/component","ghost-admin/config/environment","ghost-admin/components/gh-image-uploader","ember-concurrency-decorators","ember-concurrency"],(function(e,t,n,r,i,a){var s,o,l,u,d,c,m,p,h,g,b,f,v,y,w,E,k
|
|
170
|
+
function P(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function _(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function j(e,t,n,r,i){var a={}
|
|
172
171
|
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
173
|
-
const _=Ember.HTMLBars.template({id:"xqLH14vW",block:'{"symbols":["uploader","error","uploader","error","uploader","error","error","&attrs"],"statements":[[11,"div"],[24,0,"gh-stack"],[17,8],[12],[2,"\\n "],[10,"div"],[14,0,"gh-stack-item gh-setting-first gh-accent-color"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-setting-content"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-setting-title"],[12],[2,"Accent color"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-setting-desc"],[12],[2,"Primary color used in your publication theme"],[13],[2,"\\n"],[6,[37,8],[[30,[36,7],[[30,[36,7],[[35,6,["errors"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-setting-error"],[12],[1,[30,[36,4],[[32,7,["context"]],[32,7,["message"]]],null]],[13],[2,"\\n"]],"parameters":[7]}]]],[2," "],[10,"div"],[14,0,"w-100 flex flex-column flex-row-ns"],[12],[2,"\\n "],[8,"gh-error-message",[[24,0,"w-100 red"]],[["@errors","@property"],[[34,9,["errors"]],"accentColor"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-setting-action"],[12],[2,"\\n "],[8,"gh-form-group",[],[["@errors","@hasValidated","@property","@class"],[[32,0,["settings","errors"]],[32,0,["settings","hasValidated"]],"accentColor","input-color-form-group"]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[14,0,"input-color"],[12],[2,"\\n "],[11,"input"],[24,"placeholder","15171A"],[24,3,"accent-color"],[24,"autocorrect","off"],[24,"maxlength","6"],[16,2,[32,0,["accentColor"]]],[24,0,"gh-input"],[24,4,"text"],[4,[38,0],["input",[30,[36,10],[[32,0,["debounceUpdateAccentColor"]]],null]],null],[4,[38,0],["blur",[32,0,["updateAccentColor"]]],null],[4,[38,11],["Enter",[32,0,["blurElement"]]],null],[12],[13],[2,"\\n "],[10,"div"],[14,0,"color-picker-horizontal-divider"],[12],[13],[2,"\\n "],[10,"div"],[14,0,"color-box-container"],[15,5,[32,0,["accentColorBgStlye"]]],[12],[2,"\\n "],[11,"input"],[24,3,"accent-color"],[24,0,"color-picker"],[16,2,[31,[[32,0,["accentColorPickerValue"]]]]],[24,4,"color"],[4,[38,0],["input",[30,[36,10],[[32,0,["debounceUpdateAccentColor"]]],null]],null],[12],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-stack-item gh-setting"],[12],[2,"\\n "],[8,"gh-uploader",[],[["@extensions","@paramsHash","@onComplete"],[[32,0,["iconExtensions"]],[30,[36,12],null,[["purpose"],["icon"]]],[30,[36,1],[[32,0,["imageUploaded"]],"icon"],null]]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[14,0,"gh-setting-content"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-setting-title"],[12],[2,"Publication icon"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-setting-desc"],[12],[2,"A square, social icon used in the UI of your publication, at least 60x60px"],[13],[2,"\\n"],[6,[37,8],[[30,[36,7],[[30,[36,7],[[32,5,["errors"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-setting-error"],[12],[1,[30,[36,4],[[32,6,["context"]],[32,6,["message"]]],null]],[13],[2,"\\n"]],"parameters":[6]}]]],[2," "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-setting-action gh-uploadbutton-container gh-setting-action-smallimg flex flex-column"],[12],[2,"\\n"],[6,[37,3],[[32,5,["isUploading"]]],null,[["default","else"],[{"statements":[[2," "],[1,[32,5,["progressBar"]]],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,3],[[32,0,["settings","icon"]]],null,[["default","else"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-branding-image-container transparent-bg"],[12],[2,"\\n "],[11,"img"],[24,0,"blog-icon"],[16,"src",[31,[[32,0,["settings","icon"]]]]],[24,"alt","icon"],[4,[38,0],["click",[32,0,["triggerFileDialog"]]],null],[12],[13],[2,"\\n "],[11,"button"],[24,0,"gh-setting-action-smallimg-delete"],[24,4,"button"],[4,[38,0],["click",[30,[36,1],[[32,0,["removeImage"]],"icon"],null]],null],[12],[2,"\\n "],[1,[30,[36,2],["trash"],[["class"],["w4 h4 fill-white"]]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[11,"button"],[24,0,"gh-btn self-center"],[24,4,"button"],[4,[38,0],["click",[35,5]],null],[12],[2,"\\n "],[10,"span"],[12],[2,"Upload icon"],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[10,"div"],[14,5,"display:none"],[12],[2,"\\n "],[8,"gh-file-input",[],[["@multiple","@action","@accept"],[false,[32,5,["setFiles"]],[32,0,["iconMimeTypes"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[5]}]]],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-stack-item gh-setting"],[12],[2,"\\n "],[8,"gh-uploader",[],[["@extensions","@onComplete"],[[32,0,["imageExtensions"]],[30,[36,1],[[32,0,["imageUploaded"]],"logo"],null]]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-setting-title"],[12],[2,"Publication logo"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-setting-desc mb3"],[12],[2,"The primary logo for your brand displayed across your theme, should be transparent and at least 600px x 72px"],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-setting-action gh-uploadbutton-container gh-setting-action-smallimg flex flex-column"],[12],[2,"\\n"],[6,[37,8],[[30,[36,7],[[30,[36,7],[[32,3,["errors"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-setting-error"],[12],[1,[30,[36,4],[[32,4,["context"]],[32,4,["message"]]],null]],[13],[2,"\\n"]],"parameters":[4]}]]],[6,[37,3],[[32,3,["isUploading"]]],null,[["default","else"],[{"statements":[[2," "],[1,[32,3,["progressBar"]]],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,3],[[32,0,["settings","logo"]]],null,[["default","else"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-branding-image-container largeimg justify-center transparent-bg"],[12],[2,"\\n "],[11,"img"],[24,0,"blog-logo"],[16,"src",[31,[[32,0,["settings","logo"]]]]],[24,"alt","logo"],[4,[38,0],["click",[32,0,["triggerFileDialog"]]],null],[12],[13],[2,"\\n "],[11,"button"],[24,0,"gh-setting-action-smallimg-delete"],[24,4,"button"],[4,[38,0],["click",[30,[36,1],[[32,0,["removeImage"]],"logo"],null]],null],[12],[2,"\\n "],[1,[30,[36,2],["trash"],[["class"],["w4 h4 fill-white"]]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[11,"button"],[24,0,"gh-btn self-start"],[24,4,"button"],[4,[38,0],["click",[32,0,["triggerFileDialog"]]],null],[12],[2,"\\n "],[10,"span"],[12],[2,"Upload logo"],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[10,"div"],[14,5,"display:none"],[12],[2,"\\n "],[8,"gh-file-input",[],[["@multiple","@action","@accept"],[false,[32,3,["setFiles"]],[32,0,["imageMimeTypes"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[3]}]]],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-stack-item gh-setting"],[12],[2,"\\n "],[8,"gh-uploader",[],[["@extensions","@onComplete"],[[32,0,["imageExtensions"]],[30,[36,1],[[32,0,["imageUploaded"]],"coverImage"],null]]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-setting-title"],[12],[2,"Publication cover"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-setting-desc mb3"],[12],[2,"An optional large background image for your site"],[13],[2,"\\n"],[6,[37,8],[[30,[36,7],[[30,[36,7],[[32,1,["errors"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-setting-error"],[12],[1,[30,[36,4],[[32,2,["context"]],[32,2,["message"]]],null]],[13],[2,"\\n"]],"parameters":[2]}]]],[2,"\\n "],[10,"div"],[14,0,"gh-setting-action gh-uploadbutton-container flex flex-column items-stretch"],[12],[2,"\\n"],[6,[37,3],[[32,1,["isUploading"]]],null,[["default","else"],[{"statements":[[2," "],[1,[32,1,["progressBar"]]],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,3],[[32,0,["settings","coverImage"]]],null,[["default","else"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-branding-image-container largeimg justify-start"],[12],[2,"\\n "],[11,"img"],[24,0,"blog-cover"],[16,"src",[31,[[32,0,["settings","coverImage"]]]]],[24,"alt","cover photo"],[4,[38,0],["click",[32,0,["triggerFileDialog"]]],null],[12],[13],[2,"\\n "],[11,"button"],[24,0,"gh-setting-action-largeimg-delete"],[24,4,"button"],[4,[38,0],["click",[30,[36,1],[[32,0,["removeImage"]],"coverImage"],null]],null],[12],[2,"\\n "],[1,[30,[36,2],["trash"],[["class"],["w4 h4 fill-white"]]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[11,"button"],[24,0,"gh-btn self-start"],[24,4,"button"],[4,[38,0],["click",[32,0,["triggerFileDialog"]]],null],[12],[2,"\\n "],[10,"span"],[12],[2,"Upload cover"],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[10,"div"],[14,5,"display:none"],[12],[2,"\\n "],[8,"gh-file-input",[],[["@multiple","@action","@accept"],[false,[32,1,["setFiles"]],[32,0,["imageMimeTypes"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[1]}]]],[2,"\\n "],[13],[2,"\\n"],[13]],"hasEval":false,"upvars":["on","fn","svg-jar","if","or","triggerFileDialog","uploader","-track-array","each","settings","perform","on-key","hash"]}',meta:{moduleName:"ghost-admin/components/gh-brand-settings-form.hbs"}})
|
|
174
|
-
let
|
|
172
|
+
const x=Ember.HTMLBars.template({id:"xqLH14vW",block:'{"symbols":["uploader","error","uploader","error","uploader","error","error","&attrs"],"statements":[[11,"div"],[24,0,"gh-stack"],[17,8],[12],[2,"\\n "],[10,"div"],[14,0,"gh-stack-item gh-setting-first gh-accent-color"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-setting-content"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-setting-title"],[12],[2,"Accent color"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-setting-desc"],[12],[2,"Primary color used in your publication theme"],[13],[2,"\\n"],[6,[37,8],[[30,[36,7],[[30,[36,7],[[35,6,["errors"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-setting-error"],[12],[1,[30,[36,4],[[32,7,["context"]],[32,7,["message"]]],null]],[13],[2,"\\n"]],"parameters":[7]}]]],[2," "],[10,"div"],[14,0,"w-100 flex flex-column flex-row-ns"],[12],[2,"\\n "],[8,"gh-error-message",[[24,0,"w-100 red"]],[["@errors","@property"],[[34,9,["errors"]],"accentColor"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-setting-action"],[12],[2,"\\n "],[8,"gh-form-group",[],[["@errors","@hasValidated","@property","@class"],[[32,0,["settings","errors"]],[32,0,["settings","hasValidated"]],"accentColor","input-color-form-group"]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[14,0,"input-color"],[12],[2,"\\n "],[11,"input"],[24,"placeholder","15171A"],[24,3,"accent-color"],[24,"autocorrect","off"],[24,"maxlength","6"],[16,2,[32,0,["accentColor"]]],[24,0,"gh-input"],[24,4,"text"],[4,[38,0],["input",[30,[36,10],[[32,0,["debounceUpdateAccentColor"]]],null]],null],[4,[38,0],["blur",[32,0,["updateAccentColor"]]],null],[4,[38,11],["Enter",[32,0,["blurElement"]]],null],[12],[13],[2,"\\n "],[10,"div"],[14,0,"color-picker-horizontal-divider"],[12],[13],[2,"\\n "],[10,"div"],[14,0,"color-box-container"],[15,5,[32,0,["accentColorBgStlye"]]],[12],[2,"\\n "],[11,"input"],[24,3,"accent-color"],[24,0,"color-picker"],[16,2,[31,[[32,0,["accentColorPickerValue"]]]]],[24,4,"color"],[4,[38,0],["input",[30,[36,10],[[32,0,["debounceUpdateAccentColor"]]],null]],null],[12],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-stack-item gh-setting"],[12],[2,"\\n "],[8,"gh-uploader",[],[["@extensions","@paramsHash","@onComplete"],[[32,0,["iconExtensions"]],[30,[36,12],null,[["purpose"],["icon"]]],[30,[36,1],[[32,0,["imageUploaded"]],"icon"],null]]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[14,0,"gh-setting-content"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-setting-title"],[12],[2,"Publication icon"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-setting-desc"],[12],[2,"A square, social icon used in the UI of your publication, at least 60x60px"],[13],[2,"\\n"],[6,[37,8],[[30,[36,7],[[30,[36,7],[[32,5,["errors"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-setting-error"],[12],[1,[30,[36,4],[[32,6,["context"]],[32,6,["message"]]],null]],[13],[2,"\\n"]],"parameters":[6]}]]],[2," "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-setting-action gh-uploadbutton-container gh-setting-action-smallimg flex flex-column"],[12],[2,"\\n"],[6,[37,3],[[32,5,["isUploading"]]],null,[["default","else"],[{"statements":[[2," "],[1,[32,5,["progressBar"]]],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,3],[[32,0,["settings","icon"]]],null,[["default","else"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-branding-image-container transparent-bg"],[12],[2,"\\n "],[11,"img"],[24,0,"blog-icon"],[16,"src",[31,[[32,0,["settings","icon"]]]]],[24,"alt","icon"],[4,[38,0],["click",[32,0,["triggerFileDialog"]]],null],[12],[13],[2,"\\n "],[11,"button"],[24,0,"gh-setting-action-smallimg-delete"],[24,4,"button"],[4,[38,0],["click",[30,[36,1],[[32,0,["removeImage"]],"icon"],null]],null],[12],[2,"\\n "],[1,[30,[36,2],["trash"],[["class"],["w4 h4 fill-white"]]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[11,"button"],[24,0,"gh-btn self-center"],[24,4,"button"],[4,[38,0],["click",[35,5]],null],[12],[2,"\\n "],[10,"span"],[12],[2,"Upload icon"],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[10,"div"],[14,5,"display:none"],[12],[2,"\\n "],[8,"gh-file-input",[],[["@multiple","@action","@accept"],[false,[32,5,["setFiles"]],[32,0,["iconMimeTypes"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[5]}]]],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-stack-item gh-setting"],[12],[2,"\\n "],[8,"gh-uploader",[],[["@extensions","@onComplete"],[[32,0,["imageExtensions"]],[30,[36,1],[[32,0,["imageUploaded"]],"logo"],null]]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-setting-title"],[12],[2,"Publication logo"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-setting-desc mb3"],[12],[2,"The primary logo for your brand displayed across your theme, should be transparent and at least 600px x 72px"],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-setting-action gh-uploadbutton-container gh-setting-action-smallimg flex flex-column"],[12],[2,"\\n"],[6,[37,8],[[30,[36,7],[[30,[36,7],[[32,3,["errors"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-setting-error"],[12],[1,[30,[36,4],[[32,4,["context"]],[32,4,["message"]]],null]],[13],[2,"\\n"]],"parameters":[4]}]]],[6,[37,3],[[32,3,["isUploading"]]],null,[["default","else"],[{"statements":[[2," "],[1,[32,3,["progressBar"]]],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,3],[[32,0,["settings","logo"]]],null,[["default","else"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-branding-image-container largeimg justify-center transparent-bg"],[12],[2,"\\n "],[11,"img"],[24,0,"blog-logo"],[16,"src",[31,[[32,0,["settings","logo"]]]]],[24,"alt","logo"],[4,[38,0],["click",[32,0,["triggerFileDialog"]]],null],[12],[13],[2,"\\n "],[11,"button"],[24,0,"gh-setting-action-smallimg-delete"],[24,4,"button"],[4,[38,0],["click",[30,[36,1],[[32,0,["removeImage"]],"logo"],null]],null],[12],[2,"\\n "],[1,[30,[36,2],["trash"],[["class"],["w4 h4 fill-white"]]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[11,"button"],[24,0,"gh-btn self-start"],[24,4,"button"],[4,[38,0],["click",[32,0,["triggerFileDialog"]]],null],[12],[2,"\\n "],[10,"span"],[12],[2,"Upload logo"],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[10,"div"],[14,5,"display:none"],[12],[2,"\\n "],[8,"gh-file-input",[],[["@multiple","@action","@accept"],[false,[32,3,["setFiles"]],[32,0,["imageMimeTypes"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[3]}]]],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-stack-item gh-setting"],[12],[2,"\\n "],[8,"gh-uploader",[],[["@extensions","@onComplete"],[[32,0,["imageExtensions"]],[30,[36,1],[[32,0,["imageUploaded"]],"coverImage"],null]]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-setting-title"],[12],[2,"Publication cover"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-setting-desc mb3"],[12],[2,"An optional large background image for your site"],[13],[2,"\\n"],[6,[37,8],[[30,[36,7],[[30,[36,7],[[32,1,["errors"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-setting-error"],[12],[1,[30,[36,4],[[32,2,["context"]],[32,2,["message"]]],null]],[13],[2,"\\n"]],"parameters":[2]}]]],[2,"\\n "],[10,"div"],[14,0,"gh-setting-action gh-uploadbutton-container flex flex-column items-stretch"],[12],[2,"\\n"],[6,[37,3],[[32,1,["isUploading"]]],null,[["default","else"],[{"statements":[[2," "],[1,[32,1,["progressBar"]]],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,3],[[32,0,["settings","coverImage"]]],null,[["default","else"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-branding-image-container largeimg justify-start"],[12],[2,"\\n "],[11,"img"],[24,0,"blog-cover"],[16,"src",[31,[[32,0,["settings","coverImage"]]]]],[24,"alt","cover photo"],[4,[38,0],["click",[32,0,["triggerFileDialog"]]],null],[12],[13],[2,"\\n "],[11,"button"],[24,0,"gh-setting-action-largeimg-delete"],[24,4,"button"],[4,[38,0],["click",[30,[36,1],[[32,0,["removeImage"]],"coverImage"],null]],null],[12],[2,"\\n "],[1,[30,[36,2],["trash"],[["class"],["w4 h4 fill-white"]]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[11,"button"],[24,0,"gh-btn self-start"],[24,4,"button"],[4,[38,0],["click",[32,0,["triggerFileDialog"]]],null],[12],[2,"\\n "],[10,"span"],[12],[2,"Upload cover"],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[10,"div"],[14,5,"display:none"],[12],[2,"\\n "],[8,"gh-file-input",[],[["@multiple","@action","@accept"],[false,[32,1,["setFiles"]],[32,0,["imageMimeTypes"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[1]}]]],[2,"\\n "],[13],[2,"\\n"],[13]],"hasEval":false,"upvars":["on","fn","svg-jar","if","or","triggerFileDialog","uploader","-track-array","each","settings","perform","on-key","hash"]}',meta:{moduleName:"ghost-admin/components/gh-brand-settings-form.hbs"}})
|
|
173
|
+
let O=(s=Ember.inject.service,o=Ember.inject.service,l=Ember.inject.service,u=Ember.inject.service,d=Ember.inject.service,c=Ember._action,m=Ember._action,p=Ember._action,h=Ember._action,g=Ember._action,b=(0,i.task)({restartable:!0}),f=class extends t.default{get accentColor(){const e=this.settings.get("accentColor")
|
|
175
174
|
return e&&"#"===e[0]?e.slice(1):e}get accentColorPickerValue(){return this.settings.get("accentColor")||"#ffffff"}get accentColorBgStyle(){return Ember.String.htmlSafe(`background-color: ${this.accentColorPickerValue}`)}get previewData(){const e=new URLSearchParams
|
|
176
|
-
return e.append("c",this.accentColorPickerValue),e.append("icon",this.settings.get("icon")),e.append("logo",this.settings.get("logo")),e.append("cover",this.settings.get("coverImage")),e.toString()}constructor(){super(...arguments),
|
|
175
|
+
return e.append("c",this.accentColorPickerValue),e.append("icon",this.settings.get("icon")),e.append("logo",this.settings.get("logo")),e.append("cover",this.settings.get("coverImage")),e.toString()}constructor(){super(...arguments),P(this,"ajax",v,this),P(this,"config",y,this),P(this,"ghostPaths",w,this),P(this,"settings",E,this),P(this,"frontend",k,this),_(this,"iconExtensions",r.ICON_EXTENSIONS),_(this,"iconMimeTypes",r.ICON_MIME_TYPES),_(this,"imageExtensions",r.IMAGE_EXTENSIONS),_(this,"imageMimeTypes",r.IMAGE_MIME_TYPES),this.updatePreviewTask.perform()}willDestroy(){var e
|
|
177
176
|
null===(e=super.willDestroy)||void 0===e||e.call(this,...arguments),this.settings.errors.remove("accentColor"),this.settings.rollbackAttributes()}triggerFileDialog({target:e}){var t,n
|
|
178
177
|
null===(t=e.closest(".gh-setting-action"))||void 0===t||null===(n=t.querySelector('input[type="file"]'))||void 0===n||n.click()}async imageUploaded(e,t){t[0]&&(this.settings.set(e,t[0].url),this.updatePreviewTask.perform())}async removeImage(e){this.settings.set(e,""),this.updatePreviewTask.perform()}blurElement(e){e.preventDefault(),e.target.blur()}async updateAccentColor(e){let t=e.target.value
|
|
179
178
|
const n=this.settings.get("accentColor")
|
|
180
179
|
if(this.settings.errors.remove("accentColor"),this.settings.hasValidated.removeObject("accentColor"),""===t){if(t===n)return
|
|
181
180
|
return this.settings.errors.add("accentColor","Please select an accent color"),void this.settings.hasValidated.pushObject("accentColor")}if(t||(t=n),"#"!==t[0]&&(t=`#${t}`),t.match(/#[0-9A-Fa-f]{6}$/)){if(t===n)return
|
|
182
181
|
this.settings.set("accentColor",t),this.updatePreviewTask.perform()}else this.settings.errors.add("accentColor","Please enter a color in hex format"),this.settings.hasValidated.pushObject("accentColor")}*debounceUpdateAccentColor(e){yield(0,a.timeout)(500),this.updateAccentColor(e)}*updatePreviewTask(){if("test"===n.default.environment)return
|
|
183
|
-
const e={
|
|
184
|
-
|
|
185
|
-
|
|
182
|
+
const e=yield this.frontend.fetch("/",{method:"POST",headers:{"Content-Type":"text/html;charset=utf-8","x-ghost-preview":this.previewData,Accept:"text/plain"}}),t=yield e.text(),r=(new DOMParser).parseFromString(t,"text/html"),i=r.querySelector("style"),a=i.innerHTML
|
|
183
|
+
i.innerHTML=`${a}\n\nhtml { pointer-events: none; }`
|
|
184
|
+
const s=(new XMLSerializer).serializeToString(r.doctype)+r.documentElement.outerHTML
|
|
185
|
+
this.args.replacePreviewContents(s)}},v=j(f.prototype,"ajax",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),y=j(f.prototype,"config",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),w=j(f.prototype,"ghostPaths",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),E=j(f.prototype,"settings",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=j(f.prototype,"frontend",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j(f.prototype,"triggerFileDialog",[c],Object.getOwnPropertyDescriptor(f.prototype,"triggerFileDialog"),f.prototype),j(f.prototype,"imageUploaded",[m],Object.getOwnPropertyDescriptor(f.prototype,"imageUploaded"),f.prototype),j(f.prototype,"removeImage",[p],Object.getOwnPropertyDescriptor(f.prototype,"removeImage"),f.prototype),j(f.prototype,"blurElement",[h],Object.getOwnPropertyDescriptor(f.prototype,"blurElement"),f.prototype),j(f.prototype,"updateAccentColor",[g],Object.getOwnPropertyDescriptor(f.prototype,"updateAccentColor"),f.prototype),j(f.prototype,"debounceUpdateAccentColor",[b],Object.getOwnPropertyDescriptor(f.prototype,"debounceUpdateAccentColor"),f.prototype),j(f.prototype,"updatePreviewTask",[i.task],Object.getOwnPropertyDescriptor(f.prototype,"updatePreviewTask"),f.prototype),f)
|
|
186
|
+
e.default=O,Ember._setComponentTemplate(x,O)})),define("ghost-admin/components/gh-browser-preview",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
186
187
|
const t=Ember.HTMLBars.template({id:"C4VaPZj3",block:'{"symbols":["@icon","&attrs","@title","&default"],"statements":[[2,"\\n\\n"],[11,"div"],[24,0,"gh-browserpreview-previewcontainer"],[17,2],[12],[2,"\\n "],[10,"div"],[14,0,"gh-browserpreview-browser"],[12],[2,"\\n "],[10,"div"],[14,0,"tabs"],[12],[2,"\\n "],[10,"ul"],[12],[10,"li"],[12],[13],[10,"li"],[12],[13],[10,"li"],[12],[13],[13],[2,"\\n "],[10,"div"],[12],[2,"\\n"],[6,[37,1],[[32,1]],null,[["default","else"],[{"statements":[[2," "],[10,"span"],[14,0,"favicon"],[12],[10,"img"],[15,"src",[32,1]],[14,"alt","icon"],[12],[13],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"span"],[14,0,"favicon default"],[12],[1,[30,[36,0],["default-favicon"],null]],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[10,"span"],[14,0,"site-title"],[12],[1,[32,3]],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-browserpreview-iframecontainer"],[12],[2,"\\n "],[18,4,null],[2,"\\n "],[13],[2,"\\n"],[13]],"hasEval":false,"upvars":["svg-jar","if"]}',meta:{moduleName:"ghost-admin/components/gh-browser-preview.hbs"}})
|
|
187
188
|
var n=Ember._setComponentTemplate(t,Ember._templateOnlyComponent())
|
|
188
189
|
e.default=n})),define("ghost-admin/components/gh-canvas-header",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
@@ -248,7 +249,7 @@ e.dataTransfer.dropEffect="move"===t||"linkMove"===t?"move":"copy"}e.preventDefa
|
|
|
248
249
|
e.default=_,Ember._setComponentTemplate(P,_)})),define("ghost-admin/components/gh-editor-post-status",["exports","@glimmer/component","ghost-admin/config/environment","ghost-admin/helpers/gh-format-post-time","ember-concurrency-decorators","ember-concurrency"],(function(e,t,n,r,i,a){var s,o,l,u,d,c,m,p
|
|
249
250
|
function h(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function g(e,t,n,r,i){var a={}
|
|
250
251
|
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
251
|
-
const b=Ember.HTMLBars.template({id:"
|
|
252
|
+
const b=Ember.HTMLBars.template({id:"IRTnPJCv",block:'{"symbols":["@hasDirtyAttributes","@post","&attrs"],"statements":[[11,"div"],[17,3],[12],[2,"\\n"],[6,[37,1],[[32,0,["isSaving"]]],null,[["default","else"],[{"statements":[[2," Saving...\\n"]],"parameters":[]},{"statements":[[6,[37,1],[[32,2,["isSent"]]],null,[["default","else"],[{"statements":[[2," Sent to "],[1,[30,[36,3],[[32,2,["email","emailCount"]],"member"],null]],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,1],[[30,[36,5],[[32,2,["isPublished"]],[32,2,["pastScheduledTime"]]],null]],null,[["default","else"],[{"statements":[[2," Published\\n"],[6,[37,1],[[30,[36,5],[[30,[36,4],[[32,2,["email","status"]],"submitting"],null],[30,[36,4],[[32,2,["email","status"]],"submitting"],null]],null]],null,[["default","else"],[{"statements":[[2," and sending to "],[1,[30,[36,3],[[32,2,["email","emailCount"]],"member"],null]],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,1],[[30,[36,4],[[32,2,["email","status"]],"submitted"],null]],null,[["default"],[{"statements":[[2," and sent to "],[1,[30,[36,3],[[32,2,["email","emailCount"]],"member"],null]],[2,"\\n "]],"parameters":[]}]]]],"parameters":[]}]]]],"parameters":[]},{"statements":[[6,[37,1],[[32,2,["isScheduled"]]],null,[["default","else"],[{"statements":[[2," "],[10,"time"],[15,"datetime",[31,[[32,2,["publishedAtUTC"]]]]],[14,0,"ml1 green f8"],[12],[2,"\\n Will be published\\n"],[6,[37,1],[[30,[36,2],[[32,2,["emailRecipientFilter"]],[30,[36,0],[[32,2,["email"]]],null]],null]],null,[["default"],[{"statements":[[2," and sent to "],[8,"gh-recipient-filter-count",[],[["@filter"],[[32,2,["emailRecipientFilter"]]]],null],[2,"\\n"]],"parameters":[]}]]],[2," "],[1,[32,0,["scheduledTime"]]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,1],[[32,2,["isNew"]]],null,[["default","else"],[{"statements":[[2," New\\n"]],"parameters":[]},{"statements":[[2," Draft\\n "],[1,[30,[36,1],[[30,[36,0],[[32,1]],null],"- Saved"],null]],[2,"\\n "]],"parameters":[]}]]]],"parameters":[]}]]]],"parameters":[]}]]]],"parameters":[]}]]]],"parameters":[]}]]],[13]],"hasEval":false,"upvars":["not","if","and","gh-pluralize","eq","or"]}',meta:{moduleName:"ghost-admin/components/gh-editor-post-status.hbs"}})
|
|
252
253
|
let f=(s=Ember.inject.service,o=Ember.inject.service,l=Ember._tracked,u=(0,i.task)({drop:!0}),d=class extends t.default{constructor(...e){super(...e),h(this,"clock",c,this),h(this,"settings",m,this),h(this,"_isSaving",p,this)}get isSaving(){return this.args.isSaving&&this.showSavingMessage.perform(),this._isSaving}get scheduledTime(){return Ember.get(this.clock,"second"),(0,r.formatPostTime)(this.args.post.publishedAtUTC,{timezone:this.settings.get("timezone"),scheduled:!0})}*showSavingMessage(){this._isSaving=!0,yield(0,a.timeout)("test"===n.default.environment?0:3e3),this.isDestroyed||this.isDestroying||(this._isSaving=!1)}},c=g(d.prototype,"clock",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),m=g(d.prototype,"settings",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),p=g(d.prototype,"_isSaving",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),g(d.prototype,"showSavingMessage",[u],Object.getOwnPropertyDescriptor(d.prototype,"showSavingMessage"),d.prototype),d)
|
|
253
254
|
e.default=f,Ember._setComponentTemplate(b,f)})),define("ghost-admin/components/gh-editor",["exports","ghost-admin/components/gh-image-uploader"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
254
255
|
const n=Ember.HTMLBars.template({id:"pZZuA2kO",block:'{"symbols":["&default"],"statements":[[18,1,[[30,[36,1],null,[["headerHeight","isDraggedOver","isFullScreen","droppedFiles","uploadedImageUrls","imageMimeTypes","imageExtensions","toggleFullScreen","togglePreview","toggleSplitScreen","uploadComplete","uploadCancelled","uploadImages"],[[32,0,["headerHeight"]],[32,0,["isDraggedOver"]],[32,0,["isFullScreen"]],[32,0,["droppedFiles"]],[32,0,["uploadedImageUrls"]],[32,0,["imageMimeTypes"]],[32,0,["imageExtensions"]],[30,[36,0],[[32,0],"toggleFullScreen"],null],[30,[36,0],[[32,0],"togglePreview"],null],[30,[36,0],[[32,0],"toggleSplitScreen"],null],[30,[36,0],[[32,0],"uploadComplete"],null],[30,[36,0],[[32,0],"uploadCancelled"],null],[30,[36,0],[[32,0],"uploadImages"],null]]]]]],[2,"\\n"]],"hasEval":false,"upvars":["action","hash"]}',meta:{moduleName:"ghost-admin/components/gh-editor.hbs"}})
|
|
@@ -391,12 +392,12 @@ this.koenigEditor=e.editor,this.koenigEditor.registerKeyCommand({str:"SHIFT+TAB"
|
|
|
391
392
|
let e=this.koenigEditor,t=e.post.toRange().head.section
|
|
392
393
|
!t.isListItem&&t.isBlank&&""===t.text||e.run((e=>{let{builder:n}=e,r=n.createMarkupSection("p"),i=t.isListItem?t.parent.parent.sections:t.parent.sections
|
|
393
394
|
e.insertSectionBefore(i,r,t)}))}},p=f(m.prototype,"titleIsHovered",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),h=f(m.prototype,"titleIsFocused",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),f(m.prototype,"registerElement",[i],Object.getOwnPropertyDescriptor(m.prototype,"registerElement"),m.prototype),f(m.prototype,"trackMousedown",[a],Object.getOwnPropertyDescriptor(m.prototype,"trackMousedown"),m.prototype),f(m.prototype,"registerTitleElement",[s],Object.getOwnPropertyDescriptor(m.prototype,"registerTitleElement"),m.prototype),f(m.prototype,"updateTitle",[o],Object.getOwnPropertyDescriptor(m.prototype,"updateTitle"),m.prototype),f(m.prototype,"focusTitle",[l],Object.getOwnPropertyDescriptor(m.prototype,"focusTitle"),m.prototype),f(m.prototype,"onTitleKeydown",[u],Object.getOwnPropertyDescriptor(m.prototype,"onTitleKeydown"),m.prototype),f(m.prototype,"onEditorCreated",[d],Object.getOwnPropertyDescriptor(m.prototype,"onEditorCreated"),m.prototype),f(m.prototype,"focusEditor",[c],Object.getOwnPropertyDescriptor(m.prototype,"focusEditor"),m.prototype),m)
|
|
394
|
-
e.default=y,Ember._setComponentTemplate(v,y)})),define("ghost-admin/components/gh-launch-wizard/connect-stripe",["exports","@glimmer/component","ember-concurrency-decorators","ember-concurrency"],(function(e,t,n,r){var i,a,s,o,l,u,d,c,m,p,h,g,b,f,v,y,w,E,k,P,_,j,x,O,T,S,M,C,A,
|
|
395
|
-
function
|
|
395
|
+
e.default=y,Ember._setComponentTemplate(v,y)})),define("ghost-admin/components/gh-launch-wizard/connect-stripe",["exports","@glimmer/component","ember-concurrency-decorators","ember-concurrency"],(function(e,t,n,r){var i,a,s,o,l,u,d,c,m,p,h,g,b,f,v,y,w,E,k,P,_,j,x,O,T,S,M,C,z,A,D,I
|
|
396
|
+
function U(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function L(e,t,n,r,i){var a={}
|
|
396
397
|
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
397
398
|
const R=Ember.HTMLBars.template({id:"Zvnt+bQf",block:'{"symbols":["@skipStep","@backStep"],"statements":[[10,"div"],[14,0,"gh-launch-wizard-settings-container"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-stack overflow-y-auto flex-grow-1"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-stack-item gh-setting-first"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-members-stripe-info gh-launch-wizard-stripe-info"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-members-stripe-info-header"],[12],[2,"\\n "],[10,"h4"],[12],[2,"Getting paid"],[13],[2,"\\n "],[1,[30,[36,3],["stripe-verified-partner-badge"],[["class"],["gh-members-stripe-badge"]]]],[2,"\\n "],[13],[2,"\\n "],[10,"p"],[14,0,"f8 mt2 mb0"],[12],[2,"\\n Stripe is our exclusive direct payments partner. Ghost collects "],[10,"strong"],[12],[2,"no fees"],[13],[2," on any payments! If you don’t have a Stripe account yet, you can "],[10,"a"],[14,6,"https://stripe.com"],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[14,0,"gh-members-stripe-link"],[12],[2,"sign up here"],[13],[2,".\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[6,[37,2],[[32,0,["config","stripeDirect"]]],null,[["default","else"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-stack-item gh-setting flex-column"],[12],[2,"\\n "],[10,"div"],[14,0,"mb4"],[12],[2,"\\n "],[10,"label"],[14,"for","stripe-publishable-key"],[14,0,"gh-setting-title"],[12],[2,"Stripe Publishable key"],[13],[2,"\\n "],[8,"gh-text-input",[[24,0,"mt1 password"],[4,[38,4],["input",[32,0,["setStripeDirectPublicKey"]]],null]],[["@id","@type","@value"],["stripe-publishable-key","password",[30,[36,6],[[32,0,["settings","stripePublishableKey"]]],null]]],null],[2,"\\n "],[6,[37,2],[[32,0,["stripePublishableKeyError"]]],null,[["default"],[{"statements":[[10,"p"],[14,0,"mb0 mt2 f8 red"],[12],[1,[32,0,["stripePublishableKeyError"]]],[13]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"label"],[14,"for","stripe-secret-key"],[14,0,"gh-setting-title"],[12],[2,"Stripe Secret key"],[13],[2,"\\n "],[8,"gh-text-input",[[24,0,"mt1 password"],[4,[38,4],["input",[32,0,["setStripeDirectSecretKey"]]],null]],[["@id","@type","@value"],["stripe-secret-key","password",[30,[36,6],[[32,0,["settings","stripeSecretKey"]]],null]]],null],[2,"\\n "],[6,[37,2],[[32,0,["stripeSecretKeyError"]]],null,[["default"],[{"statements":[[10,"p"],[14,0,"mb0 mt2 f8 red"],[12],[1,[32,0,["stripeSecretKeyError"]]],[13]],"parameters":[]}]]],[2,"\\n "],[10,"a"],[14,6,"https://dashboard.stripe.com/account/apikeys"],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[14,0,"mt1 fw4 f8"],[12],[2,"\\n Find your Stripe API keys here »\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-setting-desc"],[12],[11,"a"],[24,6,"javascript:void(0)"],[4,[38,4],["click",[32,1]],null],[12],[2,"Skip"],[13],[2," if you don\'t want to offer paid subscriptions."],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"div"],[14,0,"gh-stack-item gh-setting flex-wrap"],[12],[2,"\\n"],[6,[37,2],[[32,0,["settings","stripeConnectAccountId"]]],null,[["default","else"],[{"statements":[[2," "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-setting-title"],[12],[2,"Already connected to Stripe"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-setting-desc mt2"],[12],[2,"\\n Connected to "],[10,"a"],[15,6,[31,["https://dashboard.stripe.com/",[32,0,["settings","stripeConnectAccountId"]]]]],[14,"target","_blank"],[12],[1,[32,0,["settings","stripeConnectDisplayName"]]],[13],[2,"\\n\\n"],[6,[37,5],[[32,0,["settings","stripeConnectLivemode"]]],null,[["default"],[{"statements":[[2," "],[10,"span"],[14,0,"gh-members-connect-testmodelabel"],[12],[2,"Test mode"],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n"],[6,[37,2],[[32,0,["hasActiveStripeSubscriptions"]]],null,[["default","else"],[{"statements":[[2," "],[10,"p"],[14,0,"red ma0 pa0 f8 nudge-bottom--2"],[12],[2,"\\n Cannot disconnect while there are members with active Stripe subscriptions.\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"div"],[14,0,"gh-setting-action"],[12],[2,"\\n "],[11,"button"],[24,0,"gh-btn"],[24,4,"button"],[4,[38,4],["click",[30,[36,1],[[32,0,["openDisconnectStripeConnectModalTask"]]],null]],null],[12],[10,"span"],[12],[2,"Disconnect"],[13],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]},{"statements":[[2," "],[10,"div"],[14,0,"w-100"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-setting-title"],[12],[2,"Generate secure key"],[13],[2,"\\n "],[10,"div"],[14,0,"flex items-center mb4 gh-members-connectbutton-container justify-between mt2"],[12],[2,"\\n "],[10,"a"],[15,6,[31,[[32,0,["stripeConnectAuthUrl"]]]]],[14,0,"stripe-connect"],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[12],[10,"span"],[12],[2,"Connect with Stripe"],[13],[13],[2,"\\n "],[10,"div"],[14,0,"ml2 flex items-center flex-nowrap"],[12],[2,"\\n "],[10,"span"],[15,0,[31,["mr2 f8 midgrey nowrap ",[30,[36,2],[[32,0,["stripeConnectTestMode"]],"gh-members-connect-testmodeon"],null]]]],[12],[2,"Test mode"],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch small"],[12],[2,"\\n "],[11,"label"],[24,0,"switch"],[24,"for","stripe-connect-test-mode"],[4,[38,4],["click",[32,0,["toggleStripeConnectTestMode"]]],null],[12],[2,"\\n "],[11,"input"],[24,0,"gh-input"],[16,"checked",[32,0,["stripeConnectTestMode"]]],[24,4,"checkbox"],[4,[38,4],["click",[32,0,["toggleStripeConnectTestMode"]]],null],[12],[13],[2,"\\n "],[10,"span"],[14,0,"input-toggle-component mt1"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-setting-action"],[12],[2,"\\n "],[8,"gh-textarea",[[24,0,"gh-launch-wizard-stripe-connect-token"],[24,"placeholder","Paste your secure key here"],[4,[38,4],["input",[32,0,["setStripeConnectIntegrationToken"]]],null]],[[],[]],null],[2,"\\n "],[6,[37,2],[[32,0,["stripeConnectError"]]],null,[["default"],[{"statements":[[10,"p"],[14,0,"mb0 mt2 f8 red"],[12],[1,[32,0,["stripeConnectError"]]],[13]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-setting-desc skip-step"],[12],[11,"a"],[24,6,"javascript:void(0)"],[4,[38,4],["click",[32,1]],null],[12],[2,"Skip"],[13],[2," if you don\'t want to offer paid subscriptions."],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-launch-wizard-nav-buttons"],[12],[2,"\\n "],[11,"button"],[24,0,"gh-btn gh-btn-outline gh-btn-icon-dark gh-btn-large w-30"],[24,4,"button"],[4,[38,4],["click",[32,2]],null],[12],[10,"span"],[12],[1,[30,[36,3],["arrow-left-tail"],null]],[13],[13],[2,"\\n\\n "],[8,"gh-task-button",[],[["@task","@runningText","@class"],[[32,0,["saveAndContinueTask"]],"Saving","w-70 ml4 right gh-btn gh-btn-black gh-btn-large gh-btn-icon-right"]],[["default"],[{"statements":[[2,"\\n"],[6,[37,2],[[32,0,["saveAndContinueTask","isRunning"]]],null,[["default","else"],[{"statements":[[2," "],[10,"span"],[12],[2,"Saving..."],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"span"],[12],[1,[30,[36,2],[[32,0,["settings","stripeConnectAccountId"]],"Continue","Save and continue"],null]],[1,[30,[36,3],["arrow-right-tail"],null]],[13],[2,"\\n"]],"parameters":[]}]]],[2," "]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n\\n"],[6,[37,2],[[32,0,["showDisconnectStripeConnectModal"]]],null,[["default"],[{"statements":[[2," "],[8,"gh-fullscreen-modal",[],[["@modal","@model","@confirm","@close","@modifier"],["disconnect-stripe",[30,[36,0],null,[["stripeConnectAccountName"],[[32,0,["settings","stripeConnectDisplayName"]]]]],[30,[36,1],[[32,0,["disconnectStripeConnectIntegrationTask"]]],null],[32,0,["closeDisconnectStripeModal"]],"action wide"]],null],[2,"\\n"]],"parameters":[]}]]]],"hasEval":false,"upvars":["hash","perform","if","svg-jar","on","unless","readonly"]}',meta:{moduleName:"ghost-admin/components/gh-launch-wizard/connect-stripe.hbs"}}),N=1e3
|
|
398
399
|
let F=(i=Ember.inject.service,a=Ember.inject.service,s=Ember.inject.service,o=Ember.inject.service,l=Ember.inject.service,u=Ember.inject.service,d=Ember._tracked,c=Ember._tracked,m=Ember._tracked,p=Ember._tracked,h=Ember._tracked,g=Ember._tracked,b=Ember._action,f=Ember._action,v=Ember._action,y=Ember._action,w=(0,n.task)({drop:!0}),E=(0,n.task)({drop:!0}),k=Ember._action,P=class extends t.default{get stripeConnectAuthUrl(){const e=this.stripeConnectTestMode?"test":"live"
|
|
399
|
-
return`${this.ghostPaths.url.api("members/stripe_connect")}?mode=${e}`}constructor(){super(...arguments),
|
|
400
|
+
return`${this.ghostPaths.url.api("members/stripe_connect")}?mode=${e}`}constructor(){super(...arguments),U(this,"ajax",_,this),U(this,"config",j,this),U(this,"ghostPaths",x,this),U(this,"settings",O,this),U(this,"store",T,this),U(this,"settings",S,this),U(this,"hasActiveStripeSubscriptions",M,this),U(this,"showDisconnectStripeConnectModal",C,this),U(this,"stripeConnectTestMode",z,this),U(this,"stripeConnectError",A,this),U(this,"stripePublishableKeyError",D,this),U(this,"stripeSecretKeyError",I,this),this.args.updatePreview("")}willDestroy(){var e
|
|
400
401
|
null===(e=super.willDestroy)||void 0===e||e.call(this,...arguments),this.settings.rollbackAttributes()}setStripeDirectPublicKey(e){this.settings.set("stripeProductName",this.settings.get("title")),this.settings.set("stripePublishableKey",e.target.value),this.stripePublishableKeyError=null}setStripeDirectSecretKey(e){this.settings.set("stripeProductName",this.settings.get("title")),this.settings.set("stripeSecretKey",e.target.value),this.stripeSecretKeyError=null}toggleStripeConnectTestMode(){this.stripeConnectTestMode=!this.stripeConnectTestMode}setStripeConnectIntegrationToken(e){this.settings.set("stripeProductName",this.settings.get("title")),this.settings.set("stripeConnectIntegrationToken",e.target.value),this.stripeConnectError=null}calculateDiscount(e,t){return isNaN(e)||isNaN(t)?0:e?100-Math.floor(t/12*100/e):0}getActivePrice(e,t,n,r){return e.find((e=>e.active&&e.amount===n&&"recurring"===e.type&&e.interval===t&&e.currency.toLowerCase()===r.toLowerCase()))}*saveProduct(){let e=0
|
|
401
402
|
for(;e<15e3;){yield(0,r.timeout)(N)
|
|
402
403
|
try{const e=yield this.product.save(),t=this.settings.get("portalProducts")
|
|
@@ -412,7 +413,7 @@ const e=yield this.store.query("product",{include:"monthly_price,yearly_price"})
|
|
|
412
413
|
if(this.product=e.firstObject,this.product){const e=this.calculateDiscount(5,50)
|
|
413
414
|
this.product.set("monthlyPrice",{nickname:"Monthly",amount:500,active:1,description:"Full access",currency:"usd",interval:"month",type:"recurring"}),this.product.set("yearlyPrice",{nickname:"Yearly",amount:5e3,active:1,currency:"usd",description:e>0?`${e}% discount`:"Full access",interval:"year",type:"recurring"}),yield this.saveProduct.perform(),this.settings.set("portalPlans",["free","monthly","yearly"]),yield this.settings.save()}return this.pauseAndContinueTask.perform(),!0}catch(t){var e
|
|
414
415
|
if(null!==(e=t.payload)&&void 0!==e&&e.errors&&"ValidationError"===t.payload.errors[0].type){const[e]=t.payload.errors
|
|
415
|
-
this.config.get("stripeDirect")?e.context.match(/stripe_publishable_key/)?this.stripePublishableKeyError="Invalid publishable key":this.stripeSecretKeyError="Invalid secret key":this.stripeConnectError="Invalid secure key"}throw t}}*pauseAndContinueTask(){this.args.refreshPreview(),yield(0,r.timeout)(500),this.args.nextStep()}},_=
|
|
416
|
+
this.config.get("stripeDirect")?e.context.match(/stripe_publishable_key/)?this.stripePublishableKeyError="Invalid publishable key":this.stripeSecretKeyError="Invalid secret key":this.stripeConnectError="Invalid secure key"}throw t}}*pauseAndContinueTask(){this.args.refreshPreview(),yield(0,r.timeout)(500),this.args.nextStep()}},_=L(P.prototype,"ajax",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=L(P.prototype,"config",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x=L(P.prototype,"ghostPaths",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=L(P.prototype,"settings",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=L(P.prototype,"store",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=L(P.prototype,"settings",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),M=L(P.prototype,"hasActiveStripeSubscriptions",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),C=L(P.prototype,"showDisconnectStripeConnectModal",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),z=L(P.prototype,"stripeConnectTestMode",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),A=L(P.prototype,"stripeConnectError",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),D=L(P.prototype,"stripePublishableKeyError",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),I=L(P.prototype,"stripeSecretKeyError",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),L(P.prototype,"setStripeDirectPublicKey",[b],Object.getOwnPropertyDescriptor(P.prototype,"setStripeDirectPublicKey"),P.prototype),L(P.prototype,"setStripeDirectSecretKey",[f],Object.getOwnPropertyDescriptor(P.prototype,"setStripeDirectSecretKey"),P.prototype),L(P.prototype,"toggleStripeConnectTestMode",[v],Object.getOwnPropertyDescriptor(P.prototype,"toggleStripeConnectTestMode"),P.prototype),L(P.prototype,"setStripeConnectIntegrationToken",[y],Object.getOwnPropertyDescriptor(P.prototype,"setStripeConnectIntegrationToken"),P.prototype),L(P.prototype,"saveProduct",[w],Object.getOwnPropertyDescriptor(P.prototype,"saveProduct"),P.prototype),L(P.prototype,"openDisconnectStripeConnectModalTask",[E],Object.getOwnPropertyDescriptor(P.prototype,"openDisconnectStripeConnectModalTask"),P.prototype),L(P.prototype,"closeDisconnectStripeModal",[k],Object.getOwnPropertyDescriptor(P.prototype,"closeDisconnectStripeModal"),P.prototype),L(P.prototype,"disconnectStripeConnectIntegrationTask",[n.task],Object.getOwnPropertyDescriptor(P.prototype,"disconnectStripeConnectIntegrationTask"),P.prototype),L(P.prototype,"saveAndContinueTask",[n.task],Object.getOwnPropertyDescriptor(P.prototype,"saveAndContinueTask"),P.prototype),L(P.prototype,"pauseAndContinueTask",[n.task],Object.getOwnPropertyDescriptor(P.prototype,"pauseAndContinueTask"),P.prototype),P)
|
|
416
417
|
e.default=F,Ember._setComponentTemplate(R,F)})),define("ghost-admin/components/gh-launch-wizard/customise-design",["exports","@glimmer/component","ember-concurrency-decorators"],(function(e,t,n){var r,i,a,s,o
|
|
417
418
|
function l(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function u(e,t,n,r,i){var a={}
|
|
418
419
|
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
@@ -430,11 +431,11 @@ if(this.product=null==e?void 0:e.product,this.product){const t=100*e.monthlyAmou
|
|
|
430
431
|
this.product.set("monthlyPrice",i),this.product.set("yearlyPrice",a)
|
|
431
432
|
return await this.product.save()}}*finaliseTask(){const e=this.args.getData()
|
|
432
433
|
null!=e&&e.product&&(yield this.saveProduct(),yield this.settings.save()),yield this.feature.set("launchComplete",!0),this.router.transitionTo("dashboard"),this.notifications.showNotification("Launch complete!",{type:"success",actions:Ember.String.htmlSafe('<a href="#/posts">Start creating content</a>')})}},l=p(o.prototype,"feature",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),u=p(o.prototype,"notifications",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),d=p(o.prototype,"router",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),c=p(o.prototype,"settings",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),p(o.prototype,"finaliseTask",[n.task],Object.getOwnPropertyDescriptor(o.prototype,"finaliseTask"),o.prototype),o)
|
|
433
|
-
e.default=g,Ember._setComponentTemplate(h,g)})),define("ghost-admin/components/gh-launch-wizard/set-pricing",["exports","@glimmer/component","ghost-admin/config/environment","ghost-admin/utils/currency","ember-concurrency-decorators"],(function(e,t,n,r,i){var a,s,o,l,u,d,c,m,p,h,g,b,f,v,y,w,E,k,P,_,j,x,O,T,S,M,C,A,
|
|
434
|
+
e.default=g,Ember._setComponentTemplate(h,g)})),define("ghost-admin/components/gh-launch-wizard/set-pricing",["exports","@glimmer/component","ghost-admin/config/environment","ghost-admin/utils/currency","ember-concurrency-decorators"],(function(e,t,n,r,i){var a,s,o,l,u,d,c,m,p,h,g,b,f,v,y,w,E,k,P,_,j,x,O,T,S,M,C,z,A,D,I,U,L,R,N
|
|
434
435
|
function F(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function B(e,t,n,r,i){var a={}
|
|
435
436
|
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
436
437
|
const V=Ember.HTMLBars.template({id:"A0aX4ljC",block:'{"symbols":[],"statements":[[11,"div"],[24,0,"gh-launch-wizard-settings-container"],[4,[38,6],[[32,0,["setup"]]],null],[12],[2,"\\n"],[6,[37,5],[[32,0,["isConnectDisallowed"]]],null,[["default","else"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-stack overflow-y-auto flex-grow-1"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-setting-nossl-container"],[12],[2,"\\n "],[10,"span"],[14,0,"red"],[12],[1,[30,[36,1],["shield-lock"],null]],[13],[2,"\\n "],[10,"h4"],[12],[2,"Your site is not secured"],[13],[2,"\\n "],[10,"p"],[12],[2,"Paid memberships through Ghost can only be run on sites secured by SSL (HTTPS vs. HTTP). More information on adding a free SSL Certificate to your Ghost site can be "],[10,"a"],[14,6,"https://ghost.org/integrations/lets-encrypt/"],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[12],[2,"found here"],[13],[2,"."],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"w-100 mt6"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-setting-title"],[12],[2,"Generate secure key"],[13],[2,"\\n "],[10,"div"],[14,0,"flex items-center mb4 gh-members-connectbutton-container justify-between mt2"],[12],[2,"\\n "],[10,"div"],[14,0,"stripe-connect disabled"],[12],[10,"span"],[12],[2,"Connect with Stripe"],[13],[13],[2,"\\n "],[10,"div"],[14,0,"ml2 flex items-center flex-nowrap"],[12],[2,"\\n "],[10,"span"],[14,0,"mr2 f8 midgrey nowrap"],[12],[2,"Test mode"],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch small disabled"],[12],[2,"\\n "],[10,"label"],[14,0,"switch"],[14,"for","stripe-connect-test-mode"],[12],[2,"\\n "],[10,"input"],[14,0,"gh-input"],[14,"disabled","disabled"],[14,4,"checkbox"],[12],[13],[2,"\\n "],[10,"span"],[14,0,"input-toggle-component mt1"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-setting-action"],[12],[2,"\\n "],[8,"gh-textarea",[[24,0,"gh-launch-wizard-stripe-connect-token"],[24,"placeholder","Paste your secure key here"],[24,"disabled","disabled"]],[[],[]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"div"],[14,0,"gh-stack overflow-y-auto flex-grow-1"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-stack-item flex-column"],[12],[2,"\\n "],[10,"div"],[14,0,"w-100"],[12],[2,"\\n "],[8,"gh-form-group",[],[["@class"],["for-select"]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[14,0,"gh-setting-title"],[14,"for","currency"],[12],[2,"Plan currency"],[13],[2,"\\n "],[10,"span"],[14,0,"gh-select mt2"],[12],[2,"\\n "],[8,"one-way-select",[[24,1,"currency"],[24,3,"currency"]],[["@disabled","@value","@options","@optionValuePath","@optionLabelPath","@update"],[[32,0,["disabled"]],[32,0,["selectedCurrency"]],[30,[36,0],[[32,0,["allCurrencies"]]],null],"value","label",[32,0,["setStripePlansCurrency"]]]],null],[2,"\\n "],[1,[30,[36,1],["arrow-down-small"],null]],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"w-100 flex flex-column flex-row-ns"],[12],[2,"\\n "],[10,"div"],[14,0,"w-100 w-50-ns mr3-ns"],[12],[2,"\\n "],[8,"gh-form-group",[],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[14,0,"gh-setting-title"],[12],[2,"Monthly price"],[13],[2,"\\n\\n "],[10,"div"],[14,0,"flex items-center justify-center mt2 gh-input-group gh-labs-price-label"],[12],[2,"\\n "],[8,"gh-text-input",[[4,[38,4],["blur",[32,0,["validateStripePlans"]]],null]],[["@disabled","@value","@type","@input"],[[32,0,["disabled"]],[30,[36,0],[[32,0,["stripeMonthlyAmount"]]],null],"number",[30,[36,3],[[32,0],[30,[36,2],[[32,0,["stripeMonthlyAmount"]]],null]],[["value"],["target.value"]]]]],null],[2,"\\n "],[10,"span"],[14,0,"gh-input-append"],[12],[10,"span"],[14,0,"ttu"],[12],[1,[32,0,["currency"]]],[13],[2,"/month"],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"w-100 w-50-ns ml2-ns"],[12],[2,"\\n "],[8,"gh-form-group",[],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[14,0,"gh-setting-title"],[12],[2,"Yearly price"],[13],[2,"\\n "],[10,"div"],[14,0,"flex items-center justify-center mt2 gh-input-group gh-labs-price-label"],[12],[2,"\\n "],[8,"gh-text-input",[[4,[38,4],["blur",[32,0,["validateStripePlans"]]],null]],[["@disabled","@value","@type","@input"],[[32,0,["disabled"]],[30,[36,0],[[32,0,["stripeYearlyAmount"]]],null],"number",[30,[36,3],[[32,0],[30,[36,2],[[32,0,["stripeYearlyAmount"]]],null]],[["value"],["target.value"]]]]],null],[2,"\\n "],[10,"span"],[14,0,"gh-input-append"],[12],[10,"span"],[14,0,"ttu"],[12],[1,[32,0,["currency"]]],[13],[2,"/year"],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"w-100 w-50-l flex flex-column flex-row-ns"],[12],[2,"\\n"],[6,[37,5],[[32,0,["stripePlanError"]]],null,[["default"],[{"statements":[[2," "],[10,"p"],[14,0,"response w-100 red"],[12],[2," "],[1,[32,0,["stripePlanError"]]],[2," "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-stack-item gh-setting flex-column"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-setting-title"],[12],[2,"Plans available at signup"],[13],[2,"\\n "],[10,"div"],[14,0,"form-group mt2 mb0 for-checkbox"],[12],[2,"\\n "],[10,"label"],[14,0,"checkbox"],[14,"for","free-plan"],[12],[2,"\\n "],[11,"input"],[16,"checked",[32,0,["isFreeChecked"]]],[24,1,"free-plan"],[24,3,"free-plan"],[16,"disabled",[32,0,["isFreeDisabled"]]],[24,0,"gh-input post-settings-featured"],[24,4,"checkbox"],[4,[38,4],["click",[32,0,["toggleFreePlan"]]],null],[12],[13],[2,"\\n "],[10,"span"],[14,0,"input-toggle-component"],[12],[13],[2,"\\n "],[10,"p"],[12],[2,"Free"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"form-group mb0 for-checkbox"],[12],[2,"\\n "],[10,"label"],[14,0,"checkbox"],[14,"for","monthly-plan"],[12],[2,"\\n "],[11,"input"],[24,1,"monthly-plan"],[24,3,"monthly-plan"],[16,"checked",[32,0,["isMonthlyChecked"]]],[16,"disabled",[32,0,["isPaidPriceDisabled"]]],[24,0,"gh-input post-settings-featured"],[24,4,"checkbox"],[4,[38,4],["click",[32,0,["toggleMonthlyPlan"]]],null],[12],[13],[2,"\\n "],[10,"span"],[14,0,"input-toggle-component"],[12],[13],[2,"\\n "],[10,"p"],[12],[2,"Monthly"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"form-group mb0 for-checkbox"],[12],[2,"\\n "],[10,"label"],[14,0,"checkbox"],[14,"for","yearly-plan"],[12],[2,"\\n "],[11,"input"],[24,1,"yearly-plan"],[24,3,"yearly-plan"],[16,"checked",[32,0,["isYearlyChecked"]]],[16,"disabled",[32,0,["isPaidPriceDisabled"]]],[24,0,"gh-input post-settings-featured"],[24,4,"checkbox"],[4,[38,4],["click",[32,0,["toggleYearlyPlan"]]],null],[12],[13],[2,"\\n "],[10,"span"],[14,0,"input-toggle-component"],[12],[13],[2,"\\n "],[10,"p"],[12],[2,"Yearly"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n "],[10,"div"],[14,0,"gh-launch-wizard-nav-buttons"],[12],[2,"\\n "],[11,"button"],[24,0,"gh-btn gh-btn-outline gh-btn-icon-dark gh-btn-large w-30"],[24,4,"button"],[4,[38,4],["click",[32,0,["backStep"]]],null],[12],[10,"span"],[12],[1,[30,[36,1],["arrow-left-tail"],null]],[13],[13],[2,"\\n\\n"],[2," "],[8,"gh-task-button",[],[["@task","@runningText","@class"],[[32,0,["saveAndContinue"]],"Saving","w-70 ml4 right gh-btn gh-btn-black gh-btn-large gh-btn-icon-right"]],[["default"],[{"statements":[[2,"\\n "],[10,"span"],[12],[1,[30,[36,5],[[32,0,["isHidden"]],"Continue","Save and continue"],null]],[1,[30,[36,1],["arrow-right-tail"],null]],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n"],[13]],"hasEval":false,"upvars":["readonly","svg-jar","mut","action","on","if","did-insert"]}',meta:{moduleName:"ghost-admin/components/gh-launch-wizard/set-pricing.hbs"}}),H=r.currencies.map((e=>({value:e.isoCode.toLowerCase(),label:`${e.isoCode} - ${e.name}`,isoCode:e.isoCode})))
|
|
437
|
-
let q=(a=Ember.inject.service,s=Ember.inject.service,o=Ember.inject.service,l=Ember.inject.service,u=Ember._tracked,d=Ember._tracked,c=Ember._tracked,m=Ember._tracked,p=Ember._tracked,h=Ember._tracked,g=Ember._tracked,b=Ember._tracked,f=Ember._tracked,v=Ember._action,y=Ember._action,w=Ember._action,E=Ember._action,k=Ember._action,P=Ember._action,_=Ember._action,j=(0,i.task)({drop:!0}),x=class extends t.default{constructor(...e){super(...e),F(this,"config",O,this),F(this,"membersUtils",T,this),F(this,"settings",S,this),F(this,"store",M,this),function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(this,"currencies",H),F(this,"stripeMonthlyAmount",C,this),F(this,"stripeYearlyAmount",
|
|
438
|
+
let q=(a=Ember.inject.service,s=Ember.inject.service,o=Ember.inject.service,l=Ember.inject.service,u=Ember._tracked,d=Ember._tracked,c=Ember._tracked,m=Ember._tracked,p=Ember._tracked,h=Ember._tracked,g=Ember._tracked,b=Ember._tracked,f=Ember._tracked,v=Ember._action,y=Ember._action,w=Ember._action,E=Ember._action,k=Ember._action,P=Ember._action,_=Ember._action,j=(0,i.task)({drop:!0}),x=class extends t.default{constructor(...e){super(...e),F(this,"config",O,this),F(this,"membersUtils",T,this),F(this,"settings",S,this),F(this,"store",M,this),function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(this,"currencies",H),F(this,"stripeMonthlyAmount",C,this),F(this,"stripeYearlyAmount",z,this),F(this,"currency",A,this),F(this,"isFreeChecked",D,this),F(this,"isMonthlyChecked",I,this),F(this,"isYearlyChecked",U,this),F(this,"stripePlanError",L,this),F(this,"product",R,this),F(this,"loadingProduct",N,this)}get selectedCurrency(){return this.currencies.findBy("value",this.currency)}get allCurrencies(){return(0,r.getCurrencyOptions)()}get isConnectDisallowed(){const e=this.config.get("blogUrl")
|
|
438
439
|
return"development"!==n.default.environment&&!/^https:/.test(e)}get isPaidPriceDisabled(){return!this.membersUtils.isStripeEnabled}get isFreeDisabled(){return"all"!==this.settings.get("membersSignupAccess")}willDestroy(){var e
|
|
439
440
|
null===(e=super.willDestroy)||void 0===e||e.call(this,...arguments),this.args.updatePreview("")}setup(){this.fetchDefaultProduct.perform(),this.updatePreviewUrl()}backStep(){const e=this.product,t=this.args.getData()||{}
|
|
440
441
|
this.args.storeData({...t,product:e,isFreeChecked:this.isFreeChecked,isMonthlyChecked:this.isMonthlyChecked,isYearlyChecked:this.isYearlyChecked,monthlyAmount:this.stripeMonthlyAmount,yearlyAmount:this.stripeYearlyAmount,currency:this.currency}),this.args.backStep()}setStripePlansCurrency(e){const t=e.value
|
|
@@ -452,7 +453,7 @@ let t=this.settings.get("portalPlans")||[]
|
|
|
452
453
|
this.isMonthlyChecked=t.includes("monthly"),this.isYearlyChecked=t.includes("yearly"),this.isFreeChecked=t.includes("free")
|
|
453
454
|
const n=this.product.get("monthlyPrice"),r=this.product.get("yearlyPrice")
|
|
454
455
|
n&&n.amount&&(this.stripeMonthlyAmount=n.amount/100,this.currency=n.currency),r&&r.amount&&(this.stripeYearlyAmount=r.amount/100)}this.updatePreviewUrl()}updatePreviewUrl(){const e={disableBackground:!0,currency:this.selectedCurrency.value,monthlyPrice:100*this.stripeMonthlyAmount,yearlyPrice:100*this.stripeYearlyAmount,isMonthlyChecked:this.isMonthlyChecked,isYearlyChecked:this.isYearlyChecked,isFreeChecked:this.isFreeChecked,portalPlans:null},t=this.membersUtils.getPortalPreviewUrl(e)
|
|
455
|
-
this.args.updatePreview(t)}},O=B(x.prototype,"config",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=B(x.prototype,"membersUtils",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=B(x.prototype,"settings",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),M=B(x.prototype,"store",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),C=B(x.prototype,"stripeMonthlyAmount",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 5}}),
|
|
456
|
+
this.args.updatePreview(t)}},O=B(x.prototype,"config",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=B(x.prototype,"membersUtils",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=B(x.prototype,"settings",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),M=B(x.prototype,"store",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),C=B(x.prototype,"stripeMonthlyAmount",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 5}}),z=B(x.prototype,"stripeYearlyAmount",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 50}}),A=B(x.prototype,"currency",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"usd"}}),D=B(x.prototype,"isFreeChecked",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),I=B(x.prototype,"isMonthlyChecked",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),U=B(x.prototype,"isYearlyChecked",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),L=B(x.prototype,"stripePlanError",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),R=B(x.prototype,"product",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),N=B(x.prototype,"loadingProduct",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),B(x.prototype,"setup",[v],Object.getOwnPropertyDescriptor(x.prototype,"setup"),x.prototype),B(x.prototype,"backStep",[y],Object.getOwnPropertyDescriptor(x.prototype,"backStep"),x.prototype),B(x.prototype,"setStripePlansCurrency",[w],Object.getOwnPropertyDescriptor(x.prototype,"setStripePlansCurrency"),x.prototype),B(x.prototype,"toggleFreePlan",[E],Object.getOwnPropertyDescriptor(x.prototype,"toggleFreePlan"),x.prototype),B(x.prototype,"toggleMonthlyPlan",[k],Object.getOwnPropertyDescriptor(x.prototype,"toggleMonthlyPlan"),x.prototype),B(x.prototype,"toggleYearlyPlan",[P],Object.getOwnPropertyDescriptor(x.prototype,"toggleYearlyPlan"),x.prototype),B(x.prototype,"validateStripePlans",[_],Object.getOwnPropertyDescriptor(x.prototype,"validateStripePlans"),x.prototype),B(x.prototype,"saveAndContinue",[i.task],Object.getOwnPropertyDescriptor(x.prototype,"saveAndContinue"),x.prototype),B(x.prototype,"fetchDefaultProduct",[j],Object.getOwnPropertyDescriptor(x.prototype,"fetchDefaultProduct"),x.prototype),x)
|
|
456
457
|
e.default=q,Ember._setComponentTemplate(V,q)})),define("ghost-admin/components/gh-link-to-custom-views-index",["exports","@glimmer/component"],(function(e,t){var n,r,i,a,s,o,l,u
|
|
457
458
|
function d(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(e,t,n,r,i){var a={}
|
|
458
459
|
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
@@ -753,7 +754,7 @@ let m=(n=Ember.inject.service,r=Ember.inject.service,i=Ember._tracked,a=class ex
|
|
|
753
754
|
e.default=m,Ember._setComponentTemplate(c,m)})),define("ghost-admin/components/gh-nav-menu/design",["exports","@glimmer/component"],(function(e,t){var n,r,i,a,s,o,l,u,d,c,m,p,h,g,b,f,v,y
|
|
754
755
|
function w(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function E(e,t,n,r,i){var a={}
|
|
755
756
|
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
756
|
-
const k=Ember.HTMLBars.template({id:"
|
|
757
|
+
const k=Ember.HTMLBars.template({id:"vbpd3/7j",block:'{"symbols":["group","isOpen","isOpen","&attrs"],"statements":[[11,"div"],[24,0,"flex flex-column h-100"],[17,4],[4,[38,8],["gh-nav-contextual"],null],[12],[2,"\\n "],[10,"header"],[14,0,"gh-nav-header"],[12],[2,"\\n "],[8,"link-to",[[24,0,"gh-nav-menu-back-button"]],[["@route"],["settings"]],[["default"],[{"statements":[[1,[30,[36,4],["arrow-left-small"],null]],[2," Settings"]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[10,"section"],[14,0,"gh-nav-body gh-nav-design"],[12],[2,"\\n "],[11,"div"],[24,0,"gh-nav-top"],[4,[38,3],["click",[32,0,["transitionBackToIndex"]]],null],[12],[2,"\\n "],[10,"div"],[14,0,"gh-nav-list gh-nav-main"],[12],[2,"\\n "],[8,"link-to",[[24,0,"gh-nav-menu-title"],[4,[38,3],["click",[32,0,["closeAllSections"]]],null]],[["@route","@current-when"],["settings.design","settings.design.index"]],[["default"],[{"statements":[[2,"Site design"]],"parameters":[]}]]],[2,"\\n\\n"],[6,[37,7],[[30,[36,6],[[32,0,["openSection"]],"brand"],null]],null,[["default"],[{"statements":[[2," "],[11,"button"],[16,0,[31,["gh-nav-design-tab ",[30,[36,1],[[32,3],"active"],null]]]],[24,4,"button"],[4,[38,3],["click",[30,[36,2],[[32,0,["toggleSection"]],"brand"],null]],null],[12],[2,"\\n "],[1,[30,[36,4],["paintbrush"],null]],[2,"Brand\\n "],[10,"span"],[14,0,"gh-nav-button-expand"],[12],[1,[30,[36,4],[[30,[36,1],[[32,3],"arrow-up-stroke","arrow-down-stroke"],null]],null]],[13],[2,"\\n "],[13],[2,"\\n"],[6,[37,5],[[32,3]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-nav-design-settings"],[12],[2,"\\n "],[8,"settings/design/general-settings-form",[],[["@updatePreview"],[[30,[36,0],[[32,0,["themeManagement","updatePreviewHtmlTask"]]],null]]],null],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]]],"parameters":[3]}]]],[2,"\\n"],[6,[37,10],[[30,[36,9],[[30,[36,9],[[32,0,["customThemeSettings","settingGroups"]]],null]],null]],null,[["default"],[{"statements":[[6,[37,7],[[30,[36,6],[[32,0,["openSection"]],[32,1,["key"]]],null]],null,[["default"],[{"statements":[[2," "],[11,"button"],[16,0,[31,["gh-nav-design-tab ",[30,[36,1],[[32,2],"active"],null]]]],[24,4,"button"],[4,[38,3],["click",[30,[36,2],[[32,0,["toggleSection"]],[32,1,["key"]]],null]],null],[12],[2,"\\n "],[1,[30,[36,4],[[32,1,["icon"]]],null]],[2," "],[1,[32,1,["name"]]],[2,"\\n "],[10,"span"],[14,0,"gh-nav-button-expand"],[12],[1,[30,[36,4],[[30,[36,1],[[32,2],"arrow-up-stroke","arrow-down-stroke"],null]],null]],[13],[2,"\\n "],[13],[2,"\\n\\n"],[6,[37,5],[[32,2]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-nav-design-settings"],[12],[2,"\\n "],[8,"settings/design/theme-settings-form",[],[["@themeSettings","@updatePreview"],[[32,1,["settings"]],[30,[36,0],[[32,0,["themeManagement","updatePreviewHtmlTask"]]],null]]],null],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]]],"parameters":[2]}]]]],"parameters":[1]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-nav-bottom"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-change-theme"],[12],[2,"\\n "],[8,"link-to",[[24,0,"gh-nav-design-tab"],[4,[38,3],["click",[32,0,["closeAllSections"]]],null]],[["@route"],["settings.design.change-theme"]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"span"],[12],[2,"Change theme"],[13],[2,"\\n "],[10,"span"],[14,0,"active-theme"],[12],[2,"Current: "],[1,[32,0,["activeTheme","name"]]],[6,[37,1],[[32,0,["activeTheme","package","version"]]],null,[["default"],[{"statements":[[2," - v"],[1,[32,0,["activeTheme","package","version"]]]],"parameters":[]}]]],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-nav-design-tabicon"],[12],[1,[30,[36,4],["sync"],null]],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13]],"hasEval":false,"upvars":["perform","if","fn","on","svg-jar","liquid-if","eq","let","css-transition","-track-array","each"]}',meta:{moduleName:"ghost-admin/components/gh-nav-menu/design.hbs"}})
|
|
757
758
|
let P=(n=Ember.inject.service,r=Ember.inject.service,i=Ember.inject.service,a=Ember.inject.service,s=Ember.inject.service,o=Ember.inject.service,l=Ember._tracked,u=Ember._action,d=Ember._action,c=Ember._action,m=class extends t.default{constructor(){super(...arguments),w(this,"config",p,this),w(this,"customThemeSettings",h,this),w(this,"router",g,this),w(this,"settings",b,this),w(this,"store",f,this),w(this,"themeManagement",v,this),w(this,"openSection",y,this),function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(this,"themes",this.store.peekAll("theme")),this.store.findAll("theme"),"settings.design.index"===this.router.currentRouteName&&this.openDefaultSection(),this.routeDidChangeHandler=Ember.run.bind(this,this.handleRouteDidChange),this.router.on("routeDidChange",this.routeDidChangeHandler)}willDestroy(){super.willDestroy(...arguments),this.router.off("routeDidChange",this.routeDidChangeHandler)}get activeTheme(){return this.themes.findBy("active",!0)}toggleSection(e){if(this.openSection===e)this.openSection=null
|
|
758
759
|
else{this.openSection=e
|
|
759
760
|
const t=this.customThemeSettings.KNOWN_GROUPS.findBy("key",e)
|
|
@@ -1282,11 +1283,11 @@ var i=Ember._setComponentTemplate(r,t.default.extend({confirm:()=>{},stripeConne
|
|
|
1282
1283
|
e.default=i})),define("ghost-admin/components/modal-early-access",["exports","ghost-admin/components/modal-base"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
1283
1284
|
const n=Ember.HTMLBars.template({id:"l7B5cXvQ",block:'{"symbols":[],"statements":[[10,"header"],[14,0,"modal-header"],[12],[2,"\\n "],[10,"h1"],[12],[2,"Enable early-access feature"],[13],[2,"\\n"],[13],[2,"\\n"],[11,"a"],[24,0,"close"],[24,6,""],[24,"role","button"],[24,"title","Close"],[4,[38,0],[[32,0],"closeModal"],null],[12],[1,[30,[36,1],["close"],null]],[10,"span"],[14,0,"hidden"],[12],[2,"Close"],[13],[13],[2,"\\n\\n"],[10,"div"],[14,0,"modal-body"],[12],[2,"\\n "],[10,"p"],[12],[2,"You\'re about to enable a feature that\'s not fully finished yet, and "],[10,"strong"],[12],[2,"once it\'s turned on there\'s no way back"],[13],[2,". Are you sure?"],[13],[2,"\\n"],[13],[2,"\\n\\n"],[10,"div"],[14,0,"modal-footer"],[12],[2,"\\n "],[11,"button"],[24,0,"gh-btn"],[4,[38,0],[[32,0],"closeModal"],null],[12],[10,"span"],[12],[2,"Cancel"],[13],[13],[2,"\\n "],[11,"button"],[24,0,"gh-btn gh-btn-primary"],[4,[38,0],[[32,0],"closeModal"],null],[12],[10,"span"],[12],[2,"Enable feature"],[13],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["action","svg-jar"]}',meta:{moduleName:"ghost-admin/components/modal-early-access.hbs"}})
|
|
1284
1285
|
var r=Ember._setComponentTemplate(n,t.default.extend({}))
|
|
1285
|
-
e.default=r})),define("ghost-admin/components/modal-email-design-settings",["exports","ghost-admin/components/modal-base","moment","ghost-admin/components/gh-image-uploader","ember-concurrency-decorators"],(function(e,t,n,r,i){var a,s,o,l,u,d,c,m,p,h,g,b,f,v,y,w,E,k,P,_,j,x,O,T,S,M,C,A,
|
|
1286
|
+
e.default=r})),define("ghost-admin/components/modal-email-design-settings",["exports","ghost-admin/components/modal-base","moment","ghost-admin/components/gh-image-uploader","ember-concurrency-decorators"],(function(e,t,n,r,i){var a,s,o,l,u,d,c,m,p,h,g,b,f,v,y,w,E,k,P,_,j,x,O,T,S,M,C,z,A,D,I,U,L,R
|
|
1286
1287
|
function N(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function F(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function B(e,t,n,r,i){var a={}
|
|
1287
1288
|
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
1288
1289
|
const V=Ember.HTMLBars.template({id:"gpYzXG0I",block:'{"symbols":["uploader"],"statements":[[10,"div"],[14,0,"modal-body modal-fullsettings"],[12],[2,"\\n "],[10,"div"],[14,0,"flex items-center justify-between w-100 modal-fullsettings-topbar"],[12],[2,"\\n "],[10,"h2"],[14,0,"modal-fullsettings-heading"],[12],[2,"Email newsletter design"],[13],[2,"\\n "],[10,"div"],[14,0,"flex items-center"],[12],[2,"\\n "],[11,"button"],[24,0,"gh-btn mr3"],[4,[38,2],["click",[30,[36,5],[[32,0],"closeModal"],null]],null],[4,[38,2],["mousedown",[30,[36,6],[[32,0,["noop"]]],null]],null],[12],[2,"\\n "],[10,"span"],[12],[2,"Cancel"],[13],[2,"\\n "],[13],[2,"\\n\\n "],[8,"gh-task-button",[],[["@buttonText","@successText","@task","@idleClass","@class"],["Save and close","Saved",[32,0,["saveSettings"]],"gh-btn-primary","gh-btn gh-btn-icon"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"modal-fullsettings-body"],[12],[2,"\\n "],[10,"div"],[14,0,"modal-fullsettings-sidebar with-footer"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"fieldset"],[14,0,"modal-fullsettings-form"],[12],[2,"\\n "],[10,"div"],[14,0,"modal-fullsettings-section first"],[12],[2,"\\n "],[8,"gh-form-group",[],[["@classNames"],["vertical"]],[["default"],[{"statements":[[2,"\\n "],[8,"gh-uploader",[],[["@extensions","@paramsHash","@onComplete"],[[32,0,["imageExtensions"]],[30,[36,7],null,[["purpose"],["image"]]],[30,[36,4],[[32,0,["imageUploaded"]],"headerImage"],null]]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[14,0,"modal-fullsettings-uploader"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-header-img-desc"],[12],[2,"\\n "],[10,"h4"],[14,0,"modal-fullsettings-title"],[12],[2,"Header image"],[13],[2,"\\n "],[10,"p"],[12],[2,"Optional, recommended size 1200x600"],[13],[2,"\\n "],[13],[2,"\\n"],[6,[37,1],[[32,1,["isUploading"]]],null,[["default","else"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-header-img-container"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-loading-spinner"],[12],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,1],[[32,0,["headerImage"]]],null,[["default","else"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-header-img"],[12],[2,"\\n "],[10,"img"],[14,0,"gh-header-img-thumbnail"],[15,"src",[32,0,["headerImage"]]],[14,"alt","header image"],[12],[13],[2,"\\n "],[11,"button"],[24,0,"gh-btn gh-header-img-deleteicon"],[24,4,"button"],[4,[38,2],["click",[30,[36,4],[[32,0,["changeSetting"]],"headerImage",null],null]],null],[12],[2,"\\n "],[10,"span"],[12],[2," "],[1,[30,[36,3],["trash"],[["class"],["w5 h5"]]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[11,"button"],[24,0,"gh-btn gh-header-img-uploadicon"],[24,4,"button"],[4,[38,2],["click",[32,1,["triggerFileDialog"]]],null],[12],[2,"\\n "],[10,"span"],[12],[1,[30,[36,3],["upload-fill"],[["class"],["w5 h5"]]]],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,5,"display:none"],[12],[2,"\\n "],[8,"gh-file-input",[],[["@multiple","@action","@accept","@onInsert"],[false,[32,1,["setFiles"]],[32,1,["imageMimeTypes"]],[32,1,["registerFileInput"]]]],null],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[13],[2,"\\n "]],"parameters":[1]}]]],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[8,"gh-form-group",[[16,"data-tooltip",[30,[36,1],[[30,[36,8],[[32,0,["settings","icon"]]],null],"A publication icon must be set in Branding settings."],null]]],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"h4"],[15,0,[31,["modal-fullsettings-title ",[30,[36,1],[[30,[36,8],[[32,0,["settings","icon"]]],null],"disabled"],null]]]],[12],[2,"Publication icon"],[13],[2,"\\n "],[10,"div"],[15,0,[31,["for-switch small ",[30,[36,1],[[30,[36,8],[[32,0,["settings","icon"]]],null],"disabled"],null]]]],[12],[2,"\\n "],[10,"label"],[14,0,"switch"],[14,"for","show-header"],[12],[2,"\\n "],[11,"input"],[16,"checked",[30,[36,0],[[32,0,["showHeaderIcon"]],[32,0,["settings","icon"]]],null]],[24,1,"show-header"],[24,3,"show-header"],[16,"disabled",[30,[36,8],[[32,0,["settings","icon"]]],null]],[24,4,"checkbox"],[4,[38,2],["click",[30,[36,4],[[32,0,["toggleSetting"]],"showHeaderIcon"],null]],null],[12],[13],[2,"\\n "],[10,"span"],[14,0,"input-toggle-component"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[8,"gh-form-group",[],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"h4"],[14,0,"modal-fullsettings-title"],[12],[2,"Publication title"],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch small"],[12],[2,"\\n "],[10,"label"],[14,0,"switch"],[14,"for","show-title"],[12],[2,"\\n "],[11,"input"],[16,"checked",[32,0,["showHeaderTitle"]]],[24,1,"show-title"],[24,3,"show-title"],[24,4,"checkbox"],[4,[38,2],["click",[30,[36,4],[[32,0,["toggleSetting"]],"showHeaderTitle"],null]],null],[12],[13],[2,"\\n "],[10,"span"],[14,0,"input-toggle-component"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"modal-fullsettings-section divider-top"],[12],[2,"\\n "],[8,"gh-form-group",[],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"h4"],[14,0,"modal-fullsettings-title gh-email-design-alignment"],[12],[2,"Header style"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-email-design-typography-wrapper header"],[12],[2,"\\n "],[10,"div"],[14,0,"modal-fullsettings-radiogroup gh-email-design-typography"],[12],[2,"\\n "],[8,"gh-font-selector",[],[["@selected","@onChange"],[[32,0,["titleFontCategory"]],[30,[36,4],[[32,0,["changeSetting"]],"titleFontCategory"],null]]],null],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-btn-group icons"],[12],[2,"\\n "],[11,"button"],[16,0,[31,["gh-btn gh-btn-icon ",[30,[36,1],[[30,[36,9],[[32,0,["titleAlignment"]],"left"],null],"gh-btn-group-selected"],null]]]],[24,4,"button"],[4,[38,2],["click",[30,[36,4],[[32,0,["changeSetting"]],"titleAlignment","left"],null]],null],[12],[10,"span"],[12],[1,[30,[36,3],["align-left"],null]],[13],[13],[2,"\\n "],[11,"button"],[16,0,[31,["gh-btn gh-btn-icon ",[30,[36,1],[[30,[36,9],[[32,0,["titleAlignment"]],"center"],null],"gh-btn-group-selected"],null]]]],[24,4,"button"],[4,[38,2],["click",[30,[36,4],[[32,0,["changeSetting"]],"titleAlignment","center"],null]],null],[12],[10,"span"],[12],[1,[30,[36,3],["align-center"],null]],[13],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[8,"gh-form-group",[],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"h4"],[14,0,"modal-fullsettings-title"],[12],[2,"Feature image"],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch small"],[12],[2,"\\n "],[10,"label"],[14,0,"switch"],[14,"for","show-feature-image"],[12],[2,"\\n "],[11,"input"],[16,"checked",[32,0,["showFeatureImage"]]],[24,1,"show-feature-image"],[24,3,"show-feature-image"],[24,4,"checkbox"],[4,[38,2],["click",[30,[36,4],[[32,0,["toggleSetting"]],"showFeatureImage"],null]],null],[12],[13],[2,"\\n "],[10,"span"],[14,0,"input-toggle-component"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"modal-fullsettings-section"],[12],[2,"\\n "],[8,"gh-form-group",[],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"h4"],[14,0,"modal-fullsettings-title"],[12],[2,"Body style"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-email-design-typography-wrapper"],[12],[2,"\\n "],[10,"div"],[14,0,"modal-fullsettings-radiogroup gh-email-design-typography"],[12],[2,"\\n "],[8,"gh-font-selector",[],[["@selected","@onChange"],[[32,0,["bodyFontCategory"]],[30,[36,4],[[32,0,["changeSetting"]],"bodyFontCategory"],null]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"modal-fullsettings-section divider-top"],[12],[2,"\\n "],[8,"gh-form-group",[],[["@classNames"],["vertical"]],[["default"],[{"statements":[[2,"\\n "],[10,"h4"],[14,0,"modal-fullsettings-title"],[12],[2,"Email footer"],[13],[2,"\\n "],[8,"koenig-basic-html-input",[],[["@name","@html","@class","@onChange","@onFocus","@onBlur"],["footer",[32,0,["footerContent"]],"miw-100 form-text gh-members-emailsettings-footer-input",[30,[36,4],[[32,0,["changeSetting"]],"footerContent"],null],[32,0,["handleInputFocus"]],[32,0,["handleInputBlur"]]]],null],[2,"\\n "],[10,"p"],[12],[2,"Any extra information or legal text"],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"modal-fullsettings-section gh-members-emailsettings-footer"],[12],[2,"\\n "],[8,"gh-form-group",[],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[14,0,"gh-members-emailsettings-promotelabel"],[12],[2,"\\n "],[10,"span"],[12],[1,[30,[36,3],["heart"],null]],[13],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"modal-fullsettings-title"],[12],[2,"Promote independent publishing"],[13],[2,"\\n "],[10,"p"],[12],[2,"Show you’re a part of the indie publishing movement with a small badge in the footer"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch small"],[12],[2,"\\n "],[10,"label"],[14,0,"switch"],[14,"for","promote-ghost"],[12],[2,"\\n "],[11,"input"],[16,"checked",[32,0,["showBadge"]]],[24,1,"promote-ghost"],[24,3,"promote-ghost"],[24,4,"checkbox"],[4,[38,2],["click",[30,[36,4],[[32,0,["toggleSetting"]],"showBadge"],null]],null],[12],[13],[2,"\\n "],[10,"span"],[14,0,"input-toggle-component"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"modal-fullsettings-main"],[12],[2,"\\n "],[10,"div"],[14,0,"modal-fullsettings-preview-container gh-members-emailpreview"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-members-emailpreview-container"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-members-emailpreview-faux"],[12],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[10,"span"],[14,0,"strong"],[12],[1,[32,0,["config","blogTitle"]]],[13],[2," <"],[1,[30,[36,10],[[32,0,["settings","membersFromAddress"]]],null]],[2,">\\n "],[13],[2,"\\n "],[10,"p"],[12],[10,"span"],[14,0,"dark"],[12],[2,"To:"],[13],[2," Jamie Larson <jamie@example.com>"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-members-emailpreview-contents"],[12],[2,"\\n"],[6,[37,1],[[32,0,["headerImage"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-members-emailpreview-header-image"],[12],[2,"\\n "],[10,"img"],[15,"src",[32,0,["headerImage"]]],[12],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[6,[37,1],[[32,0,["showHeader"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-members-emailpreview-header"],[12],[2,"\\n"],[6,[37,1],[[30,[36,0],[[32,0,["settings","icon"]],[32,0,["showHeaderIcon"]]],null]],null,[["default"],[{"statements":[[2," "],[10,"img"],[15,"src",[32,0,["settings","icon"]]],[12],[13],[2,"\\n"]],"parameters":[]}]]],[6,[37,1],[[32,0,["showHeaderTitle"]]],null,[["default"],[{"statements":[[2," "],[10,"h4"],[12],[1,[32,0,["config","blogTitle"]]],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[10,"div"],[15,0,[31,["gh-members-emailpreview-title ",[30,[36,1],[[30,[36,9],[[32,0,["titleAlignment"]],"left"],null],"gh-members-emailpreview-title-left"],null]]]],[12],[2,"\\n "],[10,"h2"],[15,0,[31,[[30,[36,1],[[30,[36,9],[[32,0,["titleFontCategory"]],"serif"],null],"serif"],null]]]],[12],[2,"Your email newsletter"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[10,"span"],[12],[2,"By "],[1,[30,[36,1],[[32,0,["session","user","name"]],[32,0,["session","user","name"]],[32,0,["session","user","email"]]],null]],[2," – "],[1,[32,0,["currentDate"]]],[2," – "],[13],[2," "],[10,"a"],[14,6,"javascript:"],[12],[2,"View online →"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[6,[37,1],[[32,0,["showFeatureImage"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-members-emailpreview-featureimage"],[15,5,[32,0,["featureImageStyle"]]],[12],[13],[2,"\\n "],[10,"div"],[14,0,"gh-members-emailpreview-featureimage-caption"],[12],[2,"Feature image caption"],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[10,"div"],[15,0,[31,["gh-members-emailpreview-content ",[30,[36,1],[[30,[36,9],[[32,0,["bodyFontCategory"]],"sans_serif"],null],"sans-serif"],null]]]],[12],[2,"\\n "],[10,"p"],[12],[2,"This is what your content will look like when you send one of your posts as an email newsletter to your subscribers."],[13],[2,"\\n "],[10,"p"],[12],[2,"Over there on the left you’ll see some settings that allow you to customize the look and feel of this template to make it perfectly suited to your brand. Email templates are exceptionally finnicky to make, but we’ve spent a long time optimising this one to make it work beautifully across devices, email clients and content types."],[13],[2,"\\n "],[10,"p"],[12],[2,"So, you can trust that every email you send with Ghost will look great and work well. Just like the rest of your site."],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-members-emailpreview-footer"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-members-emailpreview-footercontent"],[12],[2,"\\n "],[2,[32,0,["footerContent"]]],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-members-emailpreview-footersite"],[12],[2,"\\n "],[10,"span"],[12],[1,[32,0,["config","blogTitle"]]],[2," © "],[1,[32,0,["copyrightYear"]]],[2," – "],[13],[2," "],[10,"a"],[14,6,"javascript:"],[12],[2,"Unsubscribe"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[15,0,[31,["gh-members-emailpreview-badge ",[30,[36,1],[[30,[36,8],[[32,0,["showBadge"]]],null],"hide"],null]]]],[12],[2,"\\n "],[10,"a"],[14,6,"javascript:"],[12],[10,"svg"],[14,"viewBox","0 0 156 156"],[12],[10,"g"],[14,"fill","none"],[14,"fill-rule","evenodd"],[12],[10,"rect"],[14,"fill","#15212B"],[14,"width","156"],[14,"height","156"],[14,"rx","27"],[12],[13],[10,"g"],[14,"transform","translate(36 36)"],[14,"fill","#F6F8FA"],[12],[10,"path"],[14,"d","M0 71.007A4.004 4.004 0 014 67h26a4 4 0 014 4.007v8.986A4.004 4.004 0 0130 84H4a4 4 0 01-4-4.007v-8.986zM50 71.007A4.004 4.004 0 0154 67h26a4 4 0 014 4.007v8.986A4.004 4.004 0 0180 84H54a4 4 0 01-4-4.007v-8.986z"],[12],[13],[10,"rect"],[14,"y","34"],[14,"width","84"],[14,"height","17"],[14,"rx","4"],[12],[13],[10,"path"],[14,"d","M0 4.007A4.007 4.007 0 014.007 0h41.986A4.003 4.003 0 0150 4.007v8.986A4.007 4.007 0 0145.993 17H4.007A4.003 4.003 0 010 12.993V4.007z"],[12],[13],[10,"rect"],[14,"x","67"],[14,"width","17"],[14,"height","17"],[14,"rx","4"],[12],[13],[13],[13],[13],[2," "],[10,"span"],[12],[2,"Publish with Ghost"],[13],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13]],"hasEval":false,"upvars":["and","if","on","svg-jar","fn","action","optional","hash","not","eq","full-email-address"]}',meta:{moduleName:"ghost-admin/components/modal-email-design-settings.hbs"}})
|
|
1289
|
-
let H=(a=Ember.inject.service,s=Ember.inject.service,o=Ember.inject.service,l=Ember.inject.service,u=Ember._tracked,d=Ember._tracked,c=Ember._tracked,m=Ember._tracked,p=Ember._tracked,h=Ember._tracked,g=Ember._tracked,b=Ember._tracked,f=Ember._tracked,v=Ember._action,y=Ember._action,w=Ember._action,E=Ember._action,k=Ember._action,P=Ember._action,_=(0,i.task)({drop:!0}),j=class extends t.default{constructor(...e){super(...e),N(this,"config",x,this),N(this,"ghostPaths",O,this),N(this,"session",T,this),N(this,"settings",S,this),N(this,"headerImage",M,this),N(this,"showHeaderIcon",C,this),N(this,"showHeaderTitle",
|
|
1290
|
+
let H=(a=Ember.inject.service,s=Ember.inject.service,o=Ember.inject.service,l=Ember.inject.service,u=Ember._tracked,d=Ember._tracked,c=Ember._tracked,m=Ember._tracked,p=Ember._tracked,h=Ember._tracked,g=Ember._tracked,b=Ember._tracked,f=Ember._tracked,v=Ember._action,y=Ember._action,w=Ember._action,E=Ember._action,k=Ember._action,P=Ember._action,_=(0,i.task)({drop:!0}),j=class extends t.default{constructor(...e){super(...e),N(this,"config",x,this),N(this,"ghostPaths",O,this),N(this,"session",T,this),N(this,"settings",S,this),N(this,"headerImage",M,this),N(this,"showHeaderIcon",C,this),N(this,"showHeaderTitle",z,this),N(this,"titleFontCategory",A,this),N(this,"titleAlignment",D,this),N(this,"showFeatureImage",I,this),N(this,"bodyFontCategory",U,this),N(this,"footerContent",L,this),N(this,"showBadge",R,this),F(this,"currentDate",(0,n.default)().format("D MMM YYYY")),F(this,"copyrightYear",(new Date).getFullYear()),F(this,"imageExtensions",r.IMAGE_EXTENSIONS)}get showHeader(){return this.showHeaderIcon&&this.settings.get("icon")||this.showHeaderTitle}get featureImageUrl(){return this.ghostPaths.assetRoot.replace(/\/$/,"")+"/img/user-cover-e8f42b12b5fcba292a8b5dfa81e13dd2.png"}get featureImageStyle(){return Ember.String.htmlSafe(`background-image: url(${this.featureImageUrl})`)}toggleSetting(e,t){this[e]=t.target.checked}changeSetting(e,t){this[e]=t}imageUploaded(e,t){t[0]&&(this[e]=t[0].url)}handleInputFocus(){this._removeShortcuts()}handleInputBlur(){this._setupShortcuts()}confirm(){this.saveSettings.perform()}*saveSettings(){this.settings.set("newsletterHeaderImage",this.headerImage),this.settings.set("newsletterShowHeaderIcon",this.showHeaderIcon),this.settings.set("newsletterShowHeaderTitle",this.showHeaderTitle),this.settings.set("newsletterTitleFontCategory",this.titleFontCategory),this.settings.set("newsletterTitleAlignment",this.titleAlignment),this.settings.set("newsletterShowFeatureImage",this.showFeatureImage),this.settings.set("newsletterBodyFontCategory",this.bodyFontCategory),this.settings.set("newsletterFooterContent",this.footerContent),this.settings.set("newsletterShowBadge",this.showBadge),yield this.settings.save(),this.closeModal()}},x=B(j.prototype,"config",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=B(j.prototype,"ghostPaths",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=B(j.prototype,"session",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=B(j.prototype,"settings",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),M=B(j.prototype,"headerImage",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return this.settings.get("newsletterHeaderImage")}}),C=B(j.prototype,"showHeaderIcon",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return this.settings.get("newsletterShowHeaderIcon")}}),z=B(j.prototype,"showHeaderTitle",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return this.settings.get("newsletterShowHeaderTitle")}}),A=B(j.prototype,"titleFontCategory",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return this.settings.get("newsletterTitleFontCategory")}}),D=B(j.prototype,"titleAlignment",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return this.settings.get("newsletterTitleAlignment")}}),I=B(j.prototype,"showFeatureImage",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return this.settings.get("newsletterShowFeatureImage")}}),U=B(j.prototype,"bodyFontCategory",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return this.settings.get("newsletterBodyFontCategory")}}),L=B(j.prototype,"footerContent",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return this.settings.get("newsletterFooterContent")}}),R=B(j.prototype,"showBadge",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return this.settings.get("newsletterShowBadge")}}),B(j.prototype,"toggleSetting",[v],Object.getOwnPropertyDescriptor(j.prototype,"toggleSetting"),j.prototype),B(j.prototype,"changeSetting",[y],Object.getOwnPropertyDescriptor(j.prototype,"changeSetting"),j.prototype),B(j.prototype,"imageUploaded",[w],Object.getOwnPropertyDescriptor(j.prototype,"imageUploaded"),j.prototype),B(j.prototype,"handleInputFocus",[E],Object.getOwnPropertyDescriptor(j.prototype,"handleInputFocus"),j.prototype),B(j.prototype,"handleInputBlur",[k],Object.getOwnPropertyDescriptor(j.prototype,"handleInputBlur"),j.prototype),B(j.prototype,"confirm",[P],Object.getOwnPropertyDescriptor(j.prototype,"confirm"),j.prototype),B(j.prototype,"saveSettings",[_],Object.getOwnPropertyDescriptor(j.prototype,"saveSettings"),j.prototype),j)
|
|
1290
1291
|
e.default=H,Ember._setComponentTemplate(V,H)})),define("ghost-admin/components/modal-enable-tiers",["exports","ghost-admin/components/modal-base","ember-concurrency"],(function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
1291
1292
|
const r=Ember.HTMLBars.template({id:"7Z+9K60n",block:'{"symbols":[],"statements":[[10,"header"],[14,0,"modal-header"],[12],[2,"\\n "],[10,"h1"],[12],[2,"Tiers is a one-way street!"],[13],[2,"\\n"],[13],[2,"\\n"],[11,"a"],[24,0,"close"],[24,6,""],[24,"role","button"],[24,"title","Close"],[4,[38,0],[[32,0],"closeModal"],null],[12],[1,[30,[36,1],["close"],null]],[10,"span"],[14,0,"hidden"],[12],[2,"Close"],[13],[13],[2,"\\n\\n"],[10,"div"],[14,0,"modal-body"],[12],[2,"\\n "],[10,"p"],[12],[2,"Tiers for paid memberships is currently in an early access beta. Once enabled, it cannot be switched off. "],[10,"a"],[14,6,"http://ghost.org/help/tiers"],[14,"target","_blank"],[12],[2,"Learn more here"],[13],[13],[2,"\\n"],[13],[2,"\\n\\n"],[10,"div"],[14,0,"modal-footer"],[12],[2,"\\n "],[11,"button"],[24,0,"gh-btn"],[4,[38,0],[[32,0],"closeModal"],null],[12],[10,"span"],[12],[2,"Cancel"],[13],[13],[2,"\\n "],[11,"button"],[24,0,"gh-btn gh-btn-primary"],[4,[38,0],[[32,0],"confirm"],null],[12],[10,"span"],[12],[2,"Enable Tiers"],[13],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["action","svg-jar"]}',meta:{moduleName:"ghost-admin/components/modal-enable-tiers.hbs"}})
|
|
1292
1293
|
var i=Ember._setComponentTemplate(r,t.default.extend({feature:Ember.inject.service(),confirm:()=>{},actions:{confirm(){this.enableTiers.perform()}},enableTiers:(0,n.task)((function*(){try{yield this.feature.set("multipleProducts",!0)}finally{this.send("closeModal")}})).drop()}))
|
|
@@ -1409,7 +1410,8 @@ if(this.model.html&&this.model.subject)e=this.model.html,t=this.model.subject
|
|
|
1409
1410
|
else if(this.post.email)e=this.post.email.html,t=this.post.email.subject
|
|
1410
1411
|
else{let n=this.get("ghostPaths.url").api("/email_preview/posts",this.post.id),r=await this.ajax.request(n),[i]=r.email_previews
|
|
1411
1412
|
e=i.html,t=i.subject}let n=(new DOMParser).parseFromString(e,"text/html"),r=n.querySelector("style"),i=r.innerHTML
|
|
1412
|
-
r.innerHTML=`${i}\n\n\nhtml::-webkit-scrollbar {\n display: none;\n width: 0;\n background: transparent\n}\nhtml {\n scrollbar-width: none;\n}\n
|
|
1413
|
+
r.innerHTML=`${i}\n\n\nhtml::-webkit-scrollbar {\n display: none;\n width: 0;\n background: transparent\n}\nhtml {\n scrollbar-width: none;\n}\n`
|
|
1414
|
+
e=(new XMLSerializer).serializeToString(n.doctype)+n.documentElement.outerHTML,this.setProperties({html:e,subject:t})}}))
|
|
1413
1415
|
e.default=i})),define("ghost-admin/components/modal-product-price",["exports","ghost-admin/components/modal-base","ghost-admin/utils/currency","ember-concurrency-decorators"],(function(e,t,n,r){var i,a,s,o,l,u,d,c,m,p,h,g,b,f
|
|
1414
1416
|
function v(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function y(e,t,n,r,i){var a={}
|
|
1415
1417
|
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
@@ -1419,9 +1421,9 @@ null==e||null===(t=e.preventDefault)||void 0===t||t.call(e),this.closeModal()}*s
|
|
|
1419
1421
|
const e={...this.price,amount:100*(this.price.amount||0)}
|
|
1420
1422
|
e.id||(e.active=1,e.currency=e.currency||"usd",e.interval=e.interval||"month",e.type="recurring"),yield this.confirm(e),this.send("closeModal")}validatePriceData(){this.errors=Ember.Object.create(),this.price.nickname||this.errors.set("name",[{message:"Please enter name"}]),(isNaN(this.price.amount)||""===this.price.amount)&&this.errors.set("amount",[{message:"Please enter amount"}]),this.price.interval&&["month","year"].includes(this.price.interval)||this.errors.set("interval",[{message:"Please enter billing interval"}])}},p=y(m.prototype,"model",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),h=y(m.prototype,"price",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),g=y(m.prototype,"currencyVal",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),b=y(m.prototype,"periodVal",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),f=y(m.prototype,"errors",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return Ember.Object.create()}}),y(m.prototype,"confirmAction",[u],Object.getOwnPropertyDescriptor(m.prototype,"confirmAction"),m.prototype),y(m.prototype,"close",[d],Object.getOwnPropertyDescriptor(m.prototype,"close"),m.prototype),y(m.prototype,"savePrice",[c],Object.getOwnPropertyDescriptor(m.prototype,"savePrice"),m.prototype),m)
|
|
1421
1423
|
e.default=E,Ember._setComponentTemplate(w,E)})),define("ghost-admin/components/modal-product",["exports","ghost-admin/components/modal-base","ghost-admin/models/product-benefit-item","ghost-admin/utils/currency","ember-concurrency-decorators"],(function(e,t,n,r,i){var a,s,o,l,u,d,c,m,p,h,g,b,f,v,y,w,E,k,P,_,j,x,O,T,S,M
|
|
1422
|
-
function C(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function
|
|
1424
|
+
function C(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function z(e,t,n,r,i){var a={}
|
|
1423
1425
|
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
1424
|
-
const z=Ember.HTMLBars.template({id:"uppMjAbj",block:'{"symbols":["benefitItem","index","benefitItem","index"],"statements":[[11,"button"],[24,0,"close"],[24,6,""],[24,"title","Close"],[4,[38,4],[[32,0],"closeModal"],null],[4,[38,4],[[32,0],[30,[36,5],[[32,0,["noop"]]],null]],[["on"],["mouseDown"]]],[12],[2,"\\n "],[1,[30,[36,1],["close"],null]],[2,"\\n"],[13],[2,"\\n\\n"],[10,"div"],[14,0,"gh-product-modal-content"],[12],[2,"\\n "],[10,"header"],[14,0,"modal-header"],[12],[2,"\\n "],[10,"h1"],[12],[1,[32,0,["title"]]],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"form"],[12],[2,"\\n "],[10,"div"],[14,0,"modal-body gh-form-edit-product"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-main-section columns-3"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-main-section-block span-2"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-main-section-header small bn"],[12],[2,"Basic"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-main-section-content grey gh-product-priceform-block"],[12],[2,"\\n "],[8,"gh-form-group",[],[["@errors","@property"],[[32,0,["errors"]],"name"]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[14,"for","name"],[14,0,"fw6"],[12],[2,"Name"],[13],[2,"\\n "],[8,"gh-text-input",[],[["@value","@input","@name","@placeholder","@id","@class"],[[30,[36,6],[[32,0,["product","name"]]],null],[30,[36,4],[[32,0],[30,[36,7],[[32,0,["product","name"]]],null]],[["value"],["target.value"]]],"name","Bronze","name","gh-input"]],null],[2,"\\n "],[8,"gh-error-message",[],[["@errors","@property"],[[32,0,["errors"]],"name"]],null],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[8,"gh-form-group",[],[["@errors","@property"],[[32,0,["errors"]],"description"]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[14,"for","description"],[14,0,"fw6"],[12],[2,"Description"],[13],[2,"\\n "],[8,"gh-text-input",[],[["@value","@input","@name","@placeholder","@id","@class"],[[30,[36,6],[[32,0,["product","description"]]],null],[30,[36,4],[[32,0],[30,[36,7],[[32,0,["product","description"]]],null]],[["value"],["target.value"]]],"description","Full access to premium content","description","gh-input"]],null],[2,"\\n "],[8,"gh-error-message",[],[["@errors","@property"],[[32,0,["errors"]],"description"]],null],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[8,"gh-form-group",[],[["@errors","@hasValidated","@property"],[[32,0,["settings","errors"]],[32,0,["settings","hasValidated"]],"prices"]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[14,0,"gh-settings-members-pricelabelcont"],[12],[2,"\\n "],[10,"label"],[14,"for","monthlyPrice"],[12],[2,"Prices"],[13],[2,"\\n "],[10,"span"],[12],[2,"–"],[13],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-setting-members-currency gh-select"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-setting-members-currencylabel"],[12],[2,"\\n "],[10,"span"],[12],[1,[32,0,["currency"]]],[13],[2,"\\n "],[1,[30,[36,1],["arrow-down-small"],null]],[2,"\\n "],[13],[2,"\\n "],[8,"one-way-select",[[24,1,"currency"],[24,3,"currency"]],[["@value","@options","@optionValuePath","@optionLabelPath","@update"],[[32,0,["selectedCurrency"]],[30,[36,6],[[32,0,["allCurrencies"]]],null],"value","label",[30,[36,4],[[32,0],"setCurrency"],null]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-setting-members-prices"],[12],[2,"\\n\\n "],[10,"div"],[14,0,"gh-input-group"],[12],[2,"\\n "],[8,"gh-text-input",[],[["@id","@value","@type","@input","@focus-out"],["monthlyPrice",[30,[36,6],[[32,0,["stripeMonthlyAmount"]]],null],"number",[30,[36,4],[[32,0],[30,[36,7],[[32,0,["stripeMonthlyAmount"]]],null]],[["value"],["target.value"]]],[30,[36,4],[[32,0],"validateStripePlans"],null]]],null],[2,"\\n "],[10,"span"],[14,0,"gh-input-append"],[12],[10,"span"],[14,0,"ttu"],[12],[1,[32,0,["currency"]]],[13],[2,"/month"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-input-group"],[12],[2,"\\n "],[8,"gh-text-input",[],[["@id","@value","@type","@input","@focus-out","@placeholder"],["yearlyPrice",[30,[36,6],[[32,0,["stripeYearlyAmount"]]],null],"number",[30,[36,4],[[32,0],[30,[36,7],[[32,0,["stripeYearlyAmount"]]],null]],[["value"],["target.value"]]],[32,0,["validateStripePlans"]],""]],null],[2,"\\n "],[10,"span"],[14,0,"gh-input-append"],[12],[10,"span"],[14,0,"ttu"],[12],[1,[32,0,["currency"]]],[13],[2,"/year"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[6,[37,8],[[32,0,["stripePlanError"]]],null,[["default"],[{"statements":[[2," "],[10,"p"],[14,0,"response w-100"],[12],[10,"span"],[14,0,"red"],[12],[1,[32,0,["stripePlanError"]]],[13],[13],[2,"\\n"]],"parameters":[]}]]],[2," "]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n\\n "],[10,"h4"],[14,0,"gh-main-section-header small bn"],[12],[2,"Benefits"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-main-section-content grey gh-product-form-benefits"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-product-benefits"],[12],[2,"\\n "],[10,"form"],[14,1,"product-benefits"],[14,0,"gh-blognav"],[14,"novalidate","novalidate"],[12],[2,"\\n "],[8,"sortable-objects",[],[["@sortableObjectList","@useSwap","@sortEndAction"],[[32,0,["benefits"]],false,[30,[36,4],[[32,0],"reorderItems"],null]]],[["default"],[{"statements":[[2,"\\n"],[6,[37,3],[[30,[36,2],[[30,[36,2],[[32,0,["benefits"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[8,"draggable-object",[],[["@content","@dragHandle","@isSortable"],[[32,3],".gh-blognav-grab",true]],[["default"],[{"statements":[[2,"\\n "],[8,"gh-benefit-item",[],[["@benefitItem","@id","@addItem","@focusItem","@deleteItem","@updateLabel"],[[32,3],[32,4],[30,[36,4],[[32,0],"addBenefit"],null],[30,[36,4],[[32,0],"focusItem"],null],[30,[36,4],[[32,0],"deleteBenefit"],null],[30,[36,4],[[32,0],"updateLabel"],null]]],null],[2,"\\n "]],"parameters":[]}]]],[2,"\\n"]],"parameters":[3,4]}]]],[2," "]],"parameters":[]}]]],[2,"\\n "],[8,"gh-benefit-item",[],[["@benefitItem","@addItem","@deleteItem","@updateLabel"],[[32,0,["newBenefit"]],[30,[36,4],[[32,0],"addBenefit"],null],[30,[36,4],[[32,0],"deleteBenefit"],null],[30,[36,4],[[32,0],"updateLabel"],null]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-main-section-block gh-product-form-tierpreview"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-product-form-tierpreview-content"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-main-section-header small bn"],[12],[2,"Tier Preview"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-main-section-content"],[15,5,[31,["border-color: ",[32,0,["settings","accentColor"]]]]],[12],[2,"\\n "],[10,"span"],[14,0,"checkmark"],[15,5,[31,["background-color: ",[32,0,["settings","accentColor"]]]]],[12],[13],[2,"\\n \\n"],[6,[37,8],[[32,0,["product","name"]]],null,[["default","else"],[{"statements":[[2," "],[10,"h4"],[12],[1,[32,0,["product","name"]]],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"h4"],[14,0,"placeholder"],[12],[2,"Bronze"],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,8],[[32,0,["product","description"]]],null,[["default","else"],[{"statements":[[2," "],[10,"p"],[12],[1,[32,0,["product","description"]]],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"p"],[14,0,"placeholder"],[12],[2,"Full access to premium content"],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,8],[[32,0,["benefits"]]],null,[["default","else"],[{"statements":[[2," "],[10,"ul"],[12],[2,"\\n"],[6,[37,3],[[30,[36,2],[[30,[36,2],[[32,0,["benefits"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"li"],[12],[1,[30,[36,1],["check-2"],null]],[2," "],[10,"span"],[12],[1,[32,1,["name"]]],[13],[13],[2,"\\n"]],"parameters":[1,2]}]]],[2," "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"ul"],[14,0,"placeholder"],[12],[2,"\\n "],[10,"li"],[12],[1,[30,[36,1],["check-2"],null]],[2," "],[10,"span"],[12],[2,"Expert analysis"],[13],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," \\n "],[10,"div"],[14,0,"price"],[12],[2,"\\n \\n"],[6,[37,8],[[32,0,["stripeMonthlyAmount"]]],null,[["default","else"],[{"statements":[[2," "],[10,"span"],[14,0,"monthly-price"],[12],[2,"\\n "],[10,"span"],[14,0,"currency"],[12],[1,[30,[36,0],[[32,0,["currency"]]],null]],[13],[2,"\\n "],[1,[32,0,["stripeMonthlyAmount"]]],[2,"\\n "],[10,"span"],[14,0,"period"],[12],[2,"/month"],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"span"],[14,0,"monthly-price placeholder"],[12],[2,"\\n "],[10,"span"],[14,0,"currency"],[12],[1,[30,[36,0],[[32,0,["currency"]]],null]],[13],[2,"\\n 0\\n "],[10,"span"],[14,0,"period"],[12],[2,"/month"],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,8],[[32,0,["stripeYearlyAmount"]]],null,[["default","else"],[{"statements":[[2," "],[10,"span"],[14,0,"yearly-price"],[12],[1,[30,[36,0],[[32,0,["currency"]]],null]],[1,[32,0,["stripeYearlyAmount"]]],[2,"/year"],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"span"],[14,0,"yearly-price placeholder"],[12],[2,"0"],[10,"span"],[14,0,"currency"],[12],[1,[32,0,["currency"]]],[13],[2,"/year"],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n\\n"],[10,"div"],[14,0,"modal-footer top-shadow items-center"],[12],[2,"\\n "],[11,"button"],[24,0,"gh-btn"],[4,[38,4],[[32,0],"closeModal"],null],[4,[38,4],[[32,0],[30,[36,5],[[32,0,["noop"]]],null]],[["on"],["mouseDown"]]],[12],[2,"\\n "],[10,"span"],[12],[2,"Cancel"],[13],[2,"\\n "],[13],[2,"\\n "],[8,"gh-task-button",[],[["@buttonText","@successText","@task","@idleClass","@class"],[[31,[[30,[36,8],[[32,0,["isExistingProduct"]],"Save","Add tier"],null]]],[32,0,["successText"]],[32,0,["saveProduct"]],"gh-btn-primary",[31,["gh-btn ",[30,[36,8],[[32,0,["isExistingProduct"]],"gh-btn-black","gh-btn-green"],null]," gh-btn-icon"]]]],null],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["currency-symbol","svg-jar","-track-array","each","action","optional","readonly","mut","if"]}',meta:{moduleName:"ghost-admin/components/modal-product.hbs"}}),D=r.currencies.map((e=>({value:e.isoCode.toLowerCase(),label:`${e.isoCode} - ${e.name}`,isoCode:e.isoCode})))
|
|
1426
|
+
const A=Ember.HTMLBars.template({id:"uppMjAbj",block:'{"symbols":["benefitItem","index","benefitItem","index"],"statements":[[11,"button"],[24,0,"close"],[24,6,""],[24,"title","Close"],[4,[38,4],[[32,0],"closeModal"],null],[4,[38,4],[[32,0],[30,[36,5],[[32,0,["noop"]]],null]],[["on"],["mouseDown"]]],[12],[2,"\\n "],[1,[30,[36,1],["close"],null]],[2,"\\n"],[13],[2,"\\n\\n"],[10,"div"],[14,0,"gh-product-modal-content"],[12],[2,"\\n "],[10,"header"],[14,0,"modal-header"],[12],[2,"\\n "],[10,"h1"],[12],[1,[32,0,["title"]]],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"form"],[12],[2,"\\n "],[10,"div"],[14,0,"modal-body gh-form-edit-product"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-main-section columns-3"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-main-section-block span-2"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-main-section-header small bn"],[12],[2,"Basic"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-main-section-content grey gh-product-priceform-block"],[12],[2,"\\n "],[8,"gh-form-group",[],[["@errors","@property"],[[32,0,["errors"]],"name"]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[14,"for","name"],[14,0,"fw6"],[12],[2,"Name"],[13],[2,"\\n "],[8,"gh-text-input",[],[["@value","@input","@name","@placeholder","@id","@class"],[[30,[36,6],[[32,0,["product","name"]]],null],[30,[36,4],[[32,0],[30,[36,7],[[32,0,["product","name"]]],null]],[["value"],["target.value"]]],"name","Bronze","name","gh-input"]],null],[2,"\\n "],[8,"gh-error-message",[],[["@errors","@property"],[[32,0,["errors"]],"name"]],null],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[8,"gh-form-group",[],[["@errors","@property"],[[32,0,["errors"]],"description"]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[14,"for","description"],[14,0,"fw6"],[12],[2,"Description"],[13],[2,"\\n "],[8,"gh-text-input",[],[["@value","@input","@name","@placeholder","@id","@class"],[[30,[36,6],[[32,0,["product","description"]]],null],[30,[36,4],[[32,0],[30,[36,7],[[32,0,["product","description"]]],null]],[["value"],["target.value"]]],"description","Full access to premium content","description","gh-input"]],null],[2,"\\n "],[8,"gh-error-message",[],[["@errors","@property"],[[32,0,["errors"]],"description"]],null],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[8,"gh-form-group",[],[["@errors","@hasValidated","@property"],[[32,0,["settings","errors"]],[32,0,["settings","hasValidated"]],"prices"]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[14,0,"gh-settings-members-pricelabelcont"],[12],[2,"\\n "],[10,"label"],[14,"for","monthlyPrice"],[12],[2,"Prices"],[13],[2,"\\n "],[10,"span"],[12],[2,"–"],[13],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-setting-members-currency gh-select"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-setting-members-currencylabel"],[12],[2,"\\n "],[10,"span"],[12],[1,[32,0,["currency"]]],[13],[2,"\\n "],[1,[30,[36,1],["arrow-down-small"],null]],[2,"\\n "],[13],[2,"\\n "],[8,"one-way-select",[[24,1,"currency"],[24,3,"currency"]],[["@value","@options","@optionValuePath","@optionLabelPath","@update"],[[32,0,["selectedCurrency"]],[30,[36,6],[[32,0,["allCurrencies"]]],null],"value","label",[30,[36,4],[[32,0],"setCurrency"],null]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-setting-members-prices"],[12],[2,"\\n\\n "],[10,"div"],[14,0,"gh-input-group"],[12],[2,"\\n "],[8,"gh-text-input",[],[["@id","@value","@type","@input","@focus-out"],["monthlyPrice",[30,[36,6],[[32,0,["stripeMonthlyAmount"]]],null],"number",[30,[36,4],[[32,0],[30,[36,7],[[32,0,["stripeMonthlyAmount"]]],null]],[["value"],["target.value"]]],[30,[36,4],[[32,0],"validateStripePlans"],null]]],null],[2,"\\n "],[10,"span"],[14,0,"gh-input-append"],[12],[10,"span"],[14,0,"ttu"],[12],[1,[32,0,["currency"]]],[13],[2,"/month"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-input-group"],[12],[2,"\\n "],[8,"gh-text-input",[],[["@id","@value","@type","@input","@focus-out","@placeholder"],["yearlyPrice",[30,[36,6],[[32,0,["stripeYearlyAmount"]]],null],"number",[30,[36,4],[[32,0],[30,[36,7],[[32,0,["stripeYearlyAmount"]]],null]],[["value"],["target.value"]]],[32,0,["validateStripePlans"]],""]],null],[2,"\\n "],[10,"span"],[14,0,"gh-input-append"],[12],[10,"span"],[14,0,"ttu"],[12],[1,[32,0,["currency"]]],[13],[2,"/year"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[6,[37,8],[[32,0,["stripePlanError"]]],null,[["default"],[{"statements":[[2," "],[10,"p"],[14,0,"response w-100"],[12],[10,"span"],[14,0,"red"],[12],[1,[32,0,["stripePlanError"]]],[13],[13],[2,"\\n"]],"parameters":[]}]]],[2," "]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n\\n "],[10,"h4"],[14,0,"gh-main-section-header small bn"],[12],[2,"Benefits"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-main-section-content grey gh-product-form-benefits"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-product-benefits"],[12],[2,"\\n "],[10,"form"],[14,1,"product-benefits"],[14,0,"gh-blognav"],[14,"novalidate","novalidate"],[12],[2,"\\n "],[8,"sortable-objects",[],[["@sortableObjectList","@useSwap","@sortEndAction"],[[32,0,["benefits"]],false,[30,[36,4],[[32,0],"reorderItems"],null]]],[["default"],[{"statements":[[2,"\\n"],[6,[37,3],[[30,[36,2],[[30,[36,2],[[32,0,["benefits"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[8,"draggable-object",[],[["@content","@dragHandle","@isSortable"],[[32,3],".gh-blognav-grab",true]],[["default"],[{"statements":[[2,"\\n "],[8,"gh-benefit-item",[],[["@benefitItem","@id","@addItem","@focusItem","@deleteItem","@updateLabel"],[[32,3],[32,4],[30,[36,4],[[32,0],"addBenefit"],null],[30,[36,4],[[32,0],"focusItem"],null],[30,[36,4],[[32,0],"deleteBenefit"],null],[30,[36,4],[[32,0],"updateLabel"],null]]],null],[2,"\\n "]],"parameters":[]}]]],[2,"\\n"]],"parameters":[3,4]}]]],[2," "]],"parameters":[]}]]],[2,"\\n "],[8,"gh-benefit-item",[],[["@benefitItem","@addItem","@deleteItem","@updateLabel"],[[32,0,["newBenefit"]],[30,[36,4],[[32,0],"addBenefit"],null],[30,[36,4],[[32,0],"deleteBenefit"],null],[30,[36,4],[[32,0],"updateLabel"],null]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-main-section-block gh-product-form-tierpreview"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-product-form-tierpreview-content"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-main-section-header small bn"],[12],[2,"Tier Preview"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-main-section-content"],[15,5,[31,["border-color: ",[32,0,["settings","accentColor"]]]]],[12],[2,"\\n "],[10,"span"],[14,0,"checkmark"],[15,5,[31,["background-color: ",[32,0,["settings","accentColor"]]]]],[12],[13],[2,"\\n \\n"],[6,[37,8],[[32,0,["product","name"]]],null,[["default","else"],[{"statements":[[2," "],[10,"h4"],[12],[1,[32,0,["product","name"]]],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"h4"],[14,0,"placeholder"],[12],[2,"Bronze"],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,8],[[32,0,["product","description"]]],null,[["default","else"],[{"statements":[[2," "],[10,"p"],[12],[1,[32,0,["product","description"]]],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"p"],[14,0,"placeholder"],[12],[2,"Full access to premium content"],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,8],[[32,0,["benefits"]]],null,[["default","else"],[{"statements":[[2," "],[10,"ul"],[12],[2,"\\n"],[6,[37,3],[[30,[36,2],[[30,[36,2],[[32,0,["benefits"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"li"],[12],[1,[30,[36,1],["check-2"],null]],[2," "],[10,"span"],[12],[1,[32,1,["name"]]],[13],[13],[2,"\\n"]],"parameters":[1,2]}]]],[2," "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"ul"],[14,0,"placeholder"],[12],[2,"\\n "],[10,"li"],[12],[1,[30,[36,1],["check-2"],null]],[2," "],[10,"span"],[12],[2,"Expert analysis"],[13],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," \\n "],[10,"div"],[14,0,"price"],[12],[2,"\\n \\n"],[6,[37,8],[[32,0,["stripeMonthlyAmount"]]],null,[["default","else"],[{"statements":[[2," "],[10,"span"],[14,0,"monthly-price"],[12],[2,"\\n "],[10,"span"],[14,0,"currency"],[12],[1,[30,[36,0],[[32,0,["currency"]]],null]],[13],[2,"\\n "],[1,[32,0,["stripeMonthlyAmount"]]],[2,"\\n "],[10,"span"],[14,0,"period"],[12],[2,"/month"],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"span"],[14,0,"monthly-price placeholder"],[12],[2,"\\n "],[10,"span"],[14,0,"currency"],[12],[1,[30,[36,0],[[32,0,["currency"]]],null]],[13],[2,"\\n 0\\n "],[10,"span"],[14,0,"period"],[12],[2,"/month"],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,8],[[32,0,["stripeYearlyAmount"]]],null,[["default","else"],[{"statements":[[2," "],[10,"span"],[14,0,"yearly-price"],[12],[1,[30,[36,0],[[32,0,["currency"]]],null]],[1,[32,0,["stripeYearlyAmount"]]],[2,"/year"],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"span"],[14,0,"yearly-price placeholder"],[12],[2,"0"],[10,"span"],[14,0,"currency"],[12],[1,[32,0,["currency"]]],[13],[2,"/year"],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n\\n"],[10,"div"],[14,0,"modal-footer top-shadow items-center"],[12],[2,"\\n "],[11,"button"],[24,0,"gh-btn"],[4,[38,4],[[32,0],"closeModal"],null],[4,[38,4],[[32,0],[30,[36,5],[[32,0,["noop"]]],null]],[["on"],["mouseDown"]]],[12],[2,"\\n "],[10,"span"],[12],[2,"Cancel"],[13],[2,"\\n "],[13],[2,"\\n "],[8,"gh-task-button",[],[["@buttonText","@successText","@task","@idleClass","@class"],[[31,[[30,[36,8],[[32,0,["isExistingProduct"]],"Save","Add tier"],null]]],[32,0,["successText"]],[32,0,["saveProduct"]],"gh-btn-primary",[31,["gh-btn ",[30,[36,8],[[32,0,["isExistingProduct"]],"gh-btn-black","gh-btn-green"],null]," gh-btn-icon"]]]],null],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["currency-symbol","svg-jar","-track-array","each","action","optional","readonly","mut","if"]}',meta:{moduleName:"ghost-admin/components/modal-product.hbs"}}),D=r.currencies.map((e=>({value:e.isoCode.toLowerCase(),label:`${e.isoCode} - ${e.name}`,isoCode:e.isoCode})))
|
|
1425
1427
|
let I=(a=Ember.inject.service,s=Ember._tracked,o=Ember._tracked,l=Ember._tracked,u=Ember._tracked,d=Ember._tracked,c=Ember._tracked,m=Ember._tracked,p=Ember._tracked,h=Ember._tracked,g=Ember._tracked,b=Ember._action,f=Ember._action,v=(0,i.task)({drop:!0}),y=class extends t.default{constructor(...e){super(...e),C(this,"settings",w,this),C(this,"model",E,this),C(this,"product",k,this),C(this,"periodVal",P,this),C(this,"stripeMonthlyAmount",_,this),C(this,"stripeYearlyAmount",j,this),C(this,"currency",x,this),C(this,"errors",O,this),C(this,"stripePlanError",T,this),C(this,"benefits",S,this),C(this,"newBenefit",M,this),function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(this,"actions",{addBenefit(e){return e.validate().then((()=>{this.addNewBenefitItem(e)}))},focusItem(){},deleteBenefit(e){e&&this.benefits.removeObject(e)},reorderItems(){this.product.set("benefits",this.benefits)},updateLabel(e,t){t&&t.get("name")!==e&&t.set("name",e)},confirm(){},setAmount(e){this.price.amount=isNaN(e)?0:parseInt(e)},setCurrency(e){const t=e.value
|
|
1426
1428
|
this.currency=t},validateStripePlans(){this.stripePlanError=void 0
|
|
1427
1429
|
try{const e=this.stripeYearlyAmount,t=this.stripeMonthlyAmount,n=(0,r.getSymbol)(this.currency)
|
|
@@ -1438,8 +1440,8 @@ this.newBenefit.get("isBlank")||(yield this.send("addBenefit",this.newBenefit))
|
|
|
1438
1440
|
const e=100*this.stripeMonthlyAmount,t=100*this.stripeYearlyAmount
|
|
1439
1441
|
this.product.set("monthlyPrice",{nickname:"Monthly",amount:e,active:!0,currency:this.currency,interval:"month",type:"recurring"}),this.product.set("yearlyPrice",{nickname:"Yearly",amount:t,active:!0,currency:this.currency,interval:"year",type:"recurring"}),this.product.set("benefits",this.benefits),yield this.product.save(),yield this.confirm(),this.send("closeModal")}validatePrices(){this.stripePlanError=void 0
|
|
1440
1442
|
try{const e=this.stripeYearlyAmount,t=this.stripeMonthlyAmount,n=(0,r.getSymbol)(this.currency)
|
|
1441
|
-
if(!e||e<1||!t||t<1)throw new TypeError(`Subscription amount must be at least ${n}1.00`)}catch(e){this.stripePlanError=e.message}}addNewBenefitItem(e){e.set("isNew",!1),this.benefits.pushObject(e),this.newBenefit=n.default.create({isNew:!0,name:""})}},w=
|
|
1442
|
-
e.default=I,Ember._setComponentTemplate(
|
|
1443
|
+
if(!e||e<1||!t||t<1)throw new TypeError(`Subscription amount must be at least ${n}1.00`)}catch(e){this.stripePlanError=e.message}}addNewBenefitItem(e){e.set("isNew",!1),this.benefits.pushObject(e),this.newBenefit=n.default.create({isNew:!0,name:""})}},w=z(y.prototype,"settings",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),E=z(y.prototype,"model",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=z(y.prototype,"product",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P=z(y.prototype,"periodVal",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=z(y.prototype,"stripeMonthlyAmount",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 5}}),j=z(y.prototype,"stripeYearlyAmount",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 50}}),x=z(y.prototype,"currency",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"usd"}}),O=z(y.prototype,"errors",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return Ember.Object.create()}}),T=z(y.prototype,"stripePlanError",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),S=z(y.prototype,"benefits",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return Ember.A([])}}),M=z(y.prototype,"newBenefit",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),z(y.prototype,"close",[b],Object.getOwnPropertyDescriptor(y.prototype,"close"),y.prototype),z(y.prototype,"setCurrency",[f],Object.getOwnPropertyDescriptor(y.prototype,"setCurrency"),y.prototype),z(y.prototype,"saveProduct",[v],Object.getOwnPropertyDescriptor(y.prototype,"saveProduct"),y.prototype),y)
|
|
1444
|
+
e.default=I,Ember._setComponentTemplate(A,I)})),define("ghost-admin/components/modal-re-authenticate",["exports","ghost-admin/components/modal-base","ghost-admin/mixins/validation-engine","ghost-admin/services/ajax","ember-concurrency"],(function(e,t,n,r,i){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
1443
1445
|
const a=Ember.HTMLBars.template({id:"597ascky",block:'{"symbols":[],"statements":[[10,"header"],[14,0,"modal-header"],[12],[2,"\\n "],[10,"h1"],[12],[2,"Please re-authenticate"],[13],[2,"\\n"],[13],[2,"\\n"],[11,"a"],[24,0,"close"],[24,6,""],[24,"role","button"],[24,"title","Close"],[4,[38,0],[[32,0],"closeModal"],null],[12],[1,[30,[36,1],["close"],null]],[10,"span"],[14,0,"hidden"],[12],[2,"Close"],[13],[13],[2,"\\n\\n"],[10,"div"],[15,0,[31,["modal-body ",[30,[36,2],[[32,0,["authenticationError"]],"error"],null]]]],[12],[2,"\\n\\n "],[11,"form"],[24,1,"login"],[24,0,"login-form"],[24,"method","post"],[24,"novalidate","novalidate"],[4,[38,0],[[32,0],"confirm"],[["on"],["submit"]]],[12],[2,"\\n "],[8,"gh-validation-status-container",[],[["@class","@errors","@property","@hasValidated"],["password-wrap",[32,0,["errors"]],"password",[32,0,["hasValidated"]]]],[["default"],[{"statements":[[2,"\\n "],[8,"gh-text-input",[],[["@class","@type","@placeholder","@name","@value","@input"],["password","password","Password","password",[30,[36,3],[[32,0,["password"]]],null],[30,[36,0],[[32,0],[30,[36,4],[[32,0,["password"]]],null]],[["value"],["target.value"]]]]],null],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[8,"gh-task-button",[],[["@buttonText","@task","@class","@type"],["Log in",[32,0,["reauthenticate"]],"gh-btn gh-btn-black gh-btn-icon","submit"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n"],[6,[37,2],[[32,0,["authenticationError"]]],null,[["default"],[{"statements":[[2," "],[10,"p"],[14,0,"response"],[12],[1,[32,0,["authenticationError"]]],[13],[2,"\\n"]],"parameters":[]}]]],[13],[2,"\\n"]],"hasEval":false,"upvars":["action","svg-jar","if","readonly","mut"]}',meta:{moduleName:"ghost-admin/components/modal-re-authenticate.hbs"}})
|
|
1444
1446
|
var s=Ember._setComponentTemplate(a,t.default.extend(n.default,{config:Ember.inject.service(),notifications:Ember.inject.service(),session:Ember.inject.service(),validationType:"signin",authenticationError:null,identification:Ember.computed.reads("session.user.email"),actions:{confirm(){this.reauthenticate.perform()}},_authenticate(){let e=this.session,t=this.identification,n=this.password
|
|
1445
1447
|
return e.set("skipAuthSuccessHandler",!0),this.toggleProperty("submitting"),e.authenticate("authenticator:cookie",t,n).finally((()=>{this.toggleProperty("submitting"),e.set("skipAuthSuccessHandler",void 0)}))},_passwordConfirm(){return document.querySelectorAll("#login input").forEach((e=>e.dispatchEvent(new Event("change")))),this.set("authenticationError",null),this.validate({property:"signin"}).then((()=>this._authenticate().then((()=>(this.notifications.closeAlerts(),this.send("closeModal"),!0))).catch((e=>{e&&e.payload&&e.payload.errors&&(e.payload.errors.forEach((t=>{if((0,r.isVersionMismatchError)(t))return this.notifications.showAPIError(e)
|
|
@@ -1586,13 +1588,13 @@ e.default=x,Ember._setComponentTemplate(j,x)})),define("ghost-admin/components/m
|
|
|
1586
1588
|
const t=Ember.HTMLBars.template({id:"IjoIzi8l",block:'{"symbols":["error","error","error","@data","@close"],"statements":[[10,"div"],[14,0,"modal-content"],[12],[2,"\\n "],[10,"div"],[14,0,"theme-validation-container"],[12],[2,"\\n "],[10,"header"],[14,0,"modal-header"],[12],[2,"\\n "],[10,"h1"],[12],[2,"\\n"],[6,[37,3],[[32,4,["canActivate"]]],null,[["default","else"],[{"statements":[[2," "],[1,[32,4,["title"]]],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[1,[32,4,["title"]]],[2," with "],[6,[37,2],[[32,4,["errors"]]],null,[["default","else"],[{"statements":[[2,"errors"]],"parameters":[]},{"statements":[[2,"warnings"]],"parameters":[]}]]],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "],[11,"button"],[24,0,"close"],[24,"title","Close"],[24,4,"button"],[4,[38,4],["click",[32,5]],null],[12],[1,[30,[36,5],["close"],null]],[10,"span"],[14,0,"hidden"],[12],[2,"Close"],[13],[13],[2,"\\n\\n "],[10,"div"],[14,0,"modal-body"],[12],[2,"\\n"],[6,[37,2],[[32,4,["fatalErrors"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[12],[2,"\\n "],[10,"h2"],[14,0,"mb0 mt4 f5 fw6 red"],[12],[2,"Fatal Errors"],[13],[2,"\\n "],[10,"p"],[14,0,"mb2 red"],[12],[2,"Must-fix to activate theme"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"ul"],[14,0,"pa0"],[12],[2,"\\n"],[6,[37,1],[[30,[36,0],[[30,[36,0],[[32,4,["fatalErrors"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"li"],[14,0,"theme-validation-item theme-fatal-error"],[12],[2,"\\n "],[8,"gh-theme-error-li",[],[["@error"],[[32,3]]],null],[2,"\\n "],[13],[2,"\\n"]],"parameters":[3]}]]],[2," "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,2],[[32,4,["errors"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[12],[2,"\\n "],[10,"h2"],[14,0,"mb0 mt4 f5 fw6"],[12],[2,"Errors"],[13],[2,"\\n "],[10,"p"],[14,0,"mb2"],[12],[2,"Highly recommended to fix, functionality "],[10,"span"],[12],[2,"could"],[13],[2," be restricted"],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"ul"],[14,0,"pa0"],[12],[2,"\\n"],[6,[37,1],[[30,[36,0],[[30,[36,0],[[32,4,["errors"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"li"],[14,0,"theme-validation-item theme-error"],[12],[2,"\\n "],[8,"gh-theme-error-li",[],[["@error"],[[32,2]]],null],[2,"\\n "],[13],[2,"\\n"]],"parameters":[2]}]]],[2," "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,2],[[30,[36,7],[[32,4,["warnings"]],[30,[36,6],[[32,4,["fatalErrors"]],[32,4,["errors"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[12],[2,"\\n "],[10,"h2"],[14,0,"mb0 mt4 f5 fw6"],[12],[2,"Warnings"],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[6,[37,2],[[32,4,["warnings"]]],null,[["default"],[{"statements":[[2," "],[10,"ul"],[14,0,"pa0"],[12],[2,"\\n"],[6,[37,1],[[30,[36,0],[[30,[36,0],[[32,4,["warnings"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"li"],[14,0,"theme-validation-item theme-warning"],[12],[2,"\\n "],[8,"gh-theme-error-li",[],[["@error"],[[32,1]]],null],[2,"\\n "],[13],[2,"\\n"]],"parameters":[1]}]]],[2," "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"modal-footer"],[12],[2,"\\n "],[11,"button"],[24,0,"gh-btn"],[24,4,"button"],[4,[38,4],["click",[32,5]],null],[12],[2,"\\n "],[10,"span"],[12],[2,"Ok"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n"],[13]],"hasEval":false,"upvars":["-track-array","each","if","unless","on","svg-jar","or","and"]}',meta:{moduleName:"ghost-admin/components/modals/design/theme-errors.hbs"}})
|
|
1587
1589
|
var n=Ember._setComponentTemplate(t,Ember._templateOnlyComponent())
|
|
1588
1590
|
e.default=n})),define("ghost-admin/components/modals/design/upload-theme",["exports","@glimmer/component","ghost-admin/services/ajax","ember-concurrency-decorators"],(function(e,t,n,r){var i,a,s,o,l,u,d,c,m,p,h,g,b,f,v,y,w,E,k,P,_,j,x,O,T,S,M
|
|
1589
|
-
function C(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function
|
|
1591
|
+
function C(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function z(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function A(e,t,n,r,i){var a={}
|
|
1590
1592
|
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
1591
1593
|
const D=Ember.HTMLBars.template({id:"RC6N+khH",block:'{"symbols":["error","error","error","error","@close"],"statements":[[10,"div"],[14,0,"modal-content"],[12],[2,"\\n "],[10,"div"],[14,0,"theme-validation-container"],[12],[2,"\\n "],[10,"header"],[14,0,"modal-header"],[12],[2,"\\n "],[10,"h1"],[12],[2,"\\n"],[6,[37,1],[[32,0,["theme"]]],null,[["default","else"],[{"statements":[[6,[37,1],[[32,0,["hasWarningsOrErrors"]]],null,[["default","else"],[{"statements":[[2," Upload successful with "],[6,[37,1],[[32,0,["validationErrors"]]],null,[["default","else"],[{"statements":[[2,"errors"]],"parameters":[]},{"statements":[[2,"warnings"]],"parameters":[]}]]],[2,"\\n"]],"parameters":[]},{"statements":[[2," Upload successful!\\n"]],"parameters":[]}]]]],"parameters":[]},{"statements":[[6,[37,1],[[30,[36,6],[[32,0,["validationErrors"]],[32,0,["fatalValidationErrors"]]],null]],null,[["default","else"],[{"statements":[[2," Invalid theme\\n"]],"parameters":[]},{"statements":[[2," Upload a theme\\n "]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "],[11,"button"],[24,0,"close"],[24,"title","Close"],[24,4,"button"],[4,[38,0],["click",[32,5]],null],[12],[1,[30,[36,7],["close"],null]],[10,"span"],[14,0,"hidden"],[12],[2,"Close"],[13],[13],[2,"\\n\\n "],[10,"div"],[14,0,"modal-body"],[12],[2,"\\n"],[6,[37,1],[[32,0,["theme"]]],null,[["default","else"],[{"statements":[[6,[37,1],[[32,0,["hasWarningsOrErrors"]]],null,[["default","else"],[{"statements":[[2," "],[10,"p"],[12],[2,"\\n The theme "],[10,"strong"],[12],[2,"\\""],[1,[32,0,["themeName"]]],[2,"\\""],[13],[2," was installed successfully but we detected some "],[1,[30,[36,1],[[32,0,["validationErrors"]],"errors","warnings"],null]],[2,".\\n"],[6,[37,1],[[32,0,["canActivateTheme"]]],null,[["default"],[{"statements":[[2," You are still able to activate and use the theme but it is recommended to fix these "],[1,[30,[36,1],[[32,0,["validationErrors"]],"errors","warnings"],null]],[2," before you do so.\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n\\n"],[6,[37,1],[[32,0,["validationErrors"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[12],[2,"\\n "],[10,"h2"],[14,0,"mb0 mt4 f5 fw6"],[12],[2,"Errors"],[13],[2,"\\n "],[10,"p"],[14,0,"mb2"],[12],[2,"Highly recommended to fix, functionality "],[10,"strong"],[12],[2,"could"],[13],[2," be restricted"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"ul"],[14,0,"pa0"],[12],[2,"\\n"],[6,[37,5],[[30,[36,4],[[30,[36,4],[[32,0,["validationErrors"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"li"],[14,0,"theme-validation-item theme-error"],[12],[2,"\\n "],[8,"gh-theme-error-li",[],[["@error"],[[32,4]]],null],[2,"\\n "],[13],[2,"\\n"]],"parameters":[4]}]]],[2," "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,1],[[32,0,["validationWarnings"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[12],[2,"\\n "],[10,"h2"],[14,0,"mb0 mt4 f5 fw6"],[12],[2,"Warnings"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"ul"],[14,0,"pa0"],[12],[2,"\\n"],[6,[37,5],[[30,[36,4],[[30,[36,4],[[32,0,["validationWarnings"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"li"],[14,0,"theme-validation-item theme-warning"],[12],[2,"\\n "],[8,"gh-theme-error-li",[],[["@error"],[[32,3]]],null],[2,"\\n "],[13],[2,"\\n"]],"parameters":[3]}]]],[2," "],[13],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]},{"statements":[[2," "],[10,"p"],[12],[2,"\\n "],[10,"strong"],[12],[1,[32,0,["themeName"]]],[13],[2," uploaded successfully.\\n "],[6,[37,1],[[32,0,["canActivateTheme"]]],null,[["default"],[{"statements":[[2,"Do you want to activate it now?"]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]},{"statements":[[6,[37,1],[[32,0,["displayOverwriteWarning"]]],null,[["default","else"],[{"statements":[[2," "],[10,"p"],[12],[2,"\\n The theme folder "],[10,"strong"],[12],[2,"\\""],[1,[32,0,["fileThemeName"]]],[2,"\\""],[13],[2," already exists. Do you want to overwrite it?\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[6,[37,1],[[30,[36,6],[[32,0,["validationErrors"]],[32,0,["fatalValidationErrors"]]],null]],null,[["default","else"],[{"statements":[[2,"\\n "],[10,"p"],[12],[2,"\\n This theme is invalid and cannot be activated. Fix the following errors and re-upload the theme.\\n "],[13],[2,"\\n\\n"],[6,[37,1],[[32,0,["fatalValidationErrors"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[12],[2,"\\n "],[10,"h2"],[14,0,"mb0 mt4 f5 fw6"],[12],[2,"Fatal Errors"],[13],[2,"\\n "],[10,"p"],[14,0,"mb2"],[12],[2,"Must-fix to activate theme"],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"ul"],[14,0,"pa0"],[12],[2,"\\n"],[6,[37,5],[[30,[36,4],[[30,[36,4],[[32,0,["fatalValidationErrors"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"li"],[14,0,"theme-validation-item theme-fatal-error"],[12],[2,"\\n "],[8,"gh-theme-error-li",[],[["@error"],[[32,2]]],null],[2,"\\n "],[13],[2,"\\n"]],"parameters":[2]}]]],[2," "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n"],[6,[37,1],[[32,0,["validationErrors"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[12],[2,"\\n "],[10,"h2"],[14,0,"mb0 mt4 f5 fw6"],[12],[2,"Errors"],[13],[2,"\\n "],[10,"p"],[14,0,"mb2"],[12],[2,"Highly recommended to fix, functionality "],[10,"strong"],[12],[2,"could"],[13],[2," be restricted"],[13],[2,"\\n "],[13],[2,"\\n "],[10,"ul"],[14,0,"pa0"],[12],[2,"\\n"],[6,[37,5],[[30,[36,4],[[30,[36,4],[[32,0,["validationErrors"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"li"],[14,0,"theme-validation-item theme-error"],[12],[2,"\\n "],[8,"gh-theme-error-li",[],[["@error"],[[32,1]]],null],[2,"\\n "],[13],[2,"\\n"]],"parameters":[1]}]]],[2," "],[13],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]},{"statements":[[2," "],[8,"gh-file-uploader",[],[["@url","@paramName","@accept","@labelText","@validate","@uploadStarted","@uploadFinished","@uploadSuccess","@uploadFailed","@listenTo"],[[32,0,["uploadUrl"]],"file",[32,0,["accept"]],"Click to select or drag-and-drop your theme zip file here.",[32,0,["validateTheme"]],[30,[36,3],[[30,[36,2],[[32,0,["themeManagement","isUploading"]]],null],true],null],[30,[36,3],[[30,[36,2],[[32,0,["themeManagement","isUploading"]]],null],false],null],[32,0,["uploadSuccess"]],[32,0,["uploadFailed"]],"themeUploader"]],null],[2,"\\n "]],"parameters":[]}]]]],"parameters":[]}]]]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[15,0,[31,["modal-footer ",[30,[36,1],[[30,[36,8],[[32,0,["theme"]],[32,0,["hasWarningsOrErrors"]]],null],"top-shadow"],null]]]],[12],[2,"\\n "],[10,"div"],[15,0,[31,["flex items-center justify-between ",[30,[36,1],[[30,[36,6],[[32,0,["displayOverwriteWarning"]],[32,0,["canActivateTheme"]],[32,0,["validationErrors"]],[32,0,["fatalValidationErrors"]]],null],"flex-auto"],null]]]],[12],[2,"\\n "],[11,"button"],[16,"disabled",[32,0,["closeDisabled"]]],[24,0,"gh-btn"],[24,4,"button"],[4,[38,0],["click",[32,5]],null],[12],[2,"\\n "],[10,"span"],[12],[6,[37,1],[[32,0,["theme"]]],null,[["default","else"],[{"statements":[[2,"Close"]],"parameters":[]},{"statements":[[2,"Cancel"]],"parameters":[]}]]],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"flex items-center"],[12],[2,"\\n"],[6,[37,1],[[32,0,["displayOverwriteWarning"]]],null,[["default"],[{"statements":[[2," "],[11,"button"],[24,0,"gh-btn gh-btn-red"],[24,4,"button"],[4,[38,0],["click",[32,0,["confirmOverwrite"]]],null],[12],[2,"\\n "],[10,"span"],[12],[2,"Overwrite"],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[6,[37,1],[[32,0,["canActivateTheme"]]],null,[["default"],[{"statements":[[2," "],[11,"button"],[24,0,"gh-btn gh-btn-primary"],[24,4,"button"],[4,[38,0],["click",[32,0,["activate"]]],null],[12],[2,"\\n "],[10,"span"],[12],[2,"Activate"],[6,[37,1],[[32,0,["validationErrors"]]],null,[["default"],[{"statements":[[2," with errors"]],"parameters":[]}]]],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[6,[37,1],[[30,[36,6],[[32,0,["validationErrors"]],[32,0,["fatalValidationErrors"]]],null]],null,[["default"],[{"statements":[[2," "],[11,"button"],[24,0,"gh-btn gh-btn-black ml2"],[24,4,"button"],[4,[38,0],["click",[32,0,["reset"]]],null],[12],[2,"\\n "],[10,"span"],[12],[2,"Retry"],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13]],"hasEval":false,"upvars":["on","if","mut","fn","-track-array","each","or","svg-jar","and"]}',meta:{moduleName:"ghost-admin/components/modals/design/upload-theme.hbs"}})
|
|
1592
1594
|
let I=(i=Ember.inject.service,a=Ember.inject.service,s=Ember.inject.service,o=Ember.inject.service,l=Ember._tracked,u=Ember._tracked,d=Ember._tracked,c=Ember._tracked,m=Ember._tracked,p=Ember._tracked,h=Ember._action,g=Ember._action,b=Ember._action,f=Ember._action,v=Ember._action,y=Ember._action,w=class extends t.default{get themes(){return this.store.peekAll("theme")}get currentThemeNames(){return this.themes.map((e=>e.name))}get themeName(){let e=this.theme.package,t=this.theme.name
|
|
1593
1595
|
return e?`${e.name} - ${e.version}`:t}get fileThemeName(){var e
|
|
1594
1596
|
return null===(e=this.file)||void 0===e?void 0:e.name.replace(/\.zip$/,"")}get canActivateTheme(){return this.theme&&!this.theme.active}get uploadUrl(){return`${this.ghostPaths.apiRoot}/themes/upload/`}get hasWarningsOrErrors(){var e,t
|
|
1595
|
-
return(null===(e=this.validationWarnings)||void 0===e?void 0:e.length)||(null===(t=this.validationErrors)||void 0===t?void 0:t.length)}get closeDisabled(){return this.themeManagement.isUploading}constructor(){super(...arguments),C(this,"eventBus",E,this),C(this,"ghostPaths",k,this),C(this,"store",P,this),C(this,"themeManagement",_,this),C(this,"displayOverwriteWarning",j,this),C(this,"file",x,this),C(this,"theme",O,this),C(this,"validationErrors",T,this),C(this,"validationWarnings",S,this),C(this,"fatalValidationErrors",M,this),
|
|
1597
|
+
return(null===(e=this.validationWarnings)||void 0===e?void 0:e.length)||(null===(t=this.validationErrors)||void 0===t?void 0:t.length)}get closeDisabled(){return this.themeManagement.isUploading}constructor(){super(...arguments),C(this,"eventBus",E,this),C(this,"ghostPaths",k,this),C(this,"store",P,this),C(this,"themeManagement",_,this),C(this,"displayOverwriteWarning",j,this),C(this,"file",x,this),C(this,"theme",O,this),C(this,"validationErrors",T,this),C(this,"validationWarnings",S,this),C(this,"fatalValidationErrors",M,this),z(this,"accept",["application/zip","application/x-zip-compressed"]),z(this,"extensions",["zip"]),this.refreshThemesTask.perform()}*refreshThemesTask(){yield this.store.findAll("theme")}validateTheme(e){const t=e.name.replace(/\.zip$/,"").replace(/[^\w@.]/gi,"-").toLowerCase()
|
|
1596
1598
|
this.file=e
|
|
1597
1599
|
const[,r]=/(?:\.([^.]+))?$/.exec(e.name),i=this.extensions
|
|
1598
1600
|
return r&&-1!==i.indexOf(r.toLowerCase())?e.name.match(/^casper\.zip$/i)?{payload:{errors:[{message:"Sorry, the default Casper theme cannot be overwritten.<br>Please rename your zip file and try again."}]}}:!(!this._allowOverwrite&&this.currentThemeNames.includes(t))||(this.displayOverwriteWarning=!0,!1):new n.UnsupportedMediaTypeError}confirmOverwrite(){this._allowOverwrite=!0,this.displayOverwriteWarning=!1,Ember.run.schedule("afterRender",this,(function(){this.eventBus.publish("themeUploader:upload",this.file)}))}uploadSuccess(e){var t,n
|
|
@@ -1601,7 +1603,7 @@ const r=this.store.peekRecord("theme",e.themes[0].name)
|
|
|
1601
1603
|
this.theme=r,(null===(t=r.warnings)||void 0===t?void 0:t.length)>0&&(this.validationWarnings=r.warnings),(null===(n=r.errors)||void 0===n?void 0:n.length)>0&&(this.validationErrors=r.errors)}uploadFailed(e){if((0,n.isThemeValidationError)(e)){var t
|
|
1602
1604
|
const n=e.payload.errors[0].details.errors,r=[],i=[]
|
|
1603
1605
|
null===(t=n.forEach)||void 0===t||t.call(n,(e=>{e.fatal?r.push(e):i.push(e)})),this.fatalValidationErrors=r,this.validationErrors=i}}activate(){var e,t
|
|
1604
|
-
this.themeManagement.activateTask.perform(this.theme),null===(e=(t=this.args.data).onActivationSuccess)||void 0===e||e.call(t),this.args.close()}reset(){this.theme=null,this.validationWarnings=[],this.validationErrors=[],this.fatalValidationErrors=[]}},E=
|
|
1606
|
+
this.themeManagement.activateTask.perform(this.theme),null===(e=(t=this.args.data).onActivationSuccess)||void 0===e||e.call(t),this.args.close()}reset(){this.theme=null,this.validationWarnings=[],this.validationErrors=[],this.fatalValidationErrors=[]}},E=A(w.prototype,"eventBus",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=A(w.prototype,"ghostPaths",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P=A(w.prototype,"store",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=A(w.prototype,"themeManagement",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=A(w.prototype,"displayOverwriteWarning",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),x=A(w.prototype,"file",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=A(w.prototype,"theme",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=A(w.prototype,"validationErrors",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=A(w.prototype,"validationWarnings",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),M=A(w.prototype,"fatalValidationErrors",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),A(w.prototype,"refreshThemesTask",[r.task],Object.getOwnPropertyDescriptor(w.prototype,"refreshThemesTask"),w.prototype),A(w.prototype,"validateTheme",[h],Object.getOwnPropertyDescriptor(w.prototype,"validateTheme"),w.prototype),A(w.prototype,"confirmOverwrite",[g],Object.getOwnPropertyDescriptor(w.prototype,"confirmOverwrite"),w.prototype),A(w.prototype,"uploadSuccess",[b],Object.getOwnPropertyDescriptor(w.prototype,"uploadSuccess"),w.prototype),A(w.prototype,"uploadFailed",[f],Object.getOwnPropertyDescriptor(w.prototype,"uploadFailed"),w.prototype),A(w.prototype,"activate",[v],Object.getOwnPropertyDescriptor(w.prototype,"activate"),w.prototype),A(w.prototype,"reset",[y],Object.getOwnPropertyDescriptor(w.prototype,"reset"),w.prototype),w)
|
|
1605
1607
|
e.default=I,Ember._setComponentTemplate(D,I)})),define("ghost-admin/components/modals/design/view-theme",["exports","@glimmer/component"],(function(e,t){var n,r,i,a,s,o,l,u,d
|
|
1606
1608
|
function c(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function m(e,t,n,r,i){var a={}
|
|
1607
1609
|
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
@@ -1630,9 +1632,9 @@ const s=Ember.HTMLBars.template({id:"oaPTe7od",block:'{"symbols":["@post"],"stat
|
|
|
1630
1632
|
let o=(a=class extends t.default{*copyPreviewUrl(){(0,n.default)(this.args.post.previewUrl),yield(0,i.timeout)(this.isTesting?50:3e3)}},l=a.prototype,u="copyPreviewUrl",d=[r.task],c=Object.getOwnPropertyDescriptor(a.prototype,"copyPreviewUrl"),m=a.prototype,p={},Object.keys(c).forEach((function(e){p[e]=c[e]})),p.enumerable=!!p.enumerable,p.configurable=!!p.configurable,("value"in p||p.initializer)&&(p.writable=!0),p=d.slice().reverse().reduce((function(e,t){return t(l,u,e)||e}),p),m&&void 0!==p.initializer&&(p.value=p.initializer?p.initializer.call(m):void 0,p.initializer=void 0),void 0===p.initializer&&(Object.defineProperty(l,u,p),p=null),a)
|
|
1631
1633
|
var l,u,d,c,m,p
|
|
1632
1634
|
e.default=o,Ember._setComponentTemplate(s,o)})),define("ghost-admin/components/modals/post-preview/email",["exports","@glimmer/component","validator","ember-concurrency-decorators","ember-concurrency"],(function(e,t,n,r,i){var a,s,o,l,u,d,c,m,p,h,g,b,f,v,y,w,E,k,P,_,j,x,O,T,S,M
|
|
1633
|
-
function C(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function
|
|
1635
|
+
function C(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function z(e,t,n,r,i){var a={}
|
|
1634
1636
|
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
1635
|
-
const
|
|
1637
|
+
const A=Ember.HTMLBars.template({id:"jSVChaPU",block:'{"symbols":[],"statements":[[10,"div"],[14,0,"gh-post-preview-email-container"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-post-preview-email-mockup"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-pe-emailclient-sender"],[12],[2,"\\n "],[10,"p"],[12],[2,"\\n "],[10,"span"],[14,0,"strong"],[12],[1,[32,0,["config","blogTitle"]]],[13],[2," <"],[1,[30,[36,0],[[32,0,["settings","membersFromAddress"]]],null]],[2,">\\n "],[13],[2,"\\n "],[10,"p"],[12],[10,"span"],[14,0,"dark"],[12],[2,"To:"],[13],[2," Jamie Larson <jamie@example.com>"],[13],[2,"\\n "],[13],[2,"\\n "],[11,"iframe"],[24,0,"gh-pe-iframe"],[24,"sandbox","allow-same-origin allow-popups"],[4,[38,1],[[32,0,["renderEmailPreview"]]],null],[12],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"],[10,"div"],[14,0,"gh-post-preview-email-footer"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-btn-group mr3"],[12],[2,"\\n "],[11,"button"],[16,0,[31,["gh-btn ",[30,[36,3],[[30,[36,2],[[32,0,["memberSegment"]],"status:free"],null],"gh-btn-group-selected"],null]]]],[24,4,"button"],[4,[38,5],["click",[30,[36,4],[[32,0,["changeMemberSegment"]],"status:free"],null]],null],[12],[10,"span"],[12],[2,"Free member"],[13],[13],[2,"\\n "],[11,"button"],[16,0,[31,["gh-btn ",[30,[36,3],[[30,[36,2],[[32,0,["memberSegment"]],"status:-free"],null],"gh-btn-group-selected"],null]]]],[24,4,"button"],[4,[38,5],["click",[30,[36,4],[[32,0,["changeMemberSegment"]],"status:-free"],null]],null],[12],[10,"span"],[12],[2,"Paid member"],[13],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[15,0,[31,["gh-post-preview-email-input ",[30,[36,3],[[32,0,["sendPreviewEmailError"]],"error"],null]]]],[12],[2,"\\n "],[8,"input",[[24,0,"gh-input gh-post-preview-email-input"],[24,"placeholder","you@yoursite.com"],[16,"aria-invalid",[30,[36,3],[[32,0,["sendPreviewEmailError"]],"true"],null]],[16,"aria-describedby",[30,[36,3],[[32,0,["sendPreviewEmailError"]],"sendError"],null]],[4,[38,7],["Enter",[30,[36,6],[[32,0,["sendPreviewEmailTask"]]],null]],null]],[["@value"],[[32,0,["previewEmailAddress"]]]],null],[2,"\\n"],[6,[37,3],[[32,0,["sendPreviewEmailError"]]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"error fixed nowrap f8 lh-heading"],[12],[10,"span"],[14,0,"response"],[14,1,"sendError"],[12],[1,[32,0,["sendPreviewEmailError"]]],[13],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n\\n "],[8,"gh-task-button",[],[["@task","@buttonText","@successText","@runningText","@class"],[[32,0,["sendPreviewEmailTask"]],"Send test email","Sent","Sending...","gh-btn gh-btn-green gh-btn-icon gh-post-preview-email-trigger"]],null],[2,"\\n"],[13]],"hasEval":false,"upvars":["full-email-address","did-insert","eq","if","fn","on","perform","on-key"]}',meta:{moduleName:"ghost-admin/components/modals/post-preview/email.hbs"}})
|
|
1636
1638
|
let D=(a=Ember.inject.service,s=Ember.inject.service,o=Ember.inject.service,l=Ember.inject.service,u=Ember.inject.service,d=Ember.inject.service,c=Ember._tracked,m=Ember._tracked,p=Ember._tracked,h=Ember._tracked,g=Ember._tracked,b=Ember._action,f=Ember._action,v=(0,r.task)({drop:!0}),y=class extends t.default{constructor(...e){super(...e),C(this,"ajax",w,this),C(this,"config",E,this),C(this,"feature",k,this),C(this,"ghostPaths",P,this),C(this,"session",_,this),C(this,"settings",j,this),C(this,"html",x,this),C(this,"subject",O,this),C(this,"memberSegment",T,this),C(this,"previewEmailAddress",S,this),C(this,"sendPreviewEmailError",M,this)}get mailgunIsEnabled(){return this.config.get("mailgunIsConfigured")||!!(this.settings.get("mailgunApiKey")&&this.settings.get("mailgunDomain")&&this.settings.get("mailgunBaseUrl"))}async renderEmailPreview(e){this._previewIframe=e,await this._fetchEmailData(),await(0,i.timeout)(100),e&&(e.contentWindow.document.open(),e.contentWindow.document.write(this.html),e.contentWindow.document.close())}changeMemberSegment(e){this.memberSegment=e,this._previewIframe&&this.renderEmailPreview(this._previewIframe)}*sendPreviewEmailTask(){try{const e=this.args.post.id,t=this.previewEmailAddress.trim()
|
|
1637
1639
|
if(!n.default.isEmail(t))return this.sendPreviewEmailError="Please enter a valid email",!1
|
|
1638
1640
|
if(!this.mailgunIsEnabled)return this.sendPreviewEmailError="Please verify your email settings",!1
|
|
@@ -1647,17 +1649,18 @@ else{let n=new URL(this.ghostPaths.url.api("/email_preview/posts",r.id),window.l
|
|
|
1647
1649
|
n.searchParams.set("memberSegment",this.memberSegment)
|
|
1648
1650
|
let i=await this.ajax.request(n.href),[a]=i.email_previews
|
|
1649
1651
|
e=a.html,t=a.subject}let i=(new DOMParser).parseFromString(e,"text/html"),a=i.querySelector("style"),s=a.innerHTML
|
|
1650
|
-
a.innerHTML=`${s}\n\n\nhtml::-webkit-scrollbar {\n display: none;\n width: 0;\n background: transparent\n}\nhtml {\n scrollbar-width: none;\n}\n
|
|
1651
|
-
e.
|
|
1652
|
+
a.innerHTML=`${s}\n\n\nhtml::-webkit-scrollbar {\n display: none;\n width: 0;\n background: transparent\n}\nhtml {\n scrollbar-width: none;\n}\n`
|
|
1653
|
+
e=(new XMLSerializer).serializeToString(i.doctype)+i.documentElement.outerHTML,this.html=e,this.subject=t}},w=z(y.prototype,"ajax",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),E=z(y.prototype,"config",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=z(y.prototype,"feature",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P=z(y.prototype,"ghostPaths",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=z(y.prototype,"session",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=z(y.prototype,"settings",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x=z(y.prototype,"html",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),O=z(y.prototype,"subject",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),T=z(y.prototype,"memberSegment",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"status:free"}}),S=z(y.prototype,"previewEmailAddress",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return this.session.user.email}}),M=z(y.prototype,"sendPreviewEmailError",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),z(y.prototype,"renderEmailPreview",[b],Object.getOwnPropertyDescriptor(y.prototype,"renderEmailPreview"),y.prototype),z(y.prototype,"changeMemberSegment",[f],Object.getOwnPropertyDescriptor(y.prototype,"changeMemberSegment"),y.prototype),z(y.prototype,"sendPreviewEmailTask",[v],Object.getOwnPropertyDescriptor(y.prototype,"sendPreviewEmailTask"),y.prototype),y)
|
|
1654
|
+
e.default=D,Ember._setComponentTemplate(A,D)})),define("ghost-admin/components/modals/post-preview/mobile",["exports","@glimmer/component","ghost-admin/utils/copy-text-to-clipboard","ember-concurrency-decorators","ember-concurrency"],(function(e,t,n,r,i){var a
|
|
1652
1655
|
Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
1653
1656
|
const s=Ember.HTMLBars.template({id:"xLWzUE+v",block:'{"symbols":["@post"],"statements":[[10,"div"],[14,0,"modal-body modal-preview-email-content gh-pe-mobile-container h-auto overflow-auto"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-pe-mobile-bezel"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-pe-mobile-screen"],[12],[2,"\\n "],[10,"iframe"],[14,0,"gh-post-preview-iframe"],[15,"src",[32,1,["previewUrl"]]],[12],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"],[10,"div"],[14,0,"gh-post-preview-browser-footer"],[12],[2,"\\n "],[10,"span"],[14,0,"mr3 nowrap fw6 f8 darkgrey"],[12],[2,"Share preview privately"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-post-preview-url-container truncate"],[12],[2,"\\n "],[10,"span"],[14,0,"db truncate w-90"],[12],[1,[32,1,["previewUrl"]]],[13],[2,"\\n "],[13],[2,"\\n "],[11,"button"],[24,0,"gh-btn gh-btn-green gh-btn-icon gh-post-preview-copy-url-trigger"],[24,4,"button"],[4,[38,1],["click",[30,[36,0],[[32,0,["copyPreviewUrl"]]],null]],null],[12],[2,"\\n "],[10,"span"],[12],[2,"\\n"],[6,[37,2],[[32,0,["copyPreviewUrl","isRunning"]]],null,[["default","else"],[{"statements":[[2," Copied!\\n"]],"parameters":[]},{"statements":[[2," copy\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"a"],[15,6,[32,1,["previewUrl"]]],[14,"target","_blank"],[14,"rel","noopener noreferrer"],[14,0,"gh-btn gh-btn-editor gh-btn-icon gh-btn-icon-right gh-btn-external"],[12],[2,"\\n "],[10,"span"],[12],[2,"Open in new tab "],[1,[30,[36,3],["external"],null]],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13]],"hasEval":false,"upvars":["perform","on","if","svg-jar"]}',meta:{moduleName:"ghost-admin/components/modals/post-preview/mobile.hbs"}})
|
|
1654
1657
|
let o=(a=class extends t.default{*copyPreviewUrl(){(0,n.default)(this.args.post.previewUrl),yield(0,i.timeout)(this.isTesting?50:3e3)}},l=a.prototype,u="copyPreviewUrl",d=[r.task],c=Object.getOwnPropertyDescriptor(a.prototype,"copyPreviewUrl"),m=a.prototype,p={},Object.keys(c).forEach((function(e){p[e]=c[e]})),p.enumerable=!!p.enumerable,p.configurable=!!p.configurable,("value"in p||p.initializer)&&(p.writable=!0),p=d.slice().reverse().reduce((function(e,t){return t(l,u,e)||e}),p),m&&void 0!==p.initializer&&(p.value=p.initializer?p.initializer.call(m):void 0,p.initializer=void 0),void 0===p.initializer&&(Object.defineProperty(l,u,p),p=null),a)
|
|
1655
1658
|
var l,u,d,c,m,p
|
|
1656
|
-
e.default=o,Ember._setComponentTemplate(s,o)})),define("ghost-admin/components/modals/post-preview/social",["exports","@glimmer/component","ghost-admin/components/gh-image-uploader"],(function(e,t,n){var r,i,a,s,o,l,u,d,c,m,p,h,g,b,f,v,y,w,E,k,P,_,j,x,O,T,S,M,C,A,
|
|
1659
|
+
e.default=o,Ember._setComponentTemplate(s,o)})),define("ghost-admin/components/modals/post-preview/social",["exports","@glimmer/component","ghost-admin/components/gh-image-uploader"],(function(e,t,n){var r,i,a,s,o,l,u,d,c,m,p,h,g,b,f,v,y,w,E,k,P,_,j,x,O,T,S,M,C,z,A,D,I,U,L,R,N,F
|
|
1657
1660
|
function B(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function V(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function H(e,t,n,r,i){var a={}
|
|
1658
1661
|
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
1659
1662
|
const q=Ember.HTMLBars.template({id:"M16v76L2",block:'{"symbols":["uploader","error","uploader","error","@post"],"statements":[[2,"\\n"],[10,"div"],[14,0,"gh-post-preview-social-container"],[12],[2,"\\n "],[10,"p"],[14,0,"mb4"],[12],[2,"This is how your content will look when shared, you can click on any elements you’d like to edit."],[13],[2,"\\n "],[10,"div"],[14,0,"flex flex-column"],[12],[2,"\\n "],[10,"div"],[14,0,"flex gh-social-container-responsive"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-social-og-container"],[12],[2,"\\n "],[10,"div"],[14,0,"flex ma3 mb2"],[12],[2,"\\n "],[10,"span"],[12],[1,[30,[36,7],["social-facebook"],[["class"],["social-icon"]]]],[13],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-social-og-title"],[12],[1,[30,[36,10],[[32,0,["settings","metaTitle"]],[32,0,["settings","title"]]],null]],[13],[2,"\\n "],[10,"div"],[14,0,"gh-social-og-time"],[12],[2,"12 hrs"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"flex flex-column ma3 mt2"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-social-og-desc w-100 mb2"],[12],[13],[2,"\\n "],[10,"span"],[14,0,"gh-social-og-desc w-100 mb2"],[12],[13],[2,"\\n "],[10,"span"],[14,0,"gh-social-og-desc w-60"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[11,"div"],[24,0,"gh-social-og-preview"],[4,[38,0],["mouseenter",[30,[36,13],[[32,0],[30,[36,12],[[32,0,["facebookHovered"]]],null],true],null]],null],[4,[38,0],["mouseleave",[30,[36,13],[[32,0],[30,[36,12],[[32,0,["facebookHovered"]]],null],false],null]],null],[12],[2,"\\n"],[6,[37,8],[[30,[36,11],[[32,0,["facebookHovered"]],[30,[36,14],[[32,0,["facebookImage"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[11,"button"],[24,0,"gh-social-og-preview-img-add"],[4,[38,0],["click",[30,[36,5],[[32,0,["triggerFileDialog"]],"facebook"],null]],null],[12],[2,"+ Add image"],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n "],[8,"gh-uploader",[],[["@extensions","@onComplete"],[[32,0,["imageExtensions"]],[32,0,["setFacebookImage"]]]],[["default"],[{"statements":[[2,"\\n"],[6,[37,16],[[30,[36,15],[[30,[36,15],[[32,3,["errors"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"error pa2"],[12],[10,"span"],[14,0,"response"],[12],[1,[30,[36,10],[[32,4,["context"]],[32,4,["message"]]],null]],[13],[13],[2,"\\n"]],"parameters":[4]}]]],[2,"\\n"],[6,[37,8],[[30,[36,10],[[32,0,["facebookImage"]],[32,3,["isUploading"]]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-social-og-preview-image relative"],[15,5,[30,[36,9],[[32,0,["facebookImage"]]],null]],[12],[2,"\\n "],[10,"div"],[14,0,"flex h-100 items-center justify-center"],[12],[2,"\\n"],[6,[37,8],[[30,[36,10],[[32,0,["facebookHovered"]],[32,3,["isUploading"]]],null]],null,[["default"],[{"statements":[[6,[37,8],[[32,3,["isUploading"]]],null,[["default","else"],[{"statements":[[2," "],[1,[32,3,["progressBar"]]],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[11,"button"],[24,0,"gh-btn gh-btn-white"],[24,4,"button"],[4,[38,0],["click",[30,[36,5],[[32,0,["triggerFileDialog"]],"facebook"],null]],null],[12],[10,"span"],[12],[1,[30,[36,8],[[32,5,["ogImage"]],"Change","Upload"],null]],[2," image"],[13],[13],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]}]]],[2,"\\n"],[6,[37,8],[[30,[36,11],[[32,0,["facebookHovered"]],[32,5,["ogImage"]]],null]],null,[["default"],[{"statements":[[2," "],[11,"button"],[24,0,"gh-btn gh-btn-black gh-btn-icon gh-social-preview-img-delete"],[24,"title","Remove custom Facebook image"],[24,4,"button"],[4,[38,0],["click",[32,0,["clearFacebookImage"]]],null],[12],[2,"\\n "],[10,"span"],[12],[1,[30,[36,7],["trash"],null]],[13],[2,"\\n "],[10,"span"],[14,0,"hidden"],[12],[2,"Remove custom Facebook image"],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n "],[10,"div"],[14,5,"display:none"],[12],[2,"\\n "],[8,"gh-file-input",[[24,1,"facebookFileInput"]],[["@multiple","@action","@accept"],[false,[32,3,["setFiles"]],[32,0,["imageMimeTypes"]]]],null],[2,"\\n "],[13],[2,"\\n "]],"parameters":[3]}]]],[2,"\\n\\n "],[10,"div"],[14,0,"gh-social-og-preview-bookmark"],[12],[2,"\\n"],[2," "],[10,"div"],[15,0,[31,["gh-social-og-preview-content ",[30,[36,8],[[32,0,["editingFacebookTitle"]],"edit-mode"],null]," ",[30,[36,8],[[32,0,["editingFacebookDescription"]],"edit-mode"],null]]]],[12],[2,"\\n "],[10,"div"],[14,0,"gh-social-og-preview-meta"],[12],[2,"\\n "],[1,[32,0,["config","blogDomain"]]],[2,"\\n "],[13],[2,"\\n"],[6,[37,8],[[32,0,["editingFacebookTitle"]]],null,[["default","else"],[{"statements":[[2," "],[11,"input"],[24,0,"gh-input"],[16,"placeholder",[32,0,["facebookTitle"]]],[16,2,[32,5,["ogTitle"]]],[24,"maxlength","300"],[24,"data-prevent-escape-close-modal","true"],[24,4,"text"],[4,[38,0],["blur",[32,0,["setFacebookTitle"]]],null],[4,[38,4],["Enter",[32,0,["blurElement"]]],null],[4,[38,4],["Escape",[30,[36,5],[[32,0,["cancelEdit"]],"ogTitle"],null]],null],[4,[38,6],null,null],[12],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[11,"div"],[24,0,"gh-social-og-preview-title editable pointer"],[4,[38,0],["click",[32,0,["editFacebookTitle"]]],null],[12],[2,"\\n "],[1,[30,[36,3],[[32,0,["facebookTitle"]]],null]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[6,[37,8],[[32,0,["editingFacebookDescription"]]],null,[["default","else"],[{"statements":[[2," "],[11,"textarea"],[24,0,"gh-input"],[24,"maxlength","500"],[16,"placeholder",[30,[36,3],[[32,0,["facebookDescription"]],160],null]],[24,"data-prevent-escape-close-modal","true"],[4,[38,0],["blur",[32,0,["setFacebookDescription"]]],null],[4,[38,4],["Enter",[32,0,["blurElement"]]],null],[4,[38,4],["Escape",[30,[36,5],[[32,0,["cancelEdit"]],"ogDescription"],null]],null],[4,[38,6],null,null],[12],[1,[32,5,["ogDescription"]]],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[11,"div"],[24,0,"gh-social-og-preview-desc editable pointer"],[4,[38,0],["click",[32,0,["editFacebookDescription"]]],null],[12],[2,"\\n "],[1,[30,[36,3],[[32,0,["facebookDescription"]]],null]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-social-og-reactions"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-social-og-likes"],[12],[1,[30,[36,7],["facebook-like"],[["class"],["z-999"]]]],[1,[30,[36,7],["facebook-heart"],[["class"],["nl1"]]]],[2,"182"],[13],[2,"\\n "],[10,"span"],[14,0,"gh-social-og-comments"],[12],[2,"7 comments"],[13],[2,"\\n "],[10,"span"],[14,0,"gh-social-og-comments ml2"],[12],[2,"2 shares"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-social-twitter-container"],[12],[2,"\\n "],[10,"div"],[14,0,"flex ma4"],[12],[2,"\\n "],[10,"span"],[12],[1,[30,[36,7],["social-twitter"],[["class"],["social-icon"]]]],[13],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-social-og-title"],[12],[1,[30,[36,10],[[32,0,["settings","metaTitle"]],[32,0,["settings","title"]]],null]],[13],[2,"\\n "],[10,"span"],[14,0,"gh-social-og-time"],[12],[2,"12 hrs"],[13],[2,"\\n "],[10,"div"],[14,0,"flex flex-column mt2 mb3"],[12],[2,"\\n "],[10,"span"],[14,0,"gh-social-og-desc w-100 mb2"],[12],[13],[2,"\\n "],[10,"span"],[14,0,"gh-social-og-desc w-60"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[11,"div"],[24,0,"gh-social-twitter-post-preview"],[4,[38,0],["mouseenter",[30,[36,13],[[32,0],[30,[36,12],[[32,0,["twitterHovered"]]],null],true],null]],null],[4,[38,0],["mouseleave",[30,[36,13],[[32,0],[30,[36,12],[[32,0,["twitterHovered"]]],null],false],null]],null],[12],[2,"\\n"],[6,[37,8],[[30,[36,11],[[32,0,["twitterHovered"]],[30,[36,14],[[32,0,["twitterImage"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[11,"button"],[24,0,"gh-social-twitter-preview-img-add"],[4,[38,0],["click",[30,[36,5],[[32,0,["triggerFileDialog"]],"twitter"],null]],null],[12],[2,"+ Add image"],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n "],[8,"gh-uploader",[],[["@extensions","@onComplete"],[[32,0,["imageExtensions"]],[32,0,["setTwitterImage"]]]],[["default"],[{"statements":[[2,"\\n"],[6,[37,16],[[30,[36,15],[[30,[36,15],[[32,1,["errors"]]],null]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"error pa2"],[12],[10,"span"],[14,0,"response"],[12],[1,[30,[36,10],[[32,2,["context"]],[32,2,["message"]]],null]],[13],[13],[2,"\\n"]],"parameters":[2]}]]],[2,"\\n"],[6,[37,8],[[30,[36,10],[[32,0,["twitterImage"]],[32,1,["isUploading"]]],null]],null,[["default"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-social-twitter-preview-image relative"],[15,5,[30,[36,9],[[32,0,["twitterImage"]]],null]],[12],[2,"\\n "],[10,"div"],[14,0,"flex h-100 items-center justify-center"],[12],[2,"\\n"],[6,[37,8],[[30,[36,10],[[32,0,["twitterHovered"]],[32,1,["isUploading"]]],null]],null,[["default"],[{"statements":[[6,[37,8],[[32,1,["isUploading"]]],null,[["default","else"],[{"statements":[[2," "],[1,[32,1,["progressBar"]]],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[11,"button"],[24,0,"gh-btn gh-btn-white"],[24,4,"button"],[4,[38,0],["click",[30,[36,5],[[32,0,["triggerFileDialog"]],"twitter"],null]],null],[12],[10,"span"],[12],[1,[30,[36,8],[[32,5,["twitterImage"]],"Change","Upload"],null]],[2," image"],[13],[13],[2,"\\n"]],"parameters":[]}]]]],"parameters":[]}]]],[2,"\\n"],[6,[37,8],[[30,[36,11],[[32,0,["twitterHovered"]],[32,5,["twitterImage"]]],null]],null,[["default"],[{"statements":[[2," "],[11,"button"],[24,0,"gh-btn gh-btn-black gh-btn-icon gh-social-preview-img-delete"],[24,"title","Remove custom Twitter image"],[24,4,"button"],[4,[38,0],["click",[32,0,["clearTwitterImage"]]],null],[12],[2,"\\n "],[10,"span"],[12],[1,[30,[36,7],["trash"],null]],[13],[2,"\\n "],[10,"span"],[14,0,"hidden"],[12],[2,"Remove custom Twitter image"],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2,"\\n "],[10,"div"],[14,5,"display:none"],[12],[2,"\\n "],[8,"gh-file-input",[[24,1,"twitterFileInput"]],[["@multiple","@action","@accept"],[false,[32,1,["setFiles"]],[32,0,["imageMimeTypes"]]]],null],[2,"\\n "],[13],[2,"\\n "]],"parameters":[1]}]]],[2,"\\n\\n "],[10,"div"],[14,0,"gh-social-twitter-preview-content"],[12],[2,"\\n"],[6,[37,8],[[32,0,["editingTwitterTitle"]]],null,[["default","else"],[{"statements":[[2," "],[11,"input"],[24,0,"gh-input"],[16,"placeholder",[32,0,["twitterTitle"]]],[16,2,[32,5,["twitterTitle"]]],[24,"maxlength","300"],[24,"data-prevent-escape-close-modal","true"],[24,4,"text"],[4,[38,0],["blur",[32,0,["setTwitterTitle"]]],null],[4,[38,4],["Enter",[32,0,["blurElement"]]],null],[4,[38,4],["Escape",[30,[36,5],[[32,0,["cancelEdit"]],"twitterTitle"],null]],null],[4,[38,6],null,null],[12],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[11,"div"],[24,0,"gh-social-twitter-preview-title editable pointer"],[4,[38,0],["click",[32,0,["editTwitterTitle"]]],null],[12],[1,[32,0,["twitterTitle"]]],[13],[2,"\\n"]],"parameters":[]}]]],[6,[37,8],[[32,0,["editingTwitterDescription"]]],null,[["default","else"],[{"statements":[[2," "],[11,"textarea"],[24,0,"gh-input"],[24,"maxlength","500"],[16,"placeholder",[30,[36,3],[[32,0,["twitterDescription"]],160],null]],[24,"data-prevent-escape-close-modal","true"],[4,[38,0],["blur",[32,0,["setTwitterDescription"]]],null],[4,[38,4],["Enter",[32,0,["blurElement"]]],null],[4,[38,4],["Escape",[30,[36,5],[[32,0,["cancelEdit"]],"twitterDescription"],null]],null],[4,[38,6],null,null],[12],[1,[32,5,["twitterDescription"]]],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[11,"div"],[24,0,"gh-social-twitter-preview-desc editable pointer"],[4,[38,0],["click",[32,0,["editTwitterDescription"]]],null],[12],[1,[30,[36,3],[[32,0,["twitterDescription"]]],null]],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[10,"div"],[14,0,"gh-social-twitter-preview-meta"],[12],[2,"\\n "],[1,[30,[36,7],["twitter-link"],null]],[2,"\\n "],[1,[32,0,["config","blogDomain"]]],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-social-twitter-reactions"],[12],[2,"\\n "],[10,"div"],[14,0,"flex items-center"],[12],[1,[30,[36,7],["twitter-comment"],null]],[2,"2"],[13],[2,"\\n "],[10,"div"],[14,0,"flex items-center"],[12],[1,[30,[36,7],["twitter-retweet"],null]],[2,"11"],[13],[2,"\\n "],[10,"div"],[14,0,"flex items-center"],[12],[1,[30,[36,7],["twitter-like"],null]],[2,"32"],[13],[2,"\\n "],[10,"div"],[14,0,"flex items-center"],[12],[1,[30,[36,7],["twitter-share"],null]],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-seo-preview-container"],[12],[2,"\\n "],[1,[30,[36,7],["google"],null]],[2,"\\n "],[10,"div"],[14,0,"gh-seo-preview"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-seo-search-bar mb12"],[12],[1,[30,[36,7],["google-search"],null]],[13],[2,"\\n "],[10,"div"],[14,0,"gh-seo-preview-link"],[12],[1,[32,0,["serpURL"]]],[13],[2,"\\n"],[6,[37,8],[[32,0,["editingMetaTitle"]]],null,[["default","else"],[{"statements":[[2," "],[11,"input"],[24,0,"gh-input"],[16,"placeholder",[32,0,["serpTitle"]]],[16,2,[32,5,["metaTitle"]]],[24,"maxlength","300"],[24,"data-prevent-escape-close-modal","true"],[24,4,"text"],[4,[38,0],["blur",[32,0,["setMetaTitle"]]],null],[4,[38,4],["Enter",[32,0,["blurElement"]]],null],[4,[38,4],["Escape",[30,[36,5],[[32,0,["cancelEdit"]],"metaTitle"],null]],null],[4,[38,6],null,null],[12],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[11,"div"],[24,0,"gh-seo-preview-title editable pointer"],[4,[38,0],["click",[32,0,["editMetaTitle"]]],null],[12],[2,"\\n "],[1,[32,0,["serpTitle"]]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[6,[37,8],[[32,0,["editingMetaDescription"]]],null,[["default","else"],[{"statements":[[2," "],[11,"textarea"],[24,0,"gh-input"],[16,"placeholder",[32,0,["serpDescription"]]],[24,"maxlength","500"],[24,"data-prevent-escape-close-modal","true"],[4,[38,0],["blur",[32,0,["setMetaDescription"]]],null],[4,[38,4],["Enter",[32,0,["blurElement"]]],null],[4,[38,4],["Escape",[30,[36,5],[[32,0,["cancelEdit"]],"metaDescription"],null]],null],[4,[38,6],null,null],[12],[1,[32,5,["metaDescription"]]],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[11,"div"],[24,0,"gh-seo-preview-desc editable pointer"],[4,[38,0],["click",[32,0,["editMetaDescription"]]],null],[12],[2,"\\n "],[1,[30,[36,2],[[30,[36,1],null,null],"DD MMM YYYY"],null]],[2," — "],[1,[30,[36,3],[[32,0,["serpDescription"]],149],null]],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13]],"hasEval":false,"upvars":["on","now","moment-format","truncate","on-key","fn","autofocus","svg-jar","if","background-image-style","or","and","mut","action","not","-track-array","each"]}',meta:{moduleName:"ghost-admin/components/modals/post-preview/social.hbs"}})
|
|
1660
|
-
let $=(r=Ember.inject.service,i=Ember.inject.service,a=Ember.inject.service,s=Ember._tracked,o=Ember._tracked,l=Ember._tracked,u=Ember._tracked,d=Ember._tracked,c=Ember._tracked,m=Ember._action,p=Ember._action,h=Ember._action,g=Ember._action,b=Ember._action,f=Ember._action,v=Ember._action,y=Ember._action,w=Ember._action,E=Ember._action,k=Ember._action,P=Ember._action,_=Ember._action,j=Ember._action,x=Ember._action,O=Ember._action,T=Ember._action,S=Ember._action,M=Ember._action,C=class extends t.default{constructor(...e){super(...e),B(this,"config",
|
|
1663
|
+
let $=(r=Ember.inject.service,i=Ember.inject.service,a=Ember.inject.service,s=Ember._tracked,o=Ember._tracked,l=Ember._tracked,u=Ember._tracked,d=Ember._tracked,c=Ember._tracked,m=Ember._action,p=Ember._action,h=Ember._action,g=Ember._action,b=Ember._action,f=Ember._action,v=Ember._action,y=Ember._action,w=Ember._action,E=Ember._action,k=Ember._action,P=Ember._action,_=Ember._action,j=Ember._action,x=Ember._action,O=Ember._action,T=Ember._action,S=Ember._action,M=Ember._action,C=class extends t.default{constructor(...e){super(...e),B(this,"config",z,this),B(this,"settings",A,this),B(this,"ghostPaths",D,this),B(this,"editingFacebookTitle",I,this),B(this,"editingFacebookDescription",U,this),B(this,"editingTwitterTitle",L,this),B(this,"editingTwitterDescription",R,this),B(this,"editingMetaTitle",N,this),B(this,"editingMetaDescription",F,this),V(this,"imageExtensions",n.IMAGE_EXTENSIONS),V(this,"imageMimeTypes",n.IMAGE_MIME_TYPES)}get _fallbackDescription(){return this.args.post.customExcerpt||this.serpDescription||this.settings.get("description")}blurElement(e){e.shiftKey||(e.preventDefault(),e.target.blur())}triggerFileDialog(e){const t=document.querySelector(`#${e}FileInput input`)
|
|
1661
1664
|
t&&t.click()}get serpTitle(){return this.args.post.metaTitle||this.args.post.title||"(Untitled)"}get serpURL(){const e=[]
|
|
1662
1665
|
if(this.args.post.canonicalUrl){const t=new URL(this.args.post.canonicalUrl)
|
|
1663
1666
|
e.push(t.host),e.push(...t.pathname.split("/").reject((e=>!e)))}else{const t=new URL(this.config.get("blogUrl"))
|
|
@@ -1667,7 +1670,7 @@ this.args.post.metaDescription=t.trim(),this.args.post.save(),this.editingMetaDe
|
|
|
1667
1670
|
this.args.post.ogTitle=t.trim(),this.args.post.save(),this.editingFacebookTitle=!1}editFacebookDescription(){this.editingFacebookDescription=!0}setFacebookDescription(){const e=event.target.value
|
|
1668
1671
|
this.args.post.ogDescription=e.trim(),this.args.post.save(),this.editingFacebookDescription=!1}setFacebookImage([e]){this.args.post.ogImage=e.url,this.args.post.save()}clearFacebookImage(){this.args.post.ogImage=null,this.args.post.save()}get twitterTitle(){return this.args.post.twitterTitle||this.serpTitle}get twitterDescription(){return this.args.post.twitterDescription||this._fallbackDescription}get twitterImage(){return this.args.post.twitterImage||this.args.post.featureImage||this.settings.get("twitterImage")||this.settings.get("coverImage")}editTwitterTitle(){this.editingTwitterTitle=!0}setTwitterTitle(e){const t=e.target.value
|
|
1669
1672
|
this.args.post.twitterTitle=t.trim(),this.args.post.save(),this.editingTwitterTitle=!1}editTwitterDescription(){this.editingTwitterDescription=!0}setTwitterDescription(){const e=event.target.value
|
|
1670
|
-
this.args.post.twitterDescription=e.trim(),this.args.post.save(),this.editingTwitterDescription=!1}setTwitterImage([e]){this.args.post.twitterImage=e.url,this.args.post.save()}clearTwitterImage(){this.args.post.twitterImage=null,this.args.post.save()}},
|
|
1673
|
+
this.args.post.twitterDescription=e.trim(),this.args.post.save(),this.editingTwitterDescription=!1}setTwitterImage([e]){this.args.post.twitterImage=e.url,this.args.post.save()}clearTwitterImage(){this.args.post.twitterImage=null,this.args.post.save()}},z=H(C.prototype,"config",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),A=H(C.prototype,"settings",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),D=H(C.prototype,"ghostPaths",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),I=H(C.prototype,"editingFacebookTitle",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),U=H(C.prototype,"editingFacebookDescription",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),L=H(C.prototype,"editingTwitterTitle",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),R=H(C.prototype,"editingTwitterDescription",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),N=H(C.prototype,"editingMetaTitle",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),F=H(C.prototype,"editingMetaDescription",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),H(C.prototype,"blurElement",[m],Object.getOwnPropertyDescriptor(C.prototype,"blurElement"),C.prototype),H(C.prototype,"triggerFileDialog",[p],Object.getOwnPropertyDescriptor(C.prototype,"triggerFileDialog"),C.prototype),H(C.prototype,"editMetaTitle",[h],Object.getOwnPropertyDescriptor(C.prototype,"editMetaTitle"),C.prototype),H(C.prototype,"setMetaTitle",[g],Object.getOwnPropertyDescriptor(C.prototype,"setMetaTitle"),C.prototype),H(C.prototype,"editMetaDescription",[b],Object.getOwnPropertyDescriptor(C.prototype,"editMetaDescription"),C.prototype),H(C.prototype,"setMetaDescription",[f],Object.getOwnPropertyDescriptor(C.prototype,"setMetaDescription"),C.prototype),H(C.prototype,"editFacebookTitle",[v],Object.getOwnPropertyDescriptor(C.prototype,"editFacebookTitle"),C.prototype),H(C.prototype,"cancelEdit",[y],Object.getOwnPropertyDescriptor(C.prototype,"cancelEdit"),C.prototype),H(C.prototype,"setFacebookTitle",[w],Object.getOwnPropertyDescriptor(C.prototype,"setFacebookTitle"),C.prototype),H(C.prototype,"editFacebookDescription",[E],Object.getOwnPropertyDescriptor(C.prototype,"editFacebookDescription"),C.prototype),H(C.prototype,"setFacebookDescription",[k],Object.getOwnPropertyDescriptor(C.prototype,"setFacebookDescription"),C.prototype),H(C.prototype,"setFacebookImage",[P],Object.getOwnPropertyDescriptor(C.prototype,"setFacebookImage"),C.prototype),H(C.prototype,"clearFacebookImage",[_],Object.getOwnPropertyDescriptor(C.prototype,"clearFacebookImage"),C.prototype),H(C.prototype,"editTwitterTitle",[j],Object.getOwnPropertyDescriptor(C.prototype,"editTwitterTitle"),C.prototype),H(C.prototype,"setTwitterTitle",[x],Object.getOwnPropertyDescriptor(C.prototype,"setTwitterTitle"),C.prototype),H(C.prototype,"editTwitterDescription",[O],Object.getOwnPropertyDescriptor(C.prototype,"editTwitterDescription"),C.prototype),H(C.prototype,"setTwitterDescription",[T],Object.getOwnPropertyDescriptor(C.prototype,"setTwitterDescription"),C.prototype),H(C.prototype,"setTwitterImage",[S],Object.getOwnPropertyDescriptor(C.prototype,"setTwitterImage"),C.prototype),H(C.prototype,"clearTwitterImage",[M],Object.getOwnPropertyDescriptor(C.prototype,"clearTwitterImage"),C.prototype),C)
|
|
1671
1674
|
e.default=$,Ember._setComponentTemplate(q,$)})),define("ghost-admin/components/modals/unarchive-offer",["exports","@glimmer/component","ember-concurrency-decorators"],(function(e,t,n){var r,i,a,s,o,l
|
|
1672
1675
|
function u(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function d(e,t,n,r,i){var a={}
|
|
1673
1676
|
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
@@ -1723,10 +1726,10 @@ var t=Ember.Controller.extend({billing:Ember.inject.service(),customViews:Ember.
|
|
|
1723
1726
|
return!n.isFullScreen&&(!(!t.isAuthenticated||!t.user)&&(("error404"!==e.currentRouteName||t.isAuthenticated)&&!e.currentRouteName.match(/(signin|signup|setup|reset)/)))}))})
|
|
1724
1727
|
e.default=t})),define("ghost-admin/controllers/billing",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
1725
1728
|
var t=Ember.Controller.extend({queryParams:["action"],action:null,guid:Ember.computed.alias("model")})
|
|
1726
|
-
e.default=t})),define("ghost-admin/controllers/dashboard",["exports","ghost-admin/utils/currency"],(function(e,t){var n,r,i,a,s,o,l,u,d,c,m,p,h,g,b,f,v,y,w,E,k,P,_,j,x,O,T,S,M,C,A,
|
|
1729
|
+
e.default=t})),define("ghost-admin/controllers/dashboard",["exports","ghost-admin/utils/currency"],(function(e,t){var n,r,i,a,s,o,l,u,d,c,m,p,h,g,b,f,v,y,w,E,k,P,_,j,x,O,T,S,M,C,z,A,D,I,U,L,R,N,F,B,V,H,q,$,K,W,Y,G,Z,J
|
|
1727
1730
|
function X(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function Q(e,t,n,r,i){var a={}
|
|
1728
1731
|
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
1729
|
-
let ee=(n=Ember.inject.service,r=Ember.inject.service,i=Ember.inject.service,a=Ember.inject.service,s=Ember.inject.service,o=Ember.inject.service,l=Ember._tracked,u=Ember._tracked,d=Ember._tracked,c=Ember._tracked,m=Ember._tracked,p=Ember._tracked,h=Ember._tracked,g=Ember._tracked,b=Ember._tracked,f=Ember._tracked,v=Ember._tracked,y=Ember._tracked,w=Ember._tracked,E=Ember._tracked,k=Ember._tracked,P=Ember._tracked,_=Ember._tracked,j=Ember._tracked,x=Ember._action,O=class extends Ember.Controller{constructor(...e){super(...e),X(this,"feature",T,this),X(this,"session",S,this),X(this,"membersStats",M,this),X(this,"store",C,this),X(this,"settings",
|
|
1732
|
+
let ee=(n=Ember.inject.service,r=Ember.inject.service,i=Ember.inject.service,a=Ember.inject.service,s=Ember.inject.service,o=Ember.inject.service,l=Ember._tracked,u=Ember._tracked,d=Ember._tracked,c=Ember._tracked,m=Ember._tracked,p=Ember._tracked,h=Ember._tracked,g=Ember._tracked,b=Ember._tracked,f=Ember._tracked,v=Ember._tracked,y=Ember._tracked,w=Ember._tracked,E=Ember._tracked,k=Ember._tracked,P=Ember._tracked,_=Ember._tracked,j=Ember._tracked,x=Ember._action,O=class extends Ember.Controller{constructor(...e){super(...e),X(this,"feature",T,this),X(this,"session",S,this),X(this,"membersStats",M,this),X(this,"store",C,this),X(this,"settings",z,this),X(this,"whatsNew",A,this),X(this,"eventsData",D,this),X(this,"eventsError",I,this),X(this,"eventsLoading",U,this),X(this,"mrrStatsData",L,this),X(this,"mrrStatsError",R,this),X(this,"mrrStatsLoading",N,this),X(this,"memberCountStatsData",F,this),X(this,"memberCountStatsError",B,this),X(this,"memberCountStatsLoading",V,this),X(this,"topMembersData",H,this),X(this,"topMembersError",q,this),X(this,"topMembersLoading",$,this),X(this,"newsletterOpenRatesData",K,this),X(this,"newsletterOpenRatesError",W,this),X(this,"newsletterOpenRatesLoading",Y,this),X(this,"whatsNewEntries",G,this),X(this,"whatsNewEntriesLoading",Z,this),X(this,"whatsNewEntriesError",J,this)}get topMembersDataHasOpenRates(){return this.topMembersData&&this.topMembersData.find((e=>null!==e.emailOpenRate))}get showMembersData(){return"none"!==this.settings.get("membersSignupAccess")}initialise(){this.loadEvents(),this.loadTopMembers(),this.loadCharts(),this.loadWhatsNew()}async loadMRRStats(){const e=await this.store.query("product",{include:"monthly_price,yearly_price",limit:"all"}),n=null==e?void 0:e.firstObject
|
|
1730
1733
|
this.mrrStatsLoading=!0,this.membersStats.fetchMRR().then((e=>{var r
|
|
1731
1734
|
this.mrrStatsLoading=!1
|
|
1732
1735
|
const i=e.data||[],a=(null==n||null===(r=n.monthlyPrice)||void 0===r?void 0:r.currency)||"usd"
|
|
@@ -1735,7 +1738,7 @@ if(s=s||{data:[],currency:a},s){const e=this.membersStats.fillDates(s.data)||{},
|
|
|
1735
1738
|
this.mrrStatsData={currentAmount:r,currency:(0,t.getSymbol)(s.currency),percentGrowth:a.toFixed(1),percentClass:a>0?"positive":a<0?"negative":"",options:{rangeInDays:30},data:{label:"MRR",dateLabels:Object.keys(e),dateValues:n},title:"MRR",stats:s}}}),(e=>{this.mrrStatsError=e,this.mrrStatsLoading=!1}))}loadMemberCountStats(){this.memberCountStatsLoading=!0,this.membersStats.fetchCounts().then((e=>{if(this.memberCountStatsLoading=!1,e){const t=this.membersStats.fillCountDates(e.data)||{},n=Object.values(t),r=n.length?n[n.length-1].total:0,i=n.length?n[n.length-1].paid:0,a=n.length?n[0].total:0,s=n.length?n[0].paid:0,o=0!==a?(r-a)/a*100:0,l=0!==s?(i-s)/s*100:0
|
|
1736
1739
|
this.memberCountStatsData={all:{percentGrowth:o.toFixed(1),percentClass:o>0?"positive":o<0?"negative":"",total:n.length?n[n.length-1].total:0,options:{rangeInDays:30},data:{label:"Members",dateLabels:Object.keys(t),dateValues:n.map((e=>e.total))},title:"Total Members",stats:e},paid:{percentGrowth:l.toFixed(1),percentClass:l>0?"positive":l<0?"negative":"",total:n.length?n[n.length-1].paid:0,options:{rangeInDays:30},data:{label:"Members",dateLabels:Object.keys(t),dateValues:n.map((e=>e.paid))},title:"Paid Members",stats:e}}}}),(e=>{this.memberCountStatsError=e,this.memberCountStatsLoading=!1}))}loadCharts(){this.loadMRRStats(),this.loadMemberCountStats(),this.loadNewsletterOpenRates()}loadEvents(){this.eventsLoading=!0,this.membersStats.fetchTimeline({limit:5}).then((({events:e})=>{this.eventsData=e,this.eventsLoading=!1}),(e=>{this.eventsError=e,this.eventsLoading=!1}))}loadNewsletterOpenRates(){this.newsletterOpenRatesLoading=!0,this.membersStats.fetchNewsletterStats().then((e=>{const t=e.length>1?e[e.length-2].openRate:0,n=e.length>0?e[e.length-1].openRate:0,r=0!==t?(n-t)/t*100:0
|
|
1737
1740
|
this.newsletterOpenRatesData={percentGrowth:r.toFixed(1),percentClass:r>0?"positive":r<0?"negative":"",current:n,options:{rangeInDays:30},data:{label:"Open rate",dateLabels:e.map((e=>e.subject)),dateValues:e.map((e=>e.openRate))},title:"Open rate",stats:e},this.newsletterOpenRatesLoading=!1}),(e=>{this.newsletterOpenRatesError=e,this.newsletterOpenRatesLoading=!1}))}loadTopMembers(){this.topMembersLoading=!0
|
|
1738
|
-
this.store.query("member",{filter:"email_open_rate:-null",order:"email_open_rate desc",limit:5}).then((e=>e.length?e:this.store.query("member",{filter:"status:paid",order:"created_at asc",limit:5}))).then((e=>{this.topMembersData=e,this.topMembersLoading=!1})).catch((e=>{this.topMembersError=e,this.topMembersLoading=!1}))}loadWhatsNew(){this.whatsNewEntriesLoading=!0,this.whatsNew.fetchLatest.perform().then((()=>{this.whatsNewEntriesLoading=!1,this.whatsNewEntries=this.whatsNew.entries.slice(0,3)}),(e=>{this.whatsNewEntriesError=e,this.whatsNewEntriesLoading=!1}))}dismissLaunchBanner(){this.feature.set("launchComplete",!0)}},T=Q(O.prototype,"feature",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=Q(O.prototype,"session",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),M=Q(O.prototype,"membersStats",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),C=Q(O.prototype,"store",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),
|
|
1741
|
+
this.store.query("member",{filter:"email_open_rate:-null",order:"email_open_rate desc",limit:5}).then((e=>e.length?e:this.store.query("member",{filter:"status:paid",order:"created_at asc",limit:5}))).then((e=>{this.topMembersData=e,this.topMembersLoading=!1})).catch((e=>{this.topMembersError=e,this.topMembersLoading=!1}))}loadWhatsNew(){this.whatsNewEntriesLoading=!0,this.whatsNew.fetchLatest.perform().then((()=>{this.whatsNewEntriesLoading=!1,this.whatsNewEntries=this.whatsNew.entries.slice(0,3)}),(e=>{this.whatsNewEntriesError=e,this.whatsNewEntriesLoading=!1}))}dismissLaunchBanner(){this.feature.set("launchComplete",!0)}},T=Q(O.prototype,"feature",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=Q(O.prototype,"session",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),M=Q(O.prototype,"membersStats",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),C=Q(O.prototype,"store",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),z=Q(O.prototype,"settings",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),A=Q(O.prototype,"whatsNew",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),D=Q(O.prototype,"eventsData",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),I=Q(O.prototype,"eventsError",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),U=Q(O.prototype,"eventsLoading",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),L=Q(O.prototype,"mrrStatsData",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),R=Q(O.prototype,"mrrStatsError",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),N=Q(O.prototype,"mrrStatsLoading",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),F=Q(O.prototype,"memberCountStatsData",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),B=Q(O.prototype,"memberCountStatsError",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),V=Q(O.prototype,"memberCountStatsLoading",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),H=Q(O.prototype,"topMembersData",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),q=Q(O.prototype,"topMembersError",[v],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),$=Q(O.prototype,"topMembersLoading",[y],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),K=Q(O.prototype,"newsletterOpenRatesData",[w],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),W=Q(O.prototype,"newsletterOpenRatesError",[E],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),Y=Q(O.prototype,"newsletterOpenRatesLoading",[k],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),G=Q(O.prototype,"whatsNewEntries",[P],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),Z=Q(O.prototype,"whatsNewEntriesLoading",[_],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),J=Q(O.prototype,"whatsNewEntriesError",[j],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),Q(O.prototype,"dismissLaunchBanner",[x],Object.getOwnPropertyDescriptor(O.prototype,"dismissLaunchBanner"),O.prototype),O)
|
|
1739
1742
|
e.default=ee})),define("ghost-admin/controllers/designsandbox",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
1740
1743
|
class t extends Ember.Controller{}e.default=t})),define("ghost-admin/controllers/editor",["exports","ghost-admin/models/post","ghost-admin/utils/bound-one-way","ghost-admin/config/environment","ghost-admin/utils/isNumber","moment","ghost-admin/services/ajax","ember-ajax/errors","ember-concurrency"],(function(e,t,n,r,i,a,s,o,l){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
1741
1744
|
const u="(Untitled)"
|
|
@@ -1874,19 +1877,19 @@ return this.ghostPaths.url.join(e,t).replace(/\/$/,"")})),regeneratedKeyType:Emb
|
|
|
1874
1877
|
e.default=i})),define("ghost-admin/controllers/launch",["exports","ghost-admin/config/environment"],(function(e,t){var n,r,i,a,s,o,l,u,d,c,m,p,h,g,b,f,v,y,w,E,k,P,_,j,x,O,T
|
|
1875
1878
|
function S(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function M(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function C(e,t,n,r,i){var a={}
|
|
1876
1879
|
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
1877
|
-
const
|
|
1878
|
-
let
|
|
1880
|
+
const z={"customise-design":{title:"Customise your site",position:"Step 1",next:"connect-stripe"},"connect-stripe":{title:"Connect to Stripe",position:"Step 2",next:"set-pricing",back:"customise-design",skip:"finalise"},"set-pricing":{title:"Set up subscriptions",position:"Step 3",next:"finalise",back:"connect-stripe"},finalise:{title:"Launch your site",position:"Final step",back:"set-pricing"}}
|
|
1881
|
+
let A=(n=Ember.inject.service,r=Ember.inject.service,i=Ember.inject.service,a=Ember._tracked,s=Ember._tracked,o=Ember._tracked,l=Ember._tracked,u=Ember._action,d=Ember._action,c=Ember._action,m=Ember._action,p=Ember._action,h=Ember._action,g=Ember._action,b=Ember._action,f=Ember._action,v=Ember._action,y=Ember._action,w=Ember._action,E=class extends Ember.Controller{constructor(...e){super(...e),S(this,"config",k,this),S(this,"router",P,this),S(this,"settings",_,this),M(this,"queryParams",["step"]),S(this,"previewGuid",j,this),S(this,"previewSrc",x,this),S(this,"step",O,this),S(this,"data",T,this),M(this,"steps",z),M(this,"skippedSteps",[])
|
|
1879
1882
|
const n=this.config.get("blogUrl")
|
|
1880
|
-
"development"===t.default.environment||/^https:/.test(n)?this.steps=
|
|
1883
|
+
"development"===t.default.environment||/^https:/.test(n)?this.steps=z:this.steps={"customise-design":{title:"Customise your site",position:"Step 1",next:"set-pricing"},"set-pricing":{title:"Set up subscriptions",position:"Step 2",next:"finalise",back:"customise-design"},finalise:{title:"Launch your site",position:"Final step",back:"set-pricing"}}}get currentStep(){return this.steps[this.step]}storeData(e){this.data=e}getData(){return this.data}goToStep(e){e&&(this.step=e)}goNextStep(){this.step=this.currentStep.next}goBackStep(){let e=this.currentStep.back
|
|
1881
1884
|
for(;this.skippedSteps.includes(e);)this.skippedSteps=this.skippedSteps.filter((t=>t!==e)),e=this.steps[e].back
|
|
1882
1885
|
this.step=e}skipStep(){let e=this.currentStep.next,t=this.currentStep.skip
|
|
1883
1886
|
for(;e!==t;)this.skippedSteps.push(e),e=this.steps[e].next
|
|
1884
1887
|
this.step=e}registerPreviewIframe(e){this.previewIframe=e}refreshPreview(){this.previewGuid=(new Date).valueOf()}updatePreview(e){this.previewSrc=e}replacePreviewContents(e){this.previewIframe&&(this.previewIframe.contentWindow.document.open(),this.previewIframe.contentWindow.document.write(e),this.previewIframe.contentWindow.document.close())}close(){this.router.transitionTo("dashboard")}reset(){this.data=null,this.step="customise-design",this.skippedSteps=[]}},k=C(E.prototype,"config",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P=C(E.prototype,"router",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=C(E.prototype,"settings",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=C(E.prototype,"previewGuid",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return(new Date).valueOf()}}),x=C(E.prototype,"previewSrc",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),O=C(E.prototype,"step",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"customise-design"}}),T=C(E.prototype,"data",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),C(E.prototype,"storeData",[u],Object.getOwnPropertyDescriptor(E.prototype,"storeData"),E.prototype),C(E.prototype,"getData",[d],Object.getOwnPropertyDescriptor(E.prototype,"getData"),E.prototype),C(E.prototype,"goToStep",[c],Object.getOwnPropertyDescriptor(E.prototype,"goToStep"),E.prototype),C(E.prototype,"goNextStep",[m],Object.getOwnPropertyDescriptor(E.prototype,"goNextStep"),E.prototype),C(E.prototype,"goBackStep",[p],Object.getOwnPropertyDescriptor(E.prototype,"goBackStep"),E.prototype),C(E.prototype,"skipStep",[h],Object.getOwnPropertyDescriptor(E.prototype,"skipStep"),E.prototype),C(E.prototype,"registerPreviewIframe",[g],Object.getOwnPropertyDescriptor(E.prototype,"registerPreviewIframe"),E.prototype),C(E.prototype,"refreshPreview",[b],Object.getOwnPropertyDescriptor(E.prototype,"refreshPreview"),E.prototype),C(E.prototype,"updatePreview",[f],Object.getOwnPropertyDescriptor(E.prototype,"updatePreview"),E.prototype),C(E.prototype,"replacePreviewContents",[v],Object.getOwnPropertyDescriptor(E.prototype,"replacePreviewContents"),E.prototype),C(E.prototype,"close",[y],Object.getOwnPropertyDescriptor(E.prototype,"close"),E.prototype),C(E.prototype,"reset",[w],Object.getOwnPropertyDescriptor(E.prototype,"reset"),E.prototype),E)
|
|
1885
|
-
e.default=
|
|
1888
|
+
e.default=A})),define("ghost-admin/controllers/member",["exports","ghost-admin/utils/bound-one-way","moment","ember-concurrency-decorators"],(function(e,t,n,r){var i,a,s,o,l,u,d,c,m,p,h,g,b,f,v,y,w,E,k,P,_,j,x,O,T,S,M,C,z,A,D,I,U,L,R,N,F
|
|
1886
1889
|
function B(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function V(e,t,n,r,i){var a={}
|
|
1887
1890
|
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
1888
1891
|
const H=["name","email","note"]
|
|
1889
|
-
let q=(i=Ember.inject.controller,a=Ember.inject.service,s=Ember.inject.service,o=Ember.inject.service,l=Ember.inject.service,u=Ember.inject.service,d=Ember.inject.service,c=Ember._tracked,m=Ember._tracked,p=Ember._tracked,h=Ember._tracked,g=Ember._tracked,b=Ember._tracked,f=Ember._action,v=Ember._action,y=Ember._action,w=Ember._action,E=Ember._action,k=Ember._action,P=Ember._action,_=Ember._action,j=Ember._action,x=(0,r.task)({drop:!0}),O=class extends Ember.Controller{constructor(){super(...arguments),B(this,"members",T,this),B(this,"session",S,this),B(this,"dropdown",M,this),B(this,"membersStats",C,this),B(this,"notifications",
|
|
1892
|
+
let q=(i=Ember.inject.controller,a=Ember.inject.service,s=Ember.inject.service,o=Ember.inject.service,l=Ember.inject.service,u=Ember.inject.service,d=Ember.inject.service,c=Ember._tracked,m=Ember._tracked,p=Ember._tracked,h=Ember._tracked,g=Ember._tracked,b=Ember._tracked,f=Ember._action,v=Ember._action,y=Ember._action,w=Ember._action,E=Ember._action,k=Ember._action,P=Ember._action,_=Ember._action,j=Ember._action,x=(0,r.task)({drop:!0}),O=class extends Ember.Controller{constructor(){super(...arguments),B(this,"members",T,this),B(this,"session",S,this),B(this,"dropdown",M,this),B(this,"membersStats",C,this),B(this,"notifications",z,this),B(this,"router",A,this),B(this,"store",D,this),B(this,"isLoading",I,this),B(this,"showDeleteMemberModal",U,this),B(this,"showImpersonateMemberModal",L,this),B(this,"showUnsavedChangesModal",R,this),B(this,"modalLabel",N,this),B(this,"showLabelModal",F,this),function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(this,"leaveScreenTransition",null),this._availableLabels=this.store.peekAll("label")}get member(){return this.model}get labelModalData(){return{label:this.modalLabel,labels:this.availableLabels}}get availableLabels(){let e=this._availableLabels.filter((e=>!e.isNew)).filter((e=>null!==e.id)).sort(((e,t)=>e.name.localeCompare(t.name,void 0,{ignorePunctuation:!0}))).toArray()
|
|
1890
1893
|
return e.unshiftObject({name:"All labels",slug:null}),e}set member(e){this.model=e}get scratchMember(){let e=Ember.Object.create({member:this.member})
|
|
1891
1894
|
return H.forEach((n=>Ember.defineProperty(e,n,(0,t.default)(`member.${n}`)))),e}get subscribedAt(){let e=(0,n.default)(this.member.get("createdAtUTC")).from((0,n.default)())
|
|
1892
1895
|
return`${(0,n.default)(this.member.get("createdAtUTC")).format("D MMM YYYY")} (${e})`}toggleLabelModal(){this.showLabelModal=!this.showLabelModal}editLabel(e,t){t&&(t.preventDefault(),t.stopPropagation())
|
|
@@ -1898,12 +1901,12 @@ if(!t||e.targetName===t.targetName){if(this.leaveScreenTransition=e,this.save.is
|
|
|
1898
1901
|
this.showUnsavedChangesModal=!0}}leaveScreen(){return this.member.rollbackAttributes(),this.leaveScreenTransition.retry()}*saveTask(){let{member:e,scratchMember:t}=this,n=t.getProperties(H)
|
|
1899
1902
|
e.setProperties(n)
|
|
1900
1903
|
try{return yield e.save(),e.updateLabels(),this.members.refreshData(),this.replaceRoute("member",e),e}catch(r){r&&this.notifications.showAPIError(r,{key:"member.save"})}}*fetchMemberTask(e){this.isLoading=!0,this.member=yield this.store.queryRecord("member",{id:e,include:"email_recipients,products"}),this.isLoading=!1}_saveMemberProperty(e,t){let n=this.member.get(e)
|
|
1901
|
-
t&&"string"==typeof t&&(t=t.trim()),(!1===t||t||n)&&this.member.set(e,t)}},T=V(O.prototype,"members",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=V(O.prototype,"session",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),M=V(O.prototype,"dropdown",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),C=V(O.prototype,"membersStats",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),
|
|
1902
|
-
e.default=q})),define("ghost-admin/controllers/members",["exports","ghost-admin/config/environment","fetch","ghost-admin/utils/ghost-paths","moment","ghost-admin/helpers/gh-pluralize","ghost-admin/helpers/reset-query-params","ember-concurrency-decorators","ember-concurrency"],(function(e,t,n,r,i,a,s,o,l){var u,d,c,m,p,h,g,b,f,v,y,w,E,k,P,_,j,x,O,T,S,M,C,A,
|
|
1903
|
-
function Ie(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function
|
|
1904
|
+
t&&"string"==typeof t&&(t=t.trim()),(!1===t||t||n)&&this.member.set(e,t)}},T=V(O.prototype,"members",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=V(O.prototype,"session",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),M=V(O.prototype,"dropdown",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),C=V(O.prototype,"membersStats",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),z=V(O.prototype,"notifications",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),A=V(O.prototype,"router",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),D=V(O.prototype,"store",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),I=V(O.prototype,"isLoading",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),U=V(O.prototype,"showDeleteMemberModal",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),L=V(O.prototype,"showImpersonateMemberModal",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),R=V(O.prototype,"showUnsavedChangesModal",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),N=V(O.prototype,"modalLabel",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),F=V(O.prototype,"showLabelModal",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),V(O.prototype,"toggleLabelModal",[f],Object.getOwnPropertyDescriptor(O.prototype,"toggleLabelModal"),O.prototype),V(O.prototype,"editLabel",[v],Object.getOwnPropertyDescriptor(O.prototype,"editLabel"),O.prototype),V(O.prototype,"setProperty",[y],Object.getOwnPropertyDescriptor(O.prototype,"setProperty"),O.prototype),V(O.prototype,"toggleDeleteMemberModal",[w],Object.getOwnPropertyDescriptor(O.prototype,"toggleDeleteMemberModal"),O.prototype),V(O.prototype,"toggleImpersonateMemberModal",[E],Object.getOwnPropertyDescriptor(O.prototype,"toggleImpersonateMemberModal"),O.prototype),V(O.prototype,"save",[k],Object.getOwnPropertyDescriptor(O.prototype,"save"),O.prototype),V(O.prototype,"deleteMember",[P],Object.getOwnPropertyDescriptor(O.prototype,"deleteMember"),O.prototype),V(O.prototype,"toggleUnsavedChangesModal",[_],Object.getOwnPropertyDescriptor(O.prototype,"toggleUnsavedChangesModal"),O.prototype),V(O.prototype,"leaveScreen",[j],Object.getOwnPropertyDescriptor(O.prototype,"leaveScreen"),O.prototype),V(O.prototype,"saveTask",[x],Object.getOwnPropertyDescriptor(O.prototype,"saveTask"),O.prototype),V(O.prototype,"fetchMemberTask",[r.task],Object.getOwnPropertyDescriptor(O.prototype,"fetchMemberTask"),O.prototype),O)
|
|
1905
|
+
e.default=q})),define("ghost-admin/controllers/members",["exports","ghost-admin/config/environment","fetch","ghost-admin/utils/ghost-paths","moment","ghost-admin/helpers/gh-pluralize","ghost-admin/helpers/reset-query-params","ember-concurrency-decorators","ember-concurrency"],(function(e,t,n,r,i,a,s,o,l){var u,d,c,m,p,h,g,b,f,v,y,w,E,k,P,_,j,x,O,T,S,M,C,z,A,D,I,U,L,R,N,F,B,V,H,q,$,K,W,Y,G,Z,J,X,Q,ee,te,ne,re,ie,ae,se,oe,le,ue,de,ce,me,pe,he,ge,be,fe,ve,ye,we,Ee,ke,Pe,_e,je,xe,Oe,Te,Se,Me,Ce,ze,Ae,De
|
|
1906
|
+
function Ie(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function Ue(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Le(e,t,n,r,i){var a={}
|
|
1904
1907
|
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
1905
1908
|
const Re=[{name:"All members",value:null},{name:"Free members",value:"false"},{name:"Paid members",value:"true"}]
|
|
1906
|
-
let Ne=(u=Ember.inject.service,d=Ember.inject.service,c=Ember.inject.service,m=Ember.inject.service,p=Ember.inject.service,h=Ember.inject.service,g=Ember.inject.service,b=Ember.inject.service,f=Ember.inject.service,v=Ember._tracked,y=Ember._tracked,w=Ember._tracked,E=Ember._tracked,k=Ember._tracked,P=Ember._tracked,_=Ember._tracked,j=Ember._tracked,x=Ember._tracked,O=Ember._tracked,T=Ember._tracked,S=Ember._tracked,M=Ember._tracked,C=Ember._tracked,
|
|
1909
|
+
let Ne=(u=Ember.inject.service,d=Ember.inject.service,c=Ember.inject.service,m=Ember.inject.service,p=Ember.inject.service,h=Ember.inject.service,g=Ember.inject.service,b=Ember.inject.service,f=Ember.inject.service,v=Ember._tracked,y=Ember._tracked,w=Ember._tracked,E=Ember._tracked,k=Ember._tracked,P=Ember._tracked,_=Ember._tracked,j=Ember._tracked,x=Ember._tracked,O=Ember._tracked,T=Ember._tracked,S=Ember._tracked,M=Ember._tracked,C=Ember._tracked,z=Ember._tracked,A=Ember._tracked,D=Ember._tracked,I=Ember._action,U=Ember._action,L=Ember._action,R=Ember._action,N=Ember._action,F=Ember._action,B=Ember._action,V=Ember._action,H=Ember._action,q=Ember._action,$=Ember._action,K=Ember._action,W=Ember._action,Y=Ember._action,G=Ember._action,Z=Ember._action,J=Ember._action,X=Ember._action,Q=Ember._action,ee=Ember._action,te=Ember._action,ne=(0,o.task)({restartable:!0}),re=(0,o.task)({restartable:!0}),ie=(0,o.task)({drop:!0}),ae=(0,o.task)({drop:!0}),se=(0,o.task)({drop:!0}),oe=(0,o.task)({drop:!0}),le=class extends Ember.Controller{constructor(){super(...arguments),Ie(this,"ajax",ue,this),Ie(this,"config",de,this),Ie(this,"ellaSparse",ce,this),Ie(this,"feature",me,this),Ie(this,"ghostPaths",pe,this),Ie(this,"membersStats",he,this),Ie(this,"router",ge,this),Ie(this,"store",be,this),Ie(this,"utils",fe,this),Ue(this,"queryParams",["label",{paidParam:"paid"},{searchParam:"search"},{orderParam:"order"},{filterParam:"filter"}]),Ie(this,"members",ve,this),Ie(this,"searchText",ye,this),Ie(this,"searchParam",we,this),Ie(this,"filterParam",Ee,this),Ie(this,"softFilterParam",ke,this),Ie(this,"paidParam",Pe,this),Ie(this,"label",_e,this),Ie(this,"orderParam",je,this),Ie(this,"modalLabel",xe,this),Ie(this,"showLabelModal",Oe,this),Ie(this,"showDeleteMembersModal",Te,this),Ie(this,"showUnsubscribeMembersModal",Se,this),Ie(this,"showAddMembersLabelModal",Me,this),Ie(this,"showRemoveMembersLabelModal",Ce,this),Ie(this,"filters",ze,this),Ie(this,"softFilters",Ae,this),Ie(this,"_availableLabels",De,this),Ue(this,"paidParams",Re),this._availableLabels=this.store.peekAll("label")
|
|
1907
1910
|
void 0===this.isTesting&&(this.isTesting="test"===t.default.environment)}get listHeader(){let{searchText:e,selectedLabel:t,members:n}=this
|
|
1908
1911
|
if(n.loading)return"Loading..."
|
|
1909
1912
|
if(e)return"Search result"
|
|
@@ -1937,16 +1940,16 @@ return this.store.unloadAll("member"),this.reload(),this.membersStats.invalidate
|
|
|
1937
1940
|
const n=new URLSearchParams(this.getApiQueryObject()),r=`${this.ghostPaths.url.api("members/bulk")}?${n}`,i=yield this.ajax.put(r,{data:{bulk:{action:"addLabel",meta:{label:{id:e}}}}})
|
|
1938
1941
|
return this.store.unloadAll("member"),this.reload(),null==i||null===(t=i.bulk)||void 0===t?void 0:t.meta}*removeLabelFromMembersTask(e){var t
|
|
1939
1942
|
const n=new URLSearchParams(this.getApiQueryObject()),r=`${this.ghostPaths.url.api("members/bulk")}?${n}`,i=yield this.ajax.put(r,{data:{bulk:{action:"removeLabel",meta:{label:{id:e}}}}})
|
|
1940
|
-
return this.store.unloadAll("member"),this.reload(),null==i||null===(t=i.bulk)||void 0===t?void 0:t.meta}resetSearch(){this.searchText=""}resetFilters(e){null!=e&&e.filterParam||(this.filters=Ember.A([]),this.softFilterParam=null,this.softFilters=Ember.A([]))}reload(e){this.membersStats.invalidate(),this.membersStats.fetchCounts(),this.fetchMembersTask.perform(e)}},ue=
|
|
1943
|
+
return this.store.unloadAll("member"),this.reload(),null==i||null===(t=i.bulk)||void 0===t?void 0:t.meta}resetSearch(){this.searchText=""}resetFilters(e){null!=e&&e.filterParam||(this.filters=Ember.A([]),this.softFilterParam=null,this.softFilters=Ember.A([]))}reload(e){this.membersStats.invalidate(),this.membersStats.fetchCounts(),this.fetchMembersTask.perform(e)}},ue=Le(le.prototype,"ajax",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),de=Le(le.prototype,"config",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ce=Le(le.prototype,"ellaSparse",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),me=Le(le.prototype,"feature",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),pe=Le(le.prototype,"ghostPaths",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),he=Le(le.prototype,"membersStats",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ge=Le(le.prototype,"router",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),be=Le(le.prototype,"store",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),fe=Le(le.prototype,"utils",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ve=Le(le.prototype,"members",[v],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return Ember.A([])}}),ye=Le(le.prototype,"searchText",[y],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),we=Le(le.prototype,"searchParam",[w],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),Ee=Le(le.prototype,"filterParam",[E],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),ke=Le(le.prototype,"softFilterParam",[k],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),Pe=Le(le.prototype,"paidParam",[P],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),_e=Le(le.prototype,"label",[_],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),je=Le(le.prototype,"orderParam",[j],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),xe=Le(le.prototype,"modalLabel",[x],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),Oe=Le(le.prototype,"showLabelModal",[O],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Te=Le(le.prototype,"showDeleteMembersModal",[T],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Se=Le(le.prototype,"showUnsubscribeMembersModal",[S],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Me=Le(le.prototype,"showAddMembersLabelModal",[M],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Ce=Le(le.prototype,"showRemoveMembersLabelModal",[C],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),ze=Le(le.prototype,"filters",[z],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return Ember.A([])}}),Ae=Le(le.prototype,"softFilters",[A],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return Ember.A([])}}),De=Le(le.prototype,"_availableLabels",[D],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return Ember.A([])}}),Le(le.prototype,"refreshData",[I],Object.getOwnPropertyDescriptor(le.prototype,"refreshData"),le.prototype),Le(le.prototype,"changeOrder",[U],Object.getOwnPropertyDescriptor(le.prototype,"changeOrder"),le.prototype),Le(le.prototype,"applyFilter",[L],Object.getOwnPropertyDescriptor(le.prototype,"applyFilter"),le.prototype),Le(le.prototype,"applySoftFilter",[R],Object.getOwnPropertyDescriptor(le.prototype,"applySoftFilter"),le.prototype),Le(le.prototype,"resetSoftFilter",[N],Object.getOwnPropertyDescriptor(le.prototype,"resetSoftFilter"),le.prototype),Le(le.prototype,"resetFilter",[F],Object.getOwnPropertyDescriptor(le.prototype,"resetFilter"),le.prototype),Le(le.prototype,"search",[B],Object.getOwnPropertyDescriptor(le.prototype,"search"),le.prototype),Le(le.prototype,"exportData",[V],Object.getOwnPropertyDescriptor(le.prototype,"exportData"),le.prototype),Le(le.prototype,"changeLabel",[H],Object.getOwnPropertyDescriptor(le.prototype,"changeLabel"),le.prototype),Le(le.prototype,"addLabel",[q],Object.getOwnPropertyDescriptor(le.prototype,"addLabel"),le.prototype),Le(le.prototype,"editLabel",[$],Object.getOwnPropertyDescriptor(le.prototype,"editLabel"),le.prototype),Le(le.prototype,"toggleLabelModal",[K],Object.getOwnPropertyDescriptor(le.prototype,"toggleLabelModal"),le.prototype),Le(le.prototype,"changePaidParam",[W],Object.getOwnPropertyDescriptor(le.prototype,"changePaidParam"),le.prototype),Le(le.prototype,"toggleDeleteMembersModal",[Y],Object.getOwnPropertyDescriptor(le.prototype,"toggleDeleteMembersModal"),le.prototype),Le(le.prototype,"toggleUnsubscribeMembersModal",[G],Object.getOwnPropertyDescriptor(le.prototype,"toggleUnsubscribeMembersModal"),le.prototype),Le(le.prototype,"toggleAddMembersLabelModal",[Z],Object.getOwnPropertyDescriptor(le.prototype,"toggleAddMembersLabelModal"),le.prototype),Le(le.prototype,"toggleRemoveMembersLabelModal",[J],Object.getOwnPropertyDescriptor(le.prototype,"toggleRemoveMembersLabelModal"),le.prototype),Le(le.prototype,"deleteMembers",[X],Object.getOwnPropertyDescriptor(le.prototype,"deleteMembers"),le.prototype),Le(le.prototype,"unsubscribeMembers",[Q],Object.getOwnPropertyDescriptor(le.prototype,"unsubscribeMembers"),le.prototype),Le(le.prototype,"addLabelToMembers",[ee],Object.getOwnPropertyDescriptor(le.prototype,"addLabelToMembers"),le.prototype),Le(le.prototype,"removeLabelFromMembers",[te],Object.getOwnPropertyDescriptor(le.prototype,"removeLabelFromMembers"),le.prototype),Le(le.prototype,"searchTask",[ne],Object.getOwnPropertyDescriptor(le.prototype,"searchTask"),le.prototype),Le(le.prototype,"fetchLabelsTask",[o.task],Object.getOwnPropertyDescriptor(le.prototype,"fetchLabelsTask"),le.prototype),Le(le.prototype,"fetchMembersTask",[re],Object.getOwnPropertyDescriptor(le.prototype,"fetchMembersTask"),le.prototype),Le(le.prototype,"deleteMembersTask",[ie],Object.getOwnPropertyDescriptor(le.prototype,"deleteMembersTask"),le.prototype),Le(le.prototype,"unsubscribeMembersTask",[ae],Object.getOwnPropertyDescriptor(le.prototype,"unsubscribeMembersTask"),le.prototype),Le(le.prototype,"addLabelToMembersTask",[se],Object.getOwnPropertyDescriptor(le.prototype,"addLabelToMembersTask"),le.prototype),Le(le.prototype,"removeLabelFromMembersTask",[oe],Object.getOwnPropertyDescriptor(le.prototype,"removeLabelFromMembersTask"),le.prototype),le)
|
|
1941
1944
|
e.default=Ne})),define("ghost-admin/controllers/members/import",["exports","ghost-admin/helpers/reset-query-params"],(function(e,t){var n,r,i,a,s,o,l
|
|
1942
1945
|
function u(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function d(e,t,n,r,i){var a={}
|
|
1943
1946
|
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
1944
1947
|
let c=(n=Ember.inject.service,r=Ember.inject.controller,i=Ember._action,a=Ember._action,s=class extends Ember.Controller{constructor(...e){super(...e),u(this,"router",o,this),u(this,"members",l,this)}refreshMembers({label:e}={}){if(e){let n=Object.assign((0,t.resetQueryParams)("members.index"),{label:e.slug})
|
|
1945
1948
|
this.router.transitionTo({queryParams:n})}this.members.refreshData()}close(){this.router.transitionTo("members")}},o=d(s.prototype,"router",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),l=d(s.prototype,"members",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),d(s.prototype,"refreshMembers",[i],Object.getOwnPropertyDescriptor(s.prototype,"refreshMembers"),s.prototype),d(s.prototype,"close",[a],Object.getOwnPropertyDescriptor(s.prototype,"close"),s.prototype),s)
|
|
1946
|
-
e.default=c})),define("ghost-admin/controllers/offer",["exports","ghost-admin/config/environment","ghost-admin/utils/copy-text-to-clipboard","ghost-admin/utils/currency","ghost-admin/helpers/gh-price-amount","@tryghost/string","ember-concurrency-decorators","ember-concurrency"],(function(e,t,n,r,i,a,s,o){var l,u,d,c,m,p,h,g,b,f,v,y,w,E,k,P,_,j,x,O,T,S,M,C,A,
|
|
1949
|
+
e.default=c})),define("ghost-admin/controllers/offer",["exports","ghost-admin/config/environment","ghost-admin/utils/copy-text-to-clipboard","ghost-admin/utils/currency","ghost-admin/helpers/gh-price-amount","@tryghost/string","ember-concurrency-decorators","ember-concurrency"],(function(e,t,n,r,i,a,s,o){var l,u,d,c,m,p,h,g,b,f,v,y,w,E,k,P,_,j,x,O,T,S,M,C,z,A,D,I,U,L,R,N,F,B,V,H,q,$,K,W,Y,G,Z,J,X,Q,ee,te,ne,re,ie,ae,se,oe,le,ue,de,ce
|
|
1947
1950
|
function me(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function pe(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function he(e,t,n,r,i){var a={}
|
|
1948
1951
|
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
1949
|
-
let ge=(l=Ember.inject.controller,u=Ember.inject.service,d=Ember.inject.service,c=Ember.inject.service,m=Ember.inject.service,p=Ember.inject.service,h=Ember.inject.service,g=Ember.inject.service,b=Ember._tracked,f=Ember._tracked,v=Ember._tracked,y=Ember._tracked,w=Ember._tracked,E=Ember._tracked,k=Ember._tracked,P=Ember._tracked,_=Ember._tracked,j=(0,s.task)({drop:!0}),x=(0,s.task)({drop:!0}),O=(0,s.task)({drop:!0}),T=Ember._action,S=Ember._action,M=Ember._action,C=Ember._action,
|
|
1952
|
+
let ge=(l=Ember.inject.controller,u=Ember.inject.service,d=Ember.inject.service,c=Ember.inject.service,m=Ember.inject.service,p=Ember.inject.service,h=Ember.inject.service,g=Ember.inject.service,b=Ember._tracked,f=Ember._tracked,v=Ember._tracked,y=Ember._tracked,w=Ember._tracked,E=Ember._tracked,k=Ember._tracked,P=Ember._tracked,_=Ember._tracked,j=(0,s.task)({drop:!0}),x=(0,s.task)({drop:!0}),O=(0,s.task)({drop:!0}),T=Ember._action,S=Ember._action,M=Ember._action,C=Ember._action,z=Ember._action,A=Ember._action,D=Ember._action,I=Ember._action,U=Ember._action,L=Ember._action,R=Ember._action,N=Ember._action,F=Ember._action,B=Ember._action,V=Ember._action,H=Ember._action,q=Ember._action,$=Ember._action,K=Ember._action,W=Ember._action,Y=class extends Ember.Controller{constructor(){super(...arguments),me(this,"offers",G,this),me(this,"config",Z,this),me(this,"settings",J,this),me(this,"store",X,this),me(this,"modals",Q,this),me(this,"feature",ee,this),me(this,"membersUtils",te,this),me(this,"notifications",ne,this),me(this,"cadences",re,this),me(this,"products",ie,this),me(this,"portalPreviewUrl",ae,this),me(this,"showUnsavedChangesModal",se,this),me(this,"defaultSiteUrl",oe,this),me(this,"durations",le,this),me(this,"offertypes",ue,this),me(this,"defaultProps",de,this),me(this,"isDisplayTitleEdited",ce,this),pe(this,"leaveScreenTransition",null),pe(this,"portalPreviewGuid",Date.now().valueOf()),void 0===this.isTesting&&(this.isTesting="test"===t.default.environment)}get offer(){return this.model}set offer(e){this.model=e}get scratchOffer(){return{...this.offer}}get cadence(){if(this.offer.tier&&this.offer.cadence){var e
|
|
1950
1953
|
const t=this.products.findBy("id",this.offer.tier.id)
|
|
1951
1954
|
return`${this.offer.tier.id}-${this.offer.cadence}-${null==t||null===(e=t.monthlyPrice)||void 0===e?void 0:e.currency}`}if(this.defaultProps){var t
|
|
1952
1955
|
const e=this.products.findBy("id",this.defaultProps.tier.id)
|
|
@@ -1974,7 +1977,7 @@ const i=null===(e=this.offer)||void 0===e||null===(t=e.tier)||void 0===t?void 0:
|
|
|
1974
1977
|
if(!i)return"$"
|
|
1975
1978
|
const a=this.products.findBy("id",i),s=(null==a||null===(n=a.monthlyPrice)||void 0===n?void 0:n.currency)||"usd"
|
|
1976
1979
|
return(0,r.getSymbol)(s)}get currencyLength(){return this.displayCurrency.length}updateDurations(e){e&&("month"===e?this.durations=[{label:"First-payment",duration:"once"},{label:"Multiple-months",duration:"repeating"},{label:"Forever",duration:"forever"}]:(this.durations=[{label:"First-payment",duration:"once"},{label:"Forever",duration:"forever"}],"repeating"===this.offer.duration&&this._saveOfferProperty("duration","once")))}updateCadence(e,t){if(t=t||this.offer,e){const[n,r,i]=e.split("-")
|
|
1977
|
-
t.tier={id:n},t.cadence=r,t.currency=i,this.offertypes=[{label:"%",offertype:"percent"},{label:i.toUpperCase(),offertype:"fixed"}],this.updateDurations(r),this.updatePortalPreview({forceRefresh:!1})}}updateDuration(e){this._saveOfferProperty("duration",e)}_saveOfferProperty(e,t){let n=this.offer[e];(!1===t||t||n)&&(this.offer[e]=t,this.updatePortalPreview({forceRefresh:!1}))}},G=he(Y.prototype,"offers",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Z=he(Y.prototype,"config",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),J=he(Y.prototype,"settings",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),X=he(Y.prototype,"store",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Q=he(Y.prototype,"modals",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ee=he(Y.prototype,"feature",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),te=he(Y.prototype,"membersUtils",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ne=he(Y.prototype,"notifications",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),re=he(Y.prototype,"cadences",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),ie=he(Y.prototype,"products",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),ae=he(Y.prototype,"portalPreviewUrl",[v],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),se=he(Y.prototype,"showUnsavedChangesModal",[y],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),oe=he(Y.prototype,"defaultSiteUrl",[w],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return this.config.get("blogUrl")}}),le=he(Y.prototype,"durations",[E],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[{label:"Forever",duration:"forever"},{label:"First-payment",duration:"once"},{label:"Multiple-months",duration:"repeating"}]}}),ue=he(Y.prototype,"offertypes",[k],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[{label:"%",offertype:"percent"},{label:"USD",offertype:"fixed"}]}}),de=he(Y.prototype,"defaultProps",[P],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),ce=he(Y.prototype,"isDisplayTitleEdited",[_],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),he(Y.prototype,"fetchProducts",[j],Object.getOwnPropertyDescriptor(Y.prototype,"fetchProducts"),Y.prototype),he(Y.prototype,"copyOfferUrl",[x],Object.getOwnPropertyDescriptor(Y.prototype,"copyOfferUrl"),Y.prototype),he(Y.prototype,"saveTask",[O],Object.getOwnPropertyDescriptor(Y.prototype,"saveTask"),Y.prototype),he(Y.prototype,"fetchOfferTask",[s.task],Object.getOwnPropertyDescriptor(Y.prototype,"fetchOfferTask"),Y.prototype),he(Y.prototype,"portalPreviewInserted",[T],Object.getOwnPropertyDescriptor(Y.prototype,"portalPreviewInserted"),Y.prototype),he(Y.prototype,"portalPreviewDestroyed",[S],Object.getOwnPropertyDescriptor(Y.prototype,"portalPreviewDestroyed"),Y.prototype),he(Y.prototype,"updatePortalPreview",[M],Object.getOwnPropertyDescriptor(Y.prototype,"updatePortalPreview"),Y.prototype),he(Y.prototype,"save",[C],Object.getOwnPropertyDescriptor(Y.prototype,"save"),Y.prototype),he(Y.prototype,"leaveScreen",[
|
|
1980
|
+
t.tier={id:n},t.cadence=r,t.currency=i,this.offertypes=[{label:"%",offertype:"percent"},{label:i.toUpperCase(),offertype:"fixed"}],this.updateDurations(r),this.updatePortalPreview({forceRefresh:!1})}}updateDuration(e){this._saveOfferProperty("duration",e)}_saveOfferProperty(e,t){let n=this.offer[e];(!1===t||t||n)&&(this.offer[e]=t,this.updatePortalPreview({forceRefresh:!1}))}},G=he(Y.prototype,"offers",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Z=he(Y.prototype,"config",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),J=he(Y.prototype,"settings",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),X=he(Y.prototype,"store",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Q=he(Y.prototype,"modals",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ee=he(Y.prototype,"feature",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),te=he(Y.prototype,"membersUtils",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ne=he(Y.prototype,"notifications",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),re=he(Y.prototype,"cadences",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),ie=he(Y.prototype,"products",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),ae=he(Y.prototype,"portalPreviewUrl",[v],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),se=he(Y.prototype,"showUnsavedChangesModal",[y],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),oe=he(Y.prototype,"defaultSiteUrl",[w],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return this.config.get("blogUrl")}}),le=he(Y.prototype,"durations",[E],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[{label:"Forever",duration:"forever"},{label:"First-payment",duration:"once"},{label:"Multiple-months",duration:"repeating"}]}}),ue=he(Y.prototype,"offertypes",[k],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[{label:"%",offertype:"percent"},{label:"USD",offertype:"fixed"}]}}),de=he(Y.prototype,"defaultProps",[P],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),ce=he(Y.prototype,"isDisplayTitleEdited",[_],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),he(Y.prototype,"fetchProducts",[j],Object.getOwnPropertyDescriptor(Y.prototype,"fetchProducts"),Y.prototype),he(Y.prototype,"copyOfferUrl",[x],Object.getOwnPropertyDescriptor(Y.prototype,"copyOfferUrl"),Y.prototype),he(Y.prototype,"saveTask",[O],Object.getOwnPropertyDescriptor(Y.prototype,"saveTask"),Y.prototype),he(Y.prototype,"fetchOfferTask",[s.task],Object.getOwnPropertyDescriptor(Y.prototype,"fetchOfferTask"),Y.prototype),he(Y.prototype,"portalPreviewInserted",[T],Object.getOwnPropertyDescriptor(Y.prototype,"portalPreviewInserted"),Y.prototype),he(Y.prototype,"portalPreviewDestroyed",[S],Object.getOwnPropertyDescriptor(Y.prototype,"portalPreviewDestroyed"),Y.prototype),he(Y.prototype,"updatePortalPreview",[M],Object.getOwnPropertyDescriptor(Y.prototype,"updatePortalPreview"),Y.prototype),he(Y.prototype,"save",[C],Object.getOwnPropertyDescriptor(Y.prototype,"save"),Y.prototype),he(Y.prototype,"leaveScreen",[z],Object.getOwnPropertyDescriptor(Y.prototype,"leaveScreen"),Y.prototype),he(Y.prototype,"toggleUnsavedChangesModal",[A],Object.getOwnPropertyDescriptor(Y.prototype,"toggleUnsavedChangesModal"),Y.prototype),he(Y.prototype,"setup",[D],Object.getOwnPropertyDescriptor(Y.prototype,"setup"),Y.prototype),he(Y.prototype,"setProperty",[I],Object.getOwnPropertyDescriptor(Y.prototype,"setProperty"),Y.prototype),he(Y.prototype,"setDiscountType",[U],Object.getOwnPropertyDescriptor(Y.prototype,"setDiscountType"),Y.prototype),he(Y.prototype,"setDiscountAmount",[L],Object.getOwnPropertyDescriptor(Y.prototype,"setDiscountAmount"),Y.prototype),he(Y.prototype,"setOfferName",[R],Object.getOwnPropertyDescriptor(Y.prototype,"setOfferName"),Y.prototype),he(Y.prototype,"setPortalTitle",[N],Object.getOwnPropertyDescriptor(Y.prototype,"setPortalTitle"),Y.prototype),he(Y.prototype,"setPortalDescription",[F],Object.getOwnPropertyDescriptor(Y.prototype,"setPortalDescription"),Y.prototype),he(Y.prototype,"setOfferCode",[B],Object.getOwnPropertyDescriptor(Y.prototype,"setOfferCode"),Y.prototype),he(Y.prototype,"setDurationInMonths",[V],Object.getOwnPropertyDescriptor(Y.prototype,"setDurationInMonths"),Y.prototype),he(Y.prototype,"openConfirmArchiveModal",[H],Object.getOwnPropertyDescriptor(Y.prototype,"openConfirmArchiveModal"),Y.prototype),he(Y.prototype,"openConfirmUnarchiveModal",[q],Object.getOwnPropertyDescriptor(Y.prototype,"openConfirmUnarchiveModal"),Y.prototype),he(Y.prototype,"updateDurations",[$],Object.getOwnPropertyDescriptor(Y.prototype,"updateDurations"),Y.prototype),he(Y.prototype,"updateCadence",[K],Object.getOwnPropertyDescriptor(Y.prototype,"updateCadence"),Y.prototype),he(Y.prototype,"updateDuration",[W],Object.getOwnPropertyDescriptor(Y.prototype,"updateDuration"),Y.prototype),Y)
|
|
1978
1981
|
e.default=ge})),define("ghost-admin/controllers/offers",["exports","ember-concurrency-decorators"],(function(e,t){var n,r,i,a,s,o,l,u,d,c,m,p,h,g
|
|
1979
1982
|
function b(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function f(e,t,n,r,i){var a={}
|
|
1980
1983
|
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
@@ -2030,7 +2033,7 @@ let y=(n=Ember.inject.service,r=Ember.inject.service,i=Ember.inject.service,a=Em
|
|
|
2030
2033
|
return null===(e=(t=document.activeElement).blur)||void 0===e||e.call(t),this.saveTask.perform()}*saveTask(){try{if(0!==this.settings.get("errors").length)return
|
|
2031
2034
|
return yield Promise.all([this.settings.save(),this.customThemeSettings.save()]),!0}catch(e){if(e)throw this.notifications.showAPIError(e),e}}reset(){this.previewSize="desktop",this.themeManagement.setPreviewType("homepage")}},c=v(d.prototype,"config",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),m=v(d.prototype,"customThemeSettings",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),p=v(d.prototype,"notifications",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),h=v(d.prototype,"settings",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),g=v(d.prototype,"themeManagement",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),b=v(d.prototype,"previewSize",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"desktop"}}),v(d.prototype,"setPreviewSize",[l],Object.getOwnPropertyDescriptor(d.prototype,"setPreviewSize"),d.prototype),v(d.prototype,"saveFromKeyboard",[u],Object.getOwnPropertyDescriptor(d.prototype,"saveFromKeyboard"),d.prototype),v(d.prototype,"saveTask",[t.task],Object.getOwnPropertyDescriptor(d.prototype,"saveTask"),d.prototype),d)
|
|
2032
2035
|
e.default=y})),define("ghost-admin/controllers/settings/general",["exports","jquery","ghost-admin/utils/password-generator","validator","ghost-admin/components/gh-image-uploader","ember-concurrency"],(function(e,t,n,r,i,a){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2033
|
-
var s=Ember.Controller.extend({config:Ember.inject.service(),ghostPaths:Ember.inject.service(),notifications:Ember.inject.service(),session:Ember.inject.service(),settings:Ember.inject.service(),ui:Ember.inject.service(),availableTimezones:null,imageExtensions:i.IMAGE_EXTENSIONS,imageMimeTypes:i.IMAGE_MIME_TYPES,_scratchFacebook:null,_scratchTwitter:null,privateRSSUrl:Ember.computed("config.blogUrl","settings.publicHash",(function(){return`${this.get("config.blogUrl")}/${this.get("settings.publicHash")}/rss`})),actions:{save(){this.save.perform()},setTimezone(e){this.set("settings.timezone",e.name)},removeImage(e){this.settings.set(e,"")},triggerFileDialog(e){(0,t.default)(e.target).closest(".gh-setting-action").find('input[type="file"]').click()},imageUploaded(e,t){if(t[0])return this.settings.set(e,t[0].url)},toggleIsPrivate(e){let t=this.settings
|
|
2036
|
+
var s=Ember.Controller.extend({config:Ember.inject.service(),ghostPaths:Ember.inject.service(),notifications:Ember.inject.service(),session:Ember.inject.service(),settings:Ember.inject.service(),frontend:Ember.inject.service(),ui:Ember.inject.service(),availableTimezones:null,imageExtensions:i.IMAGE_EXTENSIONS,imageMimeTypes:i.IMAGE_MIME_TYPES,_scratchFacebook:null,_scratchTwitter:null,privateRSSUrl:Ember.computed("config.blogUrl","settings.publicHash",(function(){return`${this.get("config.blogUrl")}/${this.get("settings.publicHash")}/rss`})),actions:{save(){this.save.perform()},setTimezone(e){this.set("settings.timezone",e.name)},removeImage(e){this.settings.set(e,"")},triggerFileDialog(e){(0,t.default)(e.target).closest(".gh-setting-action").find('input[type="file"]').click()},imageUploaded(e,t){if(t[0])return this.settings.set(e,t[0].url)},toggleIsPrivate(e){let t=this.settings
|
|
2034
2037
|
t.set("isPrivate",e),t.get("errors").remove("password")
|
|
2035
2038
|
let r=t.changedAttributes()
|
|
2036
2039
|
e&&r.isPrivate?t.set("password",(0,n.default)(6)+Math.floor(1e3*Math.random())):r.password&&t.set("password",r.password[0])},toggleLeaveSettingsModal(e){let t=this.leaveSettingsTransition
|
|
@@ -2050,8 +2053,8 @@ if(e.match(/(?:twitter\.com\/)(\S+)/)?[,t]=e.match(/(?:twitter\.com\/)(\S+)/):[t
|
|
|
2050
2053
|
e=`https://twitter.com/${t}`,this.settings.get("hasValidated").pushObject("twitter"),this.settings.set("twitter",e),this.settings.notifyPropertyChange("twitter")}}else this.set("settings.twitter","")}},_deleteTheme(){let e=this.store.peekRecord("theme",this.themeToDelete.name)
|
|
2051
2054
|
if(e)return e.destroyRecord().catch((e=>{this.notifications.showAPIError(e)}))},save:(0,a.task)((function*(){let e=this.notifications,t=this.config
|
|
2052
2055
|
this.settings.get("twitter")!==this._scratchTwitter&&this.send("validateTwitterUrl"),this.settings.get("facebook")!==this._scratchFacebook&&this.send("validateFacebookUrl")
|
|
2053
|
-
try{let e=yield this.settings.save()
|
|
2054
|
-
return t.set("blogTitle",
|
|
2056
|
+
try{let e=this.settings.changedAttributes(),n=yield this.settings.save()
|
|
2057
|
+
return t.set("blogTitle",n.get("title")),e.password&&this.frontend.loginIfNeeded(),this.ui.updateDocumentTitle(),n}catch(n){throw n&&e.showAPIError(n,{key:"settings.save"}),n}}))})
|
|
2055
2058
|
e.default=s})),define("ghost-admin/controllers/settings/integration",["exports","ghost-admin/config/environment","ghost-admin/utils/copy-text-to-clipboard","ghost-admin/components/gh-image-uploader","ember-concurrency"],(function(e,t,n,r,i){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2056
2059
|
var a=Ember.Controller.extend({config:Ember.inject.service(),ghostPaths:Ember.inject.service(),imageExtensions:r.IMAGE_EXTENSIONS,imageMimeTypes:r.IMAGE_MIME_TYPES,showRegenerateKeyModal:!1,selectedApiKey:null,isApiKeyRegenerated:!1,init(){this._super(...arguments),void 0===this.isTesting&&(this.isTesting="test"===t.default.environment)},integration:Ember.computed.alias("model"),apiUrl:Ember.computed((function(){let e=window.location.origin,t=this.ghostPaths.subdir
|
|
2057
2060
|
return this.ghostPaths.url.join(e,t).replace(/\/$/,"")})),regeneratedKeyType:Ember.computed("isApiKeyRegenerated","selectedApiKey",(function(){return this.isApiKeyRegenerated?this.get("selectedApiKey.type"):null})),allWebhooks:Ember.computed((function(){return this.store.peekAll("webhook")})),filteredWebhooks:Ember.computed("integration.id","allWebhooks.@each.{isNew,isDeleted}",(function(){return this.allWebhooks.filter((e=>e.belongsTo("integration").id()===this.integration.id&&!e.isNew&&!e.isDeleted))})),iconImageStyle:Ember.computed("integration.iconImage",(function(){let e=this.integration.iconImage
|
|
@@ -2123,11 +2126,11 @@ return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumera
|
|
|
2123
2126
|
let O=(n=Ember.inject.service,r=Ember.inject.service,i=Ember.inject.service,a=Ember._tracked,s=Ember._tracked,o=Ember._tracked,l=Ember._tracked,u=Ember._tracked,d=Ember._action,c=Ember._action,m=Ember._action,p=Ember._action,h=Ember._action,g=(0,t.task)({drop:!0}),b=class extends Ember.Controller{constructor(...e){super(...e),j(this,"config",f,this),j(this,"session",v,this),j(this,"settings",y,this),function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(this,"queryParams",["emailRecipientsOpen","showEmailDesignSettings"]),j(this,"fromAddress",w,this),j(this,"supportAddress",E,this),j(this,"showEmailDesignSettings",k,this),j(this,"emailRecipientsOpen",P,this),j(this,"showLeaveSettingsModal",_,this)}setEmailAddress(e,t){this[e]=t}toggleEmailDesignSettings(){this.showEmailDesignSettings=!this.showEmailDesignSettings}toggleEmailRecipientsOpen(){this.emailRecipientsOpen=!this.emailRecipientsOpen}leaveRoute(e){this.settings.get("hasDirtyAttributes")&&(e.abort(),this.leaveSettingsTransition=e,this.showLeaveSettingsModal=!0),this.showEmailDesignSettings=!1}async confirmLeave(){this.settings.rollbackAttributes(),this.showLeaveSettingsModal=!1,this.leaveSettingsTransition.retry()}cancelLeave(){this.showLeaveSettingsModal=!1,this.leaveSettingsTransition=null}parseEmailAddress(e){const t=e||"noreply"
|
|
2124
2127
|
return t.indexOf("@")<0&&this.config.emailDomain?`${t}@${this.config.emailDomain}`:t}resetEmailAddresses(){this.fromAddress=this.parseEmailAddress(this.settings.get("membersFromAddress")),this.supportAddress=this.parseEmailAddress(this.settings.get("membersSupportAddress"))}*saveSettings(){const e=yield this.settings.save()
|
|
2125
2128
|
return this.resetEmailAddresses(),e}},f=x(b.prototype,"config",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),v=x(b.prototype,"session",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),y=x(b.prototype,"settings",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),w=x(b.prototype,"fromAddress",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),E=x(b.prototype,"supportAddress",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),k=x(b.prototype,"showEmailDesignSettings",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),P=x(b.prototype,"emailRecipientsOpen",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),_=x(b.prototype,"showLeaveSettingsModal",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),x(b.prototype,"setEmailAddress",[d],Object.getOwnPropertyDescriptor(b.prototype,"setEmailAddress"),b.prototype),x(b.prototype,"toggleEmailDesignSettings",[c],Object.getOwnPropertyDescriptor(b.prototype,"toggleEmailDesignSettings"),b.prototype),x(b.prototype,"toggleEmailRecipientsOpen",[m],Object.getOwnPropertyDescriptor(b.prototype,"toggleEmailRecipientsOpen"),b.prototype),x(b.prototype,"confirmLeave",[p],Object.getOwnPropertyDescriptor(b.prototype,"confirmLeave"),b.prototype),x(b.prototype,"cancelLeave",[h],Object.getOwnPropertyDescriptor(b.prototype,"cancelLeave"),b.prototype),x(b.prototype,"saveSettings",[g],Object.getOwnPropertyDescriptor(b.prototype,"saveSettings"),b.prototype),b)
|
|
2126
|
-
e.default=O})),define("ghost-admin/controllers/settings/membership",["exports","ghost-admin/config/environment","ghost-admin/utils/currency","ember-concurrency-decorators"],(function(e,t,n,r){var i,a,s,o,l,u,d,c,m,p,h,g,b,f,v,y,w,E,k,P,_,j,x,O,T,S,M,C,A,
|
|
2129
|
+
e.default=O})),define("ghost-admin/controllers/settings/membership",["exports","ghost-admin/config/environment","ghost-admin/utils/currency","ember-concurrency-decorators"],(function(e,t,n,r){var i,a,s,o,l,u,d,c,m,p,h,g,b,f,v,y,w,E,k,P,_,j,x,O,T,S,M,C,z,A,D,I,U,L,R,N,F,B,V,H,q,$,K,W,Y,G,Z,J,X,Q,ee,te,ne,re,ie,ae,se,oe,le,ue,de,ce,me,pe,he,ge,be,fe
|
|
2127
2130
|
function ve(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function ye(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function we(e,t,n,r,i){var a={}
|
|
2128
2131
|
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2129
2132
|
const Ee=n.currencies.map((e=>({value:e.isoCode.toLowerCase(),label:`${e.isoCode} - ${e.name}`,isoCode:e.isoCode})))
|
|
2130
|
-
let ke=(i=Ember.inject.service,a=Ember.inject.service,s=Ember.inject.service,o=Ember.inject.service,l=Ember.inject.service,u=Ember.inject.service,d=Ember._tracked,c=Ember._tracked,m=Ember._tracked,p=Ember._tracked,h=Ember._tracked,g=Ember._tracked,b=Ember._tracked,f=Ember._tracked,v=Ember._tracked,y=Ember._tracked,w=Ember._tracked,E=Ember._tracked,k=Ember._tracked,P=Ember._tracked,_=Ember._tracked,j=Ember._action,x=Ember._action,O=Ember._action,T=Ember._action,S=Ember._action,M=Ember._action,C=Ember._action,
|
|
2133
|
+
let ke=(i=Ember.inject.service,a=Ember.inject.service,s=Ember.inject.service,o=Ember.inject.service,l=Ember.inject.service,u=Ember.inject.service,d=Ember._tracked,c=Ember._tracked,m=Ember._tracked,p=Ember._tracked,h=Ember._tracked,g=Ember._tracked,b=Ember._tracked,f=Ember._tracked,v=Ember._tracked,y=Ember._tracked,w=Ember._tracked,E=Ember._tracked,k=Ember._tracked,P=Ember._tracked,_=Ember._tracked,j=Ember._action,x=Ember._action,O=Ember._action,T=Ember._action,S=Ember._action,M=Ember._action,C=Ember._action,z=Ember._action,A=Ember._action,D=Ember._action,I=Ember._action,U=Ember._action,L=Ember._action,R=Ember._action,N=Ember._action,F=Ember._action,B=Ember._action,V=Ember._action,H=Ember._action,q=Ember._action,$=Ember._action,K=Ember._action,W=Ember._action,Y=(0,r.task)({drop:!0}),G=(0,r.task)({drop:!0}),Z=class extends Ember.Controller{constructor(...e){super(...e),ve(this,"config",J,this),ve(this,"feature",X,this),ve(this,"membersUtils",Q,this),ve(this,"settings",ee,this),ve(this,"store",te,this),ve(this,"session",ne,this),ve(this,"showLeavePortalModal",re,this),ve(this,"showLeaveRouteModal",ie,this),ve(this,"showPortalSettings",ae,this),ve(this,"showStripeConnect",se,this),ve(this,"showProductModal",oe,this),ve(this,"product",le,this),ve(this,"products",ue,this),ve(this,"productModel",de,this),ve(this,"paidSignupRedirect",ce,this),ve(this,"freeSignupRedirect",me,this),ve(this,"stripeMonthlyAmount",pe,this),ve(this,"stripeYearlyAmount",he,this),ve(this,"currency",ge,this),ve(this,"stripePlanError",be,this),ve(this,"portalPreviewUrl",fe,this),ye(this,"portalPreviewGuid",Date.now().valueOf()),ye(this,"queryParams",["showPortalSettings"])}get allCurrencies(){return(0,n.getCurrencyOptions)()}get siteUrl(){return this.config.get("blogUrl")}get selectedCurrency(){return Ee.findBy("value",this.currency)}get isConnectDisallowed(){const e=this.config.get("blogUrl")
|
|
2131
2134
|
return"development"!==t.default.environment&&!/^https:/.test(e)}get hasChangedPrices(){if(this.product){const e=this.product.get("monthlyPrice"),t=this.product.get("yearlyPrice")
|
|
2132
2135
|
if(null!=e&&e.amount&&parseFloat(this.stripeMonthlyAmount)!==e.amount/100)return!0
|
|
2133
2136
|
if(null!=t&&t.amount&&parseFloat(this.stripeYearlyAmount)!==t.amount/100)return!0}return!1}setup(){this.fetchProducts.perform(),this.updatePortalPreview()}leaveRoute(e){(this.settings.get("hasDirtyAttributes")||this.hasChangedPrices)&&(e.abort(),this.leaveSettingsTransition=e,this.showLeaveRouteModal=!0)}async confirmLeave(){this.settings.rollbackAttributes(),this.resetPrices(),this.leaveSettingsTransition.retry()}cancelLeave(){this.showLeaveRouteModal=!1,this.leaveSettingsTransition=null}async membersSubscriptionAccessChanged(){var e
|
|
@@ -2155,7 +2158,7 @@ return await this.product.save()}}resetPrices(){const e=this.product.get("monthl
|
|
|
2155
2158
|
this.stripeMonthlyAmount=e?e.amount/100:5,this.stripeYearlyAmount=t?t.amount/100:50}reset(){this.showLeaveRouteModal=!1,this.showLeavePortalModal=!1,this.showPortalSettings=!1}_validateSignupRedirect(e,t){const n=this.config.get("blogUrl")
|
|
2156
2159
|
if(this.settings.get("errors").remove(t),this.settings.get("hasValidated").removeObject(t),null===e)return this.settings.get("errors").add(t,"Please enter a valid URL"),this.settings.get("hasValidated").pushObject(t),!1
|
|
2157
2160
|
if(void 0!==e)if(e.href.startsWith(n)){const r=e.href.replace(n,"")
|
|
2158
|
-
this.settings.set(t,r)}else this.settings.set(t,e.href)}},J=we(Z.prototype,"config",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),X=we(Z.prototype,"feature",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Q=we(Z.prototype,"membersUtils",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ee=we(Z.prototype,"settings",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),te=we(Z.prototype,"store",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ne=we(Z.prototype,"session",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),re=we(Z.prototype,"showLeavePortalModal",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),ie=we(Z.prototype,"showLeaveRouteModal",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),ae=we(Z.prototype,"showPortalSettings",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),se=we(Z.prototype,"showStripeConnect",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),oe=we(Z.prototype,"showProductModal",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),le=we(Z.prototype,"product",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),ue=we(Z.prototype,"products",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),de=we(Z.prototype,"productModel",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),ce=we(Z.prototype,"paidSignupRedirect",[v],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),me=we(Z.prototype,"freeSignupRedirect",[y],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),pe=we(Z.prototype,"stripeMonthlyAmount",[w],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 5}}),he=we(Z.prototype,"stripeYearlyAmount",[E],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 50}}),ge=we(Z.prototype,"currency",[k],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"usd"}}),be=we(Z.prototype,"stripePlanError",[P],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),fe=we(Z.prototype,"portalPreviewUrl",[_],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),we(Z.prototype,"setup",[j],Object.getOwnPropertyDescriptor(Z.prototype,"setup"),Z.prototype),we(Z.prototype,"confirmLeave",[x],Object.getOwnPropertyDescriptor(Z.prototype,"confirmLeave"),Z.prototype),we(Z.prototype,"cancelLeave",[O],Object.getOwnPropertyDescriptor(Z.prototype,"cancelLeave"),Z.prototype),we(Z.prototype,"membersSubscriptionAccessChanged",[T],Object.getOwnPropertyDescriptor(Z.prototype,"membersSubscriptionAccessChanged"),Z.prototype),we(Z.prototype,"setStripePlansCurrency",[S],Object.getOwnPropertyDescriptor(Z.prototype,"setStripePlansCurrency"),Z.prototype),we(Z.prototype,"setPaidSignupRedirect",[M],Object.getOwnPropertyDescriptor(Z.prototype,"setPaidSignupRedirect"),Z.prototype),we(Z.prototype,"setFreeSignupRedirect",[C],Object.getOwnPropertyDescriptor(Z.prototype,"setFreeSignupRedirect"),Z.prototype),we(Z.prototype,"validatePaidSignupRedirect",[
|
|
2161
|
+
this.settings.set(t,r)}else this.settings.set(t,e.href)}},J=we(Z.prototype,"config",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),X=we(Z.prototype,"feature",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Q=we(Z.prototype,"membersUtils",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ee=we(Z.prototype,"settings",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),te=we(Z.prototype,"store",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ne=we(Z.prototype,"session",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),re=we(Z.prototype,"showLeavePortalModal",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),ie=we(Z.prototype,"showLeaveRouteModal",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),ae=we(Z.prototype,"showPortalSettings",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),se=we(Z.prototype,"showStripeConnect",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),oe=we(Z.prototype,"showProductModal",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),le=we(Z.prototype,"product",[g],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),ue=we(Z.prototype,"products",[b],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),de=we(Z.prototype,"productModel",[f],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),ce=we(Z.prototype,"paidSignupRedirect",[v],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),me=we(Z.prototype,"freeSignupRedirect",[y],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),pe=we(Z.prototype,"stripeMonthlyAmount",[w],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 5}}),he=we(Z.prototype,"stripeYearlyAmount",[E],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 50}}),ge=we(Z.prototype,"currency",[k],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"usd"}}),be=we(Z.prototype,"stripePlanError",[P],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),fe=we(Z.prototype,"portalPreviewUrl",[_],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),we(Z.prototype,"setup",[j],Object.getOwnPropertyDescriptor(Z.prototype,"setup"),Z.prototype),we(Z.prototype,"confirmLeave",[x],Object.getOwnPropertyDescriptor(Z.prototype,"confirmLeave"),Z.prototype),we(Z.prototype,"cancelLeave",[O],Object.getOwnPropertyDescriptor(Z.prototype,"cancelLeave"),Z.prototype),we(Z.prototype,"membersSubscriptionAccessChanged",[T],Object.getOwnPropertyDescriptor(Z.prototype,"membersSubscriptionAccessChanged"),Z.prototype),we(Z.prototype,"setStripePlansCurrency",[S],Object.getOwnPropertyDescriptor(Z.prototype,"setStripePlansCurrency"),Z.prototype),we(Z.prototype,"setPaidSignupRedirect",[M],Object.getOwnPropertyDescriptor(Z.prototype,"setPaidSignupRedirect"),Z.prototype),we(Z.prototype,"setFreeSignupRedirect",[C],Object.getOwnPropertyDescriptor(Z.prototype,"setFreeSignupRedirect"),Z.prototype),we(Z.prototype,"validatePaidSignupRedirect",[z],Object.getOwnPropertyDescriptor(Z.prototype,"validatePaidSignupRedirect"),Z.prototype),we(Z.prototype,"validateFreeSignupRedirect",[A],Object.getOwnPropertyDescriptor(Z.prototype,"validateFreeSignupRedirect"),Z.prototype),we(Z.prototype,"validateStripePlans",[D],Object.getOwnPropertyDescriptor(Z.prototype,"validateStripePlans"),Z.prototype),we(Z.prototype,"openStripeConnect",[I],Object.getOwnPropertyDescriptor(Z.prototype,"openStripeConnect"),Z.prototype),we(Z.prototype,"closeStripeConnect",[U],Object.getOwnPropertyDescriptor(Z.prototype,"closeStripeConnect"),Z.prototype),we(Z.prototype,"openEditProduct",[L],Object.getOwnPropertyDescriptor(Z.prototype,"openEditProduct"),Z.prototype),we(Z.prototype,"openNewProduct",[R],Object.getOwnPropertyDescriptor(Z.prototype,"openNewProduct"),Z.prototype),we(Z.prototype,"closeProductModal",[N],Object.getOwnPropertyDescriptor(Z.prototype,"closeProductModal"),Z.prototype),we(Z.prototype,"openPortalSettings",[F],Object.getOwnPropertyDescriptor(Z.prototype,"openPortalSettings"),Z.prototype),we(Z.prototype,"closePortalSettings",[B],Object.getOwnPropertyDescriptor(Z.prototype,"closePortalSettings"),Z.prototype),we(Z.prototype,"confirmClosePortalSettings",[V],Object.getOwnPropertyDescriptor(Z.prototype,"confirmClosePortalSettings"),Z.prototype),we(Z.prototype,"cancelClosePortalSettings",[H],Object.getOwnPropertyDescriptor(Z.prototype,"cancelClosePortalSettings"),Z.prototype),we(Z.prototype,"updatePortalPreview",[q],Object.getOwnPropertyDescriptor(Z.prototype,"updatePortalPreview"),Z.prototype),we(Z.prototype,"portalPreviewInserted",[$],Object.getOwnPropertyDescriptor(Z.prototype,"portalPreviewInserted"),Z.prototype),we(Z.prototype,"portalPreviewDestroyed",[K],Object.getOwnPropertyDescriptor(Z.prototype,"portalPreviewDestroyed"),Z.prototype),we(Z.prototype,"confirmProductSave",[W],Object.getOwnPropertyDescriptor(Z.prototype,"confirmProductSave"),Z.prototype),we(Z.prototype,"switchFromNoneTask",[r.task],Object.getOwnPropertyDescriptor(Z.prototype,"switchFromNoneTask"),Z.prototype),we(Z.prototype,"fetchProducts",[Y],Object.getOwnPropertyDescriptor(Z.prototype,"fetchProducts"),Z.prototype),we(Z.prototype,"saveSettingsTask",[G],Object.getOwnPropertyDescriptor(Z.prototype,"saveSettingsTask"),Z.prototype),Z)
|
|
2159
2162
|
e.default=ke})),define("ghost-admin/controllers/settings/navigation",["exports","jquery","ghost-admin/models/navigation-item","ember-concurrency"],(function(e,t,n,r){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2160
2163
|
var i=Ember.Controller.extend({config:Ember.inject.service(),ghostPaths:Ember.inject.service(),notifications:Ember.inject.service(),session:Ember.inject.service(),settings:Ember.inject.service(),dirtyAttributes:!1,newNavItem:null,newSecondaryNavItem:null,init(){this._super(...arguments),this.set("newNavItem",n.default.create({isNew:!0})),this.set("newSecondaryNavItem",n.default.create({isNew:!0,isSecondary:!0}))},blogUrl:Ember.computed("config.blogUrl",(function(){let e=this.get("config.blogUrl")
|
|
2161
2164
|
return"/"!==e.slice(-1)?`${e}/`:e})),actions:{save(){this.save.perform()},addNavItem(e){return""===e.get("url")&&e.set("url","/"),e.validate().then((()=>{this.addNewNavItem(e)}))},deleteNavItem(e){if(!e)return;(e.isSecondary?this.get("settings.secondaryNavigation"):this.get("settings.navigation")).removeObject(e),this.set("dirtyAttributes",!0)},updateLabel(e,t){t&&t.get("label")!==e&&(t.set("label",e),this.set("dirtyAttributes",!0))},updateUrl(e,t){if(t)return t.get("url")!==e&&(t.set("url",e),this.set("dirtyAttributes",!0)),e},toggleLeaveSettingsModal(e){let t=this.leaveSettingsTransition
|
|
@@ -2167,10 +2170,10 @@ this.notifications.showAlert("Sorry, there was an error in the application. Plea
|
|
|
2167
2170
|
this.newNavItem.get("isBlank")||r.pushObject(this.send("addNavItem",this.newNavItem)),this.newSecondaryNavItem.get("isBlank")||r.pushObject(this.send("addNavItem",this.newSecondaryNavItem)),e.map((e=>{r.pushObject(e.validate())})),t.map((e=>{r.pushObject(e.validate())}))
|
|
2168
2171
|
try{return yield Ember.RSVP.all(r),this.set("dirtyAttributes",!1),yield this.settings.save()}catch(i){if(i)throw n.showAPIError(i),i}})),addNewNavItem(e){let r=e.isSecondary?this.get("settings.secondaryNavigation"):this.get("settings.navigation")
|
|
2169
2172
|
e.set("isNew",!1),r.pushObject(e),this.set("dirtyAttributes",!0),e.isSecondary?(this.set("newSecondaryNavItem",n.default.create({isNew:!0,isSecondary:!0})),(0,t.default)(".gh-blognav-container:last .gh-blognav-line:last input:first").focus()):(this.set("newNavItem",n.default.create({isNew:!0})),(0,t.default)(".gh-blognav-container:first .gh-blognav-line:last input:first").focus())}})
|
|
2170
|
-
e.default=i})),define("ghost-admin/controllers/settings/product",["exports","ember-concurrency-decorators"],(function(e,t){var n,r,i,a,s,o,l,u,d,c,m,p,h,g,b,f,v,y,w,E,k,P,_,j,x,O,T,S,M,C,A
|
|
2173
|
+
e.default=i})),define("ghost-admin/controllers/settings/product",["exports","ember-concurrency-decorators"],(function(e,t){var n,r,i,a,s,o,l,u,d,c,m,p,h,g,b,f,v,y,w,E,k,P,_,j,x,O,T,S,M,C,z,A
|
|
2171
2174
|
function D(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function I(e,t,n,r,i){var a={}
|
|
2172
2175
|
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2173
|
-
let
|
|
2176
|
+
let U=(n=Ember.inject.service,r=Ember.inject.service,i=Ember.inject.service,a=Ember._tracked,s=Ember._tracked,o=Ember._tracked,l=Ember._tracked,u=Ember._tracked,d=Ember._action,c=Ember._action,m=Ember._action,p=Ember._action,h=Ember._action,g=Ember._action,b=Ember._action,f=Ember._action,v=Ember._action,y=Ember._action,w=Ember._action,E=Ember._action,k=Ember._action,P=Ember._action,_=(0,t.task)({restartable:!0}),j=class extends Ember.Controller{constructor(){super(...arguments),D(this,"config",x,this),D(this,"membersUtils",O,this),D(this,"settings",T,this),D(this,"showLeaveSettingsModal",S,this),D(this,"showPriceModal",M,this),D(this,"priceModel",C,this),D(this,"showUnsavedChangesModal",z,this),D(this,"paidSignupRedirect",A,this),this.siteUrl=this.config.get("blogUrl")}get product(){return this.model}get stripePrices(){return(this.model.stripePrices||[]).map((e=>({...e,amount:e.amount/100}))).sort(((e,t)=>e.amount-t.amount)).sort(((e,t)=>e.currency.localeCompare(t.currency,void 0,{ignorePunctuation:!0}))).sort(((e,t)=>e.active===t.active?0:e.active?-1:1))}get noOfPrices(){return(this.product.stripePrices||[]).length}toggleUnsavedChangesModal(e){let t=this.leaveScreenTransition
|
|
2174
2177
|
if(!e&&this.showUnsavedChangesModal)return this.leaveScreenTransition=null,void(this.showUnsavedChangesModal=!1)
|
|
2175
2178
|
if(!t||e.targetName===t.targetName){if(this.leaveScreenTransition=e,this.saveTask.isRunning)return this.saveTask.last.then((()=>{e.retry()}))
|
|
2176
2179
|
this.showUnsavedChangesModal=!0}}leaveScreen(){return this.product.rollbackAttributes(),this.leaveScreenTransition.retry()}async openEditPrice(e){this.priceModel=e,this.showPriceModal=!0}async openNewPrice(){this.priceModel=null,this.showPriceModal=!0}async archivePrice(e){e.active=!1,e.amount=100*e.amount,this.send("savePrice",e)}async activatePrice(e){e.active=!0,e.amount=100*e.amount,this.send("savePrice",e)}openStripeConnect(){alert("Update to use stripe-connect modal (see memberships screen)")}async confirmLeave(){this.settings.rollbackAttributes(),this.showLeaveSettingsModal=!1,this.leaveSettingsTransition.retry()}cancelLeave(){this.showLeaveSettingsModal=!1,this.leaveSettingsTransition=null}save(){return this.saveTask.perform()}savePrice(e){const t=this.product.stripePrices.map((t=>t.id===e.id?Ember.Object.create({...e,active:!!e.active}):{...t,active:!!t.active}))
|
|
@@ -2180,8 +2183,8 @@ yield this.settings.save()
|
|
|
2180
2183
|
const e=yield this.product.save()
|
|
2181
2184
|
return this.showPriceModal&&this.closePriceModal(),e}_validateSignupRedirect(e,t){if(this.settings.get("errors").remove(t),this.settings.get("hasValidated").removeObject(t),null===e)return this.settings.get("errors").add(t,"Please enter a valid URL"),this.settings.get("hasValidated").pushObject(t),!1
|
|
2182
2185
|
if(void 0!==e)if(e.href.startsWith(this.siteUrl)){const n=e.href.replace(this.siteUrl,"")
|
|
2183
|
-
this.settings.set(t,n)}else this.settings.set(t,e.href)}},x=I(j.prototype,"config",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=I(j.prototype,"membersUtils",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=I(j.prototype,"settings",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=I(j.prototype,"showLeaveSettingsModal",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),M=I(j.prototype,"showPriceModal",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),C=I(j.prototype,"priceModel",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),
|
|
2184
|
-
e.default=
|
|
2186
|
+
this.settings.set(t,n)}else this.settings.set(t,e.href)}},x=I(j.prototype,"config",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=I(j.prototype,"membersUtils",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),T=I(j.prototype,"settings",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),S=I(j.prototype,"showLeaveSettingsModal",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),M=I(j.prototype,"showPriceModal",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),C=I(j.prototype,"priceModel",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),z=I(j.prototype,"showUnsavedChangesModal",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),A=I(j.prototype,"paidSignupRedirect",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),I(j.prototype,"toggleUnsavedChangesModal",[d],Object.getOwnPropertyDescriptor(j.prototype,"toggleUnsavedChangesModal"),j.prototype),I(j.prototype,"leaveScreen",[c],Object.getOwnPropertyDescriptor(j.prototype,"leaveScreen"),j.prototype),I(j.prototype,"openEditPrice",[m],Object.getOwnPropertyDescriptor(j.prototype,"openEditPrice"),j.prototype),I(j.prototype,"openNewPrice",[p],Object.getOwnPropertyDescriptor(j.prototype,"openNewPrice"),j.prototype),I(j.prototype,"archivePrice",[h],Object.getOwnPropertyDescriptor(j.prototype,"archivePrice"),j.prototype),I(j.prototype,"activatePrice",[g],Object.getOwnPropertyDescriptor(j.prototype,"activatePrice"),j.prototype),I(j.prototype,"openStripeConnect",[b],Object.getOwnPropertyDescriptor(j.prototype,"openStripeConnect"),j.prototype),I(j.prototype,"confirmLeave",[f],Object.getOwnPropertyDescriptor(j.prototype,"confirmLeave"),j.prototype),I(j.prototype,"cancelLeave",[v],Object.getOwnPropertyDescriptor(j.prototype,"cancelLeave"),j.prototype),I(j.prototype,"save",[y],Object.getOwnPropertyDescriptor(j.prototype,"save"),j.prototype),I(j.prototype,"savePrice",[w],Object.getOwnPropertyDescriptor(j.prototype,"savePrice"),j.prototype),I(j.prototype,"closePriceModal",[E],Object.getOwnPropertyDescriptor(j.prototype,"closePriceModal"),j.prototype),I(j.prototype,"setPaidSignupRedirect",[k],Object.getOwnPropertyDescriptor(j.prototype,"setPaidSignupRedirect"),j.prototype),I(j.prototype,"validatePaidSignupRedirect",[P],Object.getOwnPropertyDescriptor(j.prototype,"validatePaidSignupRedirect"),j.prototype),I(j.prototype,"saveTask",[_],Object.getOwnPropertyDescriptor(j.prototype,"saveTask"),j.prototype),j)
|
|
2187
|
+
e.default=U})),define("ghost-admin/controllers/settings/products",["exports"],(function(e){var t,n,r,i,a,s,o,l,u,d
|
|
2185
2188
|
function c(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function m(e,t,n,r,i){var a={}
|
|
2186
2189
|
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2187
2190
|
let p=(t=Ember.inject.service,n=Ember.inject.service,r=Ember._tracked,i=Ember._tracked,a=Ember._action,s=class extends Ember.Controller{constructor(){super(...arguments),c(this,"settings",o,this),c(this,"config",l,this),c(this,"iconStyle",u,this),c(this,"showFreeMembershipModal",d,this),this.iconStyle=this.setIconStyle()}get products(){return this.model.sortBy("name")}setIconStyle(){let e=this.config.get("icon")
|
|
@@ -2506,7 +2509,7 @@ return e.indexOf("?")>0?e.replace(/([^/])\?/,"$1/?"):e.replace(/\/?$/,"/")}})
|
|
|
2506
2509
|
var n={name:"registerTrailingHashLocation",initialize(e){e.register("location:trailing-hash",t)}}
|
|
2507
2510
|
e.default=n})),define("ghost-admin/initializers/upgrade-status",["exports"],(function(e){function t(e){e.inject("route","upgradeStatus","service:upgrade-status")}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.initialize=t
|
|
2508
2511
|
var n={name:"upgrade-status",initialize:t}
|
|
2509
|
-
e.default=n})),define("ghost-admin/initializers/
|
|
2512
|
+
e.default=n})),define("ghost-admin/initializers/viewport-config",["exports","ember-in-viewport/initializers/viewport-config"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"initialize",{enumerable:!0,get:function(){return t.initialize}})})),define("ghost-admin/instance-initializers/ella-sparse-array",["exports","ember-ella-sparse/instance-initializers/ella-sparse-array"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"initialize",{enumerable:!0,get:function(){return t.initialize}})})),define("ghost-admin/instance-initializers/ember-data",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2510
2513
|
var t={name:"ember-data",initialize(){}}
|
|
2511
2514
|
e.default=t})),define("ghost-admin/instance-initializers/ember-simple-auth",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2512
2515
|
var t={name:"ember-simple-auth",initialize(){}}
|
|
@@ -2516,8 +2519,8 @@ function r(){let e=arguments[1]||arguments[0],t=arguments[1]?arguments[0]:e.cont
|
|
|
2516
2519
|
if(Ember.View){(t.lookupFactory?t.lookupFactory("view:application"):e.resolveRegistration("view:application")).reopen({didInsertElement(){this._super(...arguments)
|
|
2517
2520
|
let e=n.loadingIndicatorClass||"ember-load-indicator"
|
|
2518
2521
|
document.querySelectorAll(`.${e}`).forEach((e=>e.remove()))}})}}var i={name:"hide-loading-screen-instance",initialize:r}
|
|
2519
|
-
e.default=i})),define("ghost-admin/instance-initializers/sentry-performance",["exports","@sentry/ember/instance-initializers/sentry-performance"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"initialize",{enumerable:!0,get:function(){return t.initialize}})}))
|
|
2520
|
-
define("ghost-admin/
|
|
2522
|
+
e.default=i})),define("ghost-admin/instance-initializers/sentry-performance",["exports","@sentry/ember/instance-initializers/sentry-performance"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"initialize",{enumerable:!0,get:function(){return t.initialize}})})),define("ghost-admin/instance-initializers/user-agent",["exports","ember-useragent/instance-initializers/user-agent"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"initialize",{enumerable:!0,get:function(){return t.initialize}})}))
|
|
2523
|
+
define("ghost-admin/mixins/body-event-listener",["exports","jquery"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2521
2524
|
var n=Ember.Mixin.create({bodyElementSelector:"html",bodyClick:function(){return this},init(){return this._super(...arguments),Ember.run.next(this,this._setupDocumentHandlers)},willDestroy(){return this._super(...arguments),this._removeDocumentHandlers()},_setupDocumentHandlers(){if(!this._clickHandler)return this._clickHandler=e=>this.bodyClick(e),(0,t.default)(this.bodyElementSelector).on("click",this._clickHandler)},_removeDocumentHandlers(){(0,t.default)(this.bodyElementSelector).off("click",this._clickHandler),this._clickHandler=null},click:e=>e.stopPropagation()})
|
|
2522
2525
|
e.default=n})),define("ghost-admin/mixins/current-user-settings",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2523
2526
|
var t=Ember.Mixin.create({transitionAuthor(e){if(e.isAuthorOrContributor)return this.transitionTo("staff.user",e)},transitionEditor(e){if(e.isEditor)return this.transitionTo("staff")}})
|
|
@@ -2617,12 +2620,12 @@ return e.get("isNew")||!s?-1:t.get("isNew")||!o?1:(n=Ember.compare(e.get("id"),t
|
|
|
2617
2620
|
return n||r?!n&&r?-1:!r&&n?1:"scheduled"!==n||"draft"!==r&&"published"!==r?"scheduled"!==r||"draft"!==n&&"published"!==n?Ember.compare(n.valueOf(),r.valueOf()):1:-1:0}(e,t),a=Ember.compare(s.valueOf(),o.valueOf()),r=function(e,t){let n=e.get("publishedAtUTC"),r=t.get("publishedAtUTC")
|
|
2618
2621
|
return n||r?!n&&r?-1:!r&&n?1:Ember.compare(n.valueOf(),r.valueOf()):0}(e,t),0===i?0===r?0===a?-1*n:-1*a:-1*r:i)},beforeSave(){let e=this.publishedAtBlogTZ,t=e?e.utc():null
|
|
2619
2622
|
this.set("publishedAtUTC",t)}})
|
|
2620
|
-
e.default=o}))
|
|
2621
|
-
define("ghost-admin/models/product-benefit-item",["exports","ghost-admin/mixins/validation-engine"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2623
|
+
e.default=o})),define("ghost-admin/models/product-benefit-item",["exports","ghost-admin/mixins/validation-engine"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2622
2624
|
var n=Ember.Object.extend(t.default,{name:"",isNew:!1,validationType:"productBenefitItem",isComplete:Ember.computed("name",(function(){let{name:e}=this
|
|
2623
2625
|
return!Ember.isBlank(e)})),isBlank:Ember.computed("name",(function(){let{name:e}=this
|
|
2624
2626
|
return Ember.isBlank(e)}))})
|
|
2625
|
-
e.default=n}))
|
|
2627
|
+
e.default=n}))
|
|
2628
|
+
define("ghost-admin/models/product",["exports","@ember-data/model","ghost-admin/mixins/validation-engine"],(function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2626
2629
|
var r=t.default.extend(n.default,{validationType:"product",name:(0,t.attr)("string"),description:(0,t.attr)("string"),slug:(0,t.attr)("string"),monthlyPrice:(0,t.attr)("stripe-price"),yearlyPrice:(0,t.attr)("stripe-price"),benefits:(0,t.attr)("product-benefits")})
|
|
2627
2630
|
e.default=r})),define("ghost-admin/models/role",["exports","@ember-data/model"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2628
2631
|
var n=t.default.extend({name:(0,t.attr)("string"),description:(0,t.attr)("string"),createdAtUTC:(0,t.attr)("moment-utc"),updatedAtUTC:(0,t.attr)("moment-utc"),createdBy:(0,t.attr)("number"),updatedBy:(0,t.attr)("number"),lowerCaseName:Ember.computed("name",(function(){return(this.name||"").toLocaleLowerCase()}))})
|
|
@@ -2691,10 +2694,10 @@ return this.replaceWith("error404",{path:e,status:404})}let i={id:r}
|
|
|
2691
2694
|
return this.store.query(n,i).then((e=>e.get("firstObject")))},afterModel(e){this._super(...arguments)
|
|
2692
2695
|
const t=this.session.user,r=(0,n.pluralize)(e.constructor.modelName)
|
|
2693
2696
|
return t.isAuthorOrContributor&&!e.isAuthoredByUser(t)||t.isContributor&&!e.isDraft?this.replaceWith(r):void 0},serialize:e=>({type:e.constructor.modelName,post_id:e.id}),setupController(e,t){this.controllerFor("editor").setPost(t)}})
|
|
2694
|
-
e.default=r}))
|
|
2695
|
-
define("ghost-admin/routes/editor/index",["exports","ghost-admin/routes/authenticated"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2697
|
+
e.default=r})),define("ghost-admin/routes/editor/index",["exports","ghost-admin/routes/authenticated"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2696
2698
|
var n=t.default.extend({beforeModel(){this._super(...arguments),this.replaceWith("editor.new","post")}})
|
|
2697
|
-
e.default=n}))
|
|
2699
|
+
e.default=n}))
|
|
2700
|
+
define("ghost-admin/routes/editor/new",["exports","ghost-admin/routes/authenticated"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2698
2701
|
var n=t.default.extend({model(e,t){let{type:n}=e
|
|
2699
2702
|
if(!["post","page"].includes(n)){let e=t.intent.url.replace(/^\//,"")
|
|
2700
2703
|
return this.replaceWith("error404",{path:e,status:404})}return this.store.createRecord(n,{authors:[this.session.user]})},setupController(e,t){this.controllerFor("editor").setPost(t)},buildRouteInfoMetadata:()=>({mainClasses:["editor-new"]})})
|
|
@@ -2796,8 +2799,7 @@ function s(e,t,n,r,i){var a={}
|
|
|
2796
2799
|
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2797
2800
|
let o=(n=Ember.inject.service,r=Ember._action,i=class extends t.default{constructor(...e){var t,n,r,i
|
|
2798
2801
|
super(...e),t=this,n="store",i=this,(r=a)&&Object.defineProperty(t,n,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(i):void 0})}model(){return this.store.findAll("theme")}willTransition(){this.controllerFor("settings.design.change-theme").reset()}},a=s(i.prototype,"store",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s(i.prototype,"willTransition",[r],Object.getOwnPropertyDescriptor(i.prototype,"willTransition"),i.prototype),i)
|
|
2799
|
-
e.default=o}))
|
|
2800
|
-
define("ghost-admin/routes/settings/design/change-theme/view",["exports"],(function(e){var t,n,r
|
|
2802
|
+
e.default=o})),define("ghost-admin/routes/settings/design/change-theme/view",["exports"],(function(e){var t,n,r
|
|
2801
2803
|
Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2802
2804
|
let i=(t=Ember.inject.service,n=class extends Ember.Route{constructor(...e){var t,n,i,a
|
|
2803
2805
|
super(...e),t=this,n="modals",a=this,(i=r)&&Object.defineProperty(t,n,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(a):void 0}),function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(this,"themeModal",null)}model(e,t){const n=this.controllerFor("settings.design.change-theme").officialThemes.find((t=>t.name===e.theme_name))
|
|
@@ -2807,7 +2809,8 @@ return this.replaceWith("error404",{path:r,status:404})}setupController(e,t){var
|
|
|
2807
2809
|
null===(n=this.themeModal)||void 0===n||n.close(),this.themeModal=this.modals.open("modals/design/view-theme",{theme:t})}deactivate(){var e
|
|
2808
2810
|
null===(e=this.themeModal)||void 0===e||e.close()}},a=n.prototype,s="modals",o=[t],l={configurable:!0,enumerable:!0,writable:!0,initializer:null},d={},Object.keys(l).forEach((function(e){d[e]=l[e]})),d.enumerable=!!d.enumerable,d.configurable=!!d.configurable,("value"in d||d.initializer)&&(d.writable=!0),d=o.slice().reverse().reduce((function(e,t){return t(a,s,e)||e}),d),u&&void 0!==d.initializer&&(d.value=d.initializer?d.initializer.call(u):void 0,d.initializer=void 0),void 0===d.initializer&&(Object.defineProperty(a,s,d),d=null),r=d,n)
|
|
2809
2811
|
var a,s,o,l,u,d
|
|
2810
|
-
e.default=i}))
|
|
2812
|
+
e.default=i}))
|
|
2813
|
+
define("ghost-admin/routes/settings/design/index",["exports","ghost-admin/routes/authenticated"],(function(e,t){var n,r,i,a,s,o,l,u
|
|
2811
2814
|
function d(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(e,t,n,r,i){var a={}
|
|
2812
2815
|
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2813
2816
|
let p=(n=Ember.inject.service,r=Ember.inject.service,i=Ember.inject.service,a=Ember._action,s=class extends t.default{constructor(...e){super(...e),d(this,"customThemeSettings",o,this),d(this,"modals",l,this),d(this,"settings",u,this),c(this,"confirmModal",null),c(this,"hasConfirmed",!1)}willTransition(e){if(this.hasConfirmed)return!0
|
|
@@ -2901,8 +2904,7 @@ var a=n.default.extend({model:()=>i(),deactivate(){let e=this.controllerFor("sig
|
|
|
2901
2904
|
this._super(...arguments),e.set("signin",i())},buildRouteInfoMetadata(){return Object.assign(this._super(),{titleToken:"Sign In"})}})
|
|
2902
2905
|
e.default=a})),define("ghost-admin/routes/signout",["exports","ghost-admin/routes/authenticated"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2903
2906
|
var n=t.default.extend({notifications:Ember.inject.service(),afterModel(){this.notifications.clearAll(),this.session.invalidate()},buildRouteInfoMetadata:()=>({titleToken:"Sign Out"})})
|
|
2904
|
-
e.default=n}))
|
|
2905
|
-
define("ghost-admin/routes/signup",["exports","ember-data","ghost-admin/routes/unauthenticated","ghost-admin/mixins/validation-engine"],(function(e,t,n,r){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2907
|
+
e.default=n})),define("ghost-admin/routes/signup",["exports","ember-data","ghost-admin/routes/unauthenticated","ghost-admin/mixins/validation-engine"],(function(e,t,n,r){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2906
2908
|
const{Promise:i}=Ember.RSVP,{Errors:a}=t.default
|
|
2907
2909
|
var s=n.default.extend({ghostPaths:Ember.inject.service(),notifications:Ember.inject.service(),session:Ember.inject.service(),ajax:Ember.inject.service(),config:Ember.inject.service(),beforeModel(){this.get("session.isAuthenticated")&&this.notifications.showAlert("You need to sign out to register as a new user.",{type:"warn",delayed:!0,key:"signup.create.already-authenticated"}),this._super(...arguments)},model(e){let t,n,s=Ember.Object.extend(r.default,{validationType:"signup"}).create(),o=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2}|[A-Za-z0-9_-]{3})?$/
|
|
2908
2910
|
return new i((r=>{if(!o.test(e.token))return this.notifications.showAlert("Invalid token.",{type:"error",delayed:!0,key:"signup.create.invalid-token"}),r(this.transitionTo("signin"))
|
|
@@ -2910,10 +2912,10 @@ n=atob(e.token),t=n.split("|")[1],s.set("email",""),s.set("token",e.token),s.set
|
|
|
2910
2912
|
let i=this.get("ghostPaths.url").api("authentication","invitation")
|
|
2911
2913
|
return this.ajax.request(i,{dataType:"json",data:{email:t}}).then((e=>{if(e&&e.invitation&&!1===e.invitation[0].valid)return this.notifications.showAlert("The invitation does not exist or is no longer valid.",{type:"warn",delayed:!0,key:"signup.create.invalid-invitation"}),r(this.transitionTo("signin"))
|
|
2912
2914
|
s.set("blogTitle",this.get("config.blogTitle")),r(s)})).catch((()=>{r(s)}))}))},deactivate(){this._super(...arguments),this.controllerFor("signup").get("signupDetails").setProperties({email:"",password:"",token:""})}})
|
|
2913
|
-
e.default=s}))
|
|
2914
|
-
|
|
2915
|
-
|
|
2916
|
-
e.default=
|
|
2915
|
+
e.default=s}))
|
|
2916
|
+
define("ghost-admin/routes/site",["exports","ghost-admin/routes/authenticated"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2917
|
+
var n=t.default.extend({config:Ember.inject.service(),settings:Ember.inject.service(),ui:Ember.inject.service(),_hasLoggedIn:!1,model:()=>(new Date).valueOf(),buildRouteInfoMetadata:()=>({titleToken:"Site"})})
|
|
2918
|
+
e.default=n})),define("ghost-admin/routes/staff/index",["exports","ghost-admin/routes/authenticated","ghost-admin/mixins/current-user-settings"],(function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2917
2919
|
var r=t.default.extend(n.default,{infinity:Ember.inject.service(),session:Ember.inject.service(),model(){return this.session.user},setupController(e){this._super(...arguments),e.backgroundUpdate.perform()},actions:{reload(){this.controller.backgroundUpdate.perform()}},buildRouteInfoMetadata:()=>({titleToken:"Staff"})})
|
|
2918
2920
|
e.default=r})),define("ghost-admin/routes/staff/user",["exports","ghost-admin/routes/authenticated","ghost-admin/mixins/current-user-settings"],(function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2919
2921
|
var r=t.default.extend(n.default,{model(e){return this.store.queryRecord("user",{slug:e.user_slug,include:"count.posts"})},afterModel(e){this._super(...arguments)
|
|
@@ -2995,10 +2997,10 @@ e.default=n})),define("ghost-admin/serializers/user",["exports","ghost-admin/ser
|
|
|
2995
2997
|
var i=t.default.extend(n.EmbeddedRecordsMixin,{attrs:{roles:{embedded:"always"},lastLoginUTC:{key:"last_seen"},createdAtUTC:{key:"created_at"},updatedAtUTC:{key:"updated_at"}},extractSingle(e,t,n){let i=this.keyForAttribute(t.modelName),a=(0,r.pluralize)(t.modelName)
|
|
2996
2998
|
return n[i]=n[a][0],delete n[a],this._super(...arguments)},normalizeSingleResponse(e,t,n){let i=this.keyForAttribute(t.modelName),a=(0,r.pluralize)(t.modelName)
|
|
2997
2999
|
return n[a]&&(n[i]=n[a][0],delete n[a]),this._super(...arguments)}})
|
|
2998
|
-
e.default=i}))
|
|
2999
|
-
define("ghost-admin/serializers/webhook",["exports","ghost-admin/serializers/application"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
3000
|
+
e.default=i})),define("ghost-admin/serializers/webhook",["exports","ghost-admin/serializers/application"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
3000
3001
|
var n=t.default.extend({attrs:{lastTriggeredAtUTC:{key:"last_triggered_at"},createdAtUTC:{key:"created_at"},updatedAtUTC:{key:"updated_at"}}})
|
|
3001
|
-
e.default=n}))
|
|
3002
|
+
e.default=n}))
|
|
3003
|
+
define("ghost-admin/services/-ensure-registered",["exports","@embroider/util/services/ensure-registered"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/services/ajax",["exports","ember-ajax/services/ajax","ghost-admin/config/environment","moment","ember-ajax/errors","@sentry/browser","ember-concurrency"],(function(e,t,n,r,i,a,s){Object.defineProperty(e,"__esModule",{value:!0}),e.default=e.VersionMismatchError=e.UnsupportedMediaTypeError=e.ThemeValidationError=e.ServerUnreachableError=e.RequestEntityTooLargeError=e.MaintenanceError=e.HostLimitError=e.EmailError=e.AcceptedResponse=void 0,e.isAcceptedResponse=j,e.isEmailError=P,e.isHostLimitError=E,e.isMaintenanceError=f,e.isRequestEntityTooLargeError=p,e.isServerUnreachableError=c,e.isThemeValidationError=y,e.isUnsupportedMediaTypeError=g,e.isVersionMismatchError=u
|
|
3002
3004
|
const o=/\/ghost\/api\//
|
|
3003
3005
|
class l extends i.AjaxError{constructor(e){super(e,"API server is running a newer version of Ghost, please upgrade.")}}function u(e,t){return(0,i.isAjaxError)(e)?e instanceof l:"VersionMismatchError"===Ember.get(t||{},"errors.firstObject.type")}e.VersionMismatchError=l
|
|
3004
3006
|
class d extends i.AjaxError{constructor(e){super(e,"Server was unreachable")}}function c(e){return(0,i.isAjaxError)(e)?e instanceof d:0===e||"0"===e}e.ServerUnreachableError=d
|
|
@@ -3034,10 +3036,11 @@ x.reopen({contentType:"application/json; charset=UTF-8"})
|
|
|
3034
3036
|
var O=x
|
|
3035
3037
|
e.default=O})),define("ghost-admin/services/billing",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
3036
3038
|
var t=Ember.Service.extend({router:Ember.inject.service(),config:Ember.inject.service(),ghostPaths:Ember.inject.service(),store:Ember.inject.service(),billingRouteRoot:"#/pro",billingWindowOpen:!1,subscription:null,previousRoute:null,action:null,ownerUser:null,init(){this._super(...arguments),this.config.get("hostSettings.billing.url")&&window.addEventListener("message",(e=>{e&&e.data&&e.data.route&&this.handleRouteChangeInIframe(e.data.route)}))},handleRouteChangeInIframe(e){if(this.get("billingWindowOpen")){let t=this.get("billingRouteRoot")
|
|
3037
|
-
"/"!==e&&(t+=e),window.location.hash!==t&&window.history.replaceState(window.history.state,"",t)}},getIframeURL(){
|
|
3039
|
+
"/"!==e&&(t+=e),window.location.hash!==t&&window.history.replaceState(window.history.state,"",t)}},getIframeURL(){this.getOwnerUser()
|
|
3040
|
+
let e=this.config.get("hostSettings.billing.url")
|
|
3038
3041
|
if(window.location.hash&&window.location.hash.includes(this.get("billingRouteRoot"))){let t=window.location.hash.replace(this.get("billingRouteRoot"),"")
|
|
3039
3042
|
t&&(e+=t)}return e},async getOwnerUser(){if(!this.get("ownerUser")){let e=this.store.peekAll("user").findBy("isOwnerOnly",!0)
|
|
3040
|
-
e||(await this.store.findAll("user"),e=this.store.peekAll("user").findBy("isOwnerOnly",!0)),this.set("ownerUser",e)}return this.get("ownerUser")},sendRouteUpdate(){const e=this.get("action")
|
|
3043
|
+
e||(await this.store.findAll("user",{reload:!0}),e=this.store.peekAll("user").findBy("isOwnerOnly",!0)),this.set("ownerUser",e)}return this.get("ownerUser")},sendRouteUpdate(){const e=this.get("action")
|
|
3041
3044
|
e&&("checkout"===e&&this.getBillingIframe().contentWindow.postMessage({query:"routeUpdate",response:this.get("checkoutRoute")},"*"),this.set("action",null))},toggleProWindow(e){this.get("billingWindowOpen")&&e&&!this.get("action")||(this.sendRouteUpdate(),this.set("billingWindowOpen",e))},openBillingWindow(e,t){this.getOwnerUser(),this.get("billingWindowOpen")||(this.set("previousRoute",e),window.location.hash=t||"/pro",this.sendRouteUpdate(),this.router.transitionTo(t||"/pro"))},getBillingIframe:()=>document.getElementById("billing-frame")})
|
|
3042
3045
|
e.default=t})),define("ghost-admin/services/clock",["exports","ghost-admin/config/environment","moment"],(function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
3043
3046
|
var r=Ember.Service.extend({second:null,minute:null,hour:null,init(){this._super(...arguments),this.tick()},tick(){let e=(0,n.default)().utc()
|
|
@@ -3094,13 +3097,21 @@ var t=Ember.Service.extend(Ember.Evented,{publish(){return this.trigger(...argum
|
|
|
3094
3097
|
e.default=t})),define("ghost-admin/services/feature",["exports","jquery"],(function(e,t){function n(e,t={}){let{user:n,onChange:r}=t,i=n?[`accessibility.${e}`]:[`config.${e}`,`labs.${e}`]
|
|
3095
3098
|
return Ember.computed.apply(Ember,i.concat({get(){let r=!1
|
|
3096
3099
|
return r=n?this.get(`accessibility.${e}`):this.get(`config.${e}`)?this.get(`config.${e}`):this.get(`labs.${e}`)||!1,t.developer&&(r=r&&this.get("config.enableDeveloperExperiments")),r},set(e,n){return this.update(e,n,t),r&&this.get(r).bind(this)(n),n}}))}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,e.feature=n
|
|
3097
|
-
var r=Ember.Service.extend({store:Ember.inject.service(),config:Ember.inject.service(),session:Ember.inject.service(),settings:Ember.inject.service(),notifications:Ember.inject.service(),lazyLoader:Ember.inject.service(),emailAnalytics:n("emailAnalytics"),nightShift:n("nightShift",{user:!0,onChange:"_setAdminTheme"}),launchComplete:n("launchComplete",{user:!0}),multipleProducts:n("multipleProducts"),offers:n("offers"
|
|
3100
|
+
var r=Ember.Service.extend({store:Ember.inject.service(),config:Ember.inject.service(),session:Ember.inject.service(),settings:Ember.inject.service(),notifications:Ember.inject.service(),lazyLoader:Ember.inject.service(),emailAnalytics:n("emailAnalytics"),nightShift:n("nightShift",{user:!0,onChange:"_setAdminTheme"}),launchComplete:n("launchComplete",{user:!0}),multipleProducts:n("multipleProducts"),offers:n("offers"),oauthLogin:n("oauthLogin",{developer:!0}),customThemeSettings:n("customThemeSettings"),membersActivity:n("membersActivity",{developer:!0}),_user:null,labs:Ember.computed("settings.labs",(function(){let e=this.get("settings.labs")
|
|
3098
3101
|
try{return JSON.parse(e)||{}}catch(t){return{}}})),accessibility:Ember.computed("_user.accessibility",(function(){let e=this.get("_user.accessibility")
|
|
3099
3102
|
try{return JSON.parse(e)||{}}catch(t){return{}}})),fetch(){return this.settings.fetch().then((()=>(this.set("_user",this.session.user),this._setAdminTheme().then((()=>!0)))))},update(e,t,n={}){let r=n.user?"accessibility":"labs",i=this.get(n.user?"_user":"settings"),a=this.get(r)
|
|
3100
3103
|
return Ember.set(a,e,t),n.requires&&!0===t&&n.requires.forEach((e=>{Ember.set(a,e,!0)})),i.set(r,JSON.stringify(a)),i.save().then((()=>(this.notifyPropertyChange(r),this.get(`${r}.${e}`)))).catch((t=>{if(i.rollbackAttributes(),this.notifyPropertyChange(r),!t)throw new Ember.Error(`Validation of the feature service ${n.user?"user":"settings"} model failed when updating ${r}.`)
|
|
3101
3104
|
return this.notifications.showAPIError(t),this.get(`${r}.${e}`)}))},_setAdminTheme(e){let n=e
|
|
3102
|
-
return void 0===n&&(n=e||this.nightShift),this.lazyLoader.loadStyle("dark","assets/ghost-dark-
|
|
3103
|
-
e.default=r})),define("ghost-admin/services/
|
|
3105
|
+
return void 0===n&&(n=e||this.nightShift),this.lazyLoader.loadStyle("dark","assets/ghost-dark-1328db4a7dd128305646305a8731bcfe.css",!0).then((()=>{(0,t.default)("link[title=dark]").prop("disabled",!n)})).catch((()=>{(0,t.default)("link[title=dark]").prop("disabled",!0)}))}})
|
|
3106
|
+
e.default=r})),define("ghost-admin/services/frontend",["exports","fetch","validator"],(function(e,t,n){var r,i,a,s,o,l,u
|
|
3107
|
+
function d(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(e,t,n,r,i){var a={}
|
|
3108
|
+
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
3109
|
+
let p=(r=Ember.inject.service,i=Ember.inject.service,a=Ember.inject.service,s=class extends Ember.Service{constructor(...e){super(...e),d(this,"settings",o,this),d(this,"config",l,this),d(this,"ajax",u,this),c(this,"_hasLoggedIn",!1),c(this,"_lastPassword",null)}get hasPasswordChanged(){return this._lastPassword!==this.settings.get("password")}getUrl(e){const t=new URL(this.config.get("blogUrl")),n=`${t.pathname.endsWith("/")?t.pathname:`${t.pathname}/`}${e.replace(/^\//,"")}`
|
|
3110
|
+
return`${t.origin}${n}`}async loginIfNeeded(){if(this.settings.get("isPrivate")&&(this.hasPasswordChanged||!this._hasLoggedIn)){const e=this.getUrl("/private/?r=%2F")
|
|
3111
|
+
return this._lastPassword=this.settings.get("password"),(0,t.default)(e,{method:"POST",mode:"cors",redirect:"manual",credentials:"include",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:`password=${this._lastPassword}`}).then((()=>{this._hasLoggedIn=!0}))}}async fetch(e,r){await this.loginIfNeeded()
|
|
3112
|
+
let i=e
|
|
3113
|
+
return n.default.isURL(e)||(i=this.getUrl(e)),(0,t.default)(i,{mode:"cors",credentials:"include",...r})}},o=m(s.prototype,"settings",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),l=m(s.prototype,"config",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),u=m(s.prototype,"ajax",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),s)
|
|
3114
|
+
e.default=p})),define("ghost-admin/services/ghost-paths",["exports","ghost-admin/utils/ghost-paths"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
3104
3115
|
var n=Ember.Service.extend((0,t.default)())
|
|
3105
3116
|
e.default=n})),define("ghost-admin/services/in-viewport",["exports","ember-in-viewport/services/in-viewport"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/services/infinity",["exports","ember-infinity/services/infinity"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/services/keyboard",["exports","ember-keyboard/services/keyboard"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/services/koenig-drag-drop-handler",["exports","koenig-editor/services/koenig-drag-drop-handler"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/services/koenig-ui",["exports","koenig-editor/services/koenig-ui"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/services/lazy-loader",["exports","ghost-admin/config/environment"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
3106
3117
|
var n=Ember.Service.extend({ajax:Ember.inject.service(),ghostPaths:Ember.inject.service(),testing:void 0,scriptPromises:null,init(){this._super(...arguments),this.scriptPromises={},void 0===this.testing&&(this.testing="test"===t.default.environment)},loadScript(e,t){if(this.testing)return Ember.RSVP.resolve()
|
|
@@ -3232,14 +3243,14 @@ e.default=r})),define("ghost-admin/services/power-calendar",["exports","ember-po
|
|
|
3232
3243
|
var n=Ember.Service.extend({init(){this._super(...arguments),this.detector=(0,t.default)({strategy:"scroll"})},setup(e,t){let n=document.querySelector(e)
|
|
3233
3244
|
n||console.error(`service:resize-detector - could not find element matching ${e}`),this.detector.listenTo(n,t)},teardown(e,t){let n=document.querySelector(e)
|
|
3234
3245
|
n&&this.detector.removeListener(n,t)}})
|
|
3235
|
-
e.default=n})),define("ghost-admin/services/session",["exports","ember-simple-auth/services/session","@sentry/browser"],(function(e,t,n){var r,i,a,s,o,l,u,d,c,m,p,h,g,b,f,v,y,w,E,k,P
|
|
3236
|
-
function
|
|
3246
|
+
e.default=n})),define("ghost-admin/services/session",["exports","ember-simple-auth/services/session","@sentry/browser"],(function(e,t,n){var r,i,a,s,o,l,u,d,c,m,p,h,g,b,f,v,y,w,E,k,P,_,j
|
|
3247
|
+
function x(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function O(e,t,n,r,i){var a={}
|
|
3237
3248
|
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
3238
|
-
let
|
|
3249
|
+
let T=(r=Ember.inject.service,i=Ember.inject.service("store"),a=Ember.inject.service,s=Ember.inject.service,o=Ember.inject.service,l=Ember.inject.service,u=Ember.inject.service,d=Ember.inject.service,c=Ember.inject.service,m=Ember.inject.service,p=Ember._tracked,h=class extends t.default{constructor(...e){super(...e),x(this,"config",g,this),x(this,"dataStore",b,this),x(this,"feature",f,this),x(this,"notifications",v,this),x(this,"router",y,this),x(this,"frontend",w,this),x(this,"settings",E,this),x(this,"ui",k,this),x(this,"upgradeStatus",P,this),x(this,"whatsNew",_,this),x(this,"user",j,this),function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(this,"skipAuthSuccessHandler",!1)}async populateUser(e={}){if(this.user)return
|
|
3239
3250
|
const t=e.id||"me",n=await this.dataStore.queryRecord("user",{id:t})
|
|
3240
|
-
this.user=n}async postAuthPreparation(){await Ember.RSVP.all([this.config.fetchAuthenticated(),this.feature.fetch(),this.settings.fetch()]),this.config.get("sentry_dsn")&&(0,n.configureScope)((e=>{e.addEventProcessor((e=>new Promise((t=>{t({...e,release:`ghost@${this.config.get("version")}`})}))))})),this.loadServerNotifications(),this.whatsNew.fetchLatest.perform()}async handleAuthentication(){if(!this.user){try{await this.populateUser()}catch(e){await this.invalidate()}await this.postAuthPreparation()}this.skipAuthSuccessHandler?this.skipAuthSuccessHandler=!1:super.handleAuthentication("home")}handleInvalidation(){let e=this.appLoadTransition
|
|
3241
|
-
e?e.send("authorizationFailed"):Ember.run.scheduleOnce("routerTransitions",this,"triggerAuthorizationFailed")}triggerAuthorizationFailed(){Ember.getOwner(this).lookup(`route:${this.router.currentRouteName}`).send("authorizationFailed")}loadServerNotifications(){this.isAuthenticated&&(this.user.isAuthorOrContributor||this.dataStore.findAll("notification",{reload:!0}).then((e=>{e.forEach((e=>{e.top||e.custom?this.notifications.handleNotification(e):this.upgradeStatus.handleUpgradeNotification(e)}))})))}},
|
|
3242
|
-
e.default=
|
|
3251
|
+
this.user=n}async postAuthPreparation(){await Ember.RSVP.all([this.config.fetchAuthenticated(),this.feature.fetch(),this.settings.fetch()]),await this.frontend.loginIfNeeded(),this.config.get("sentry_dsn")&&(0,n.configureScope)((e=>{e.addEventProcessor((e=>new Promise((t=>{t({...e,release:`ghost@${this.config.get("version")}`})}))))})),this.loadServerNotifications(),this.whatsNew.fetchLatest.perform()}async handleAuthentication(){if(!this.user){try{await this.populateUser()}catch(e){await this.invalidate()}await this.postAuthPreparation()}this.skipAuthSuccessHandler?this.skipAuthSuccessHandler=!1:super.handleAuthentication("home")}handleInvalidation(){let e=this.appLoadTransition
|
|
3252
|
+
e?e.send("authorizationFailed"):Ember.run.scheduleOnce("routerTransitions",this,"triggerAuthorizationFailed")}triggerAuthorizationFailed(){Ember.getOwner(this).lookup(`route:${this.router.currentRouteName}`).send("authorizationFailed")}loadServerNotifications(){this.isAuthenticated&&(this.user.isAuthorOrContributor||this.dataStore.findAll("notification",{reload:!0}).then((e=>{e.forEach((e=>{e.top||e.custom?this.notifications.handleNotification(e):this.upgradeStatus.handleUpgradeNotification(e)}))})))}},g=O(h.prototype,"config",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),b=O(h.prototype,"dataStore",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),f=O(h.prototype,"feature",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),v=O(h.prototype,"notifications",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),y=O(h.prototype,"router",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),w=O(h.prototype,"frontend",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),E=O(h.prototype,"settings",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=O(h.prototype,"ui",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P=O(h.prototype,"upgradeStatus",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=O(h.prototype,"whatsNew",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=O(h.prototype,"user",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),h)
|
|
3253
|
+
e.default=T})),define("ghost-admin/services/settings",["exports","ghost-admin/mixins/validation-engine"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
3243
3254
|
const{_ProxyMixin:n}=Ember
|
|
3244
3255
|
var r=Ember.Service.extend(n,t.default,{store:Ember.inject.service(),content:null,validationType:"setting",_loadingPromise:null,settledIcon:"",_loadSettings(){return this._loadingPromise||(this._loadingPromise=this.store.queryRecord("setting",{group:"site,theme,private,members,portal,newsletter,email,amp,labs,slack,unsplash,views,firstpromoter,oauth,editor"}).then((e=>(this._loadingPromise=null,e)))),this._loadingPromise},fetch(){return this.content?Ember.RSVP.resolve(this):this.reload()},reload(){return this._loadSettings().then((e=>(this.set("content",e),this.set("settledIcon",Ember.get(e,"icon")),this)))},async save(){let e=this.content
|
|
3245
3256
|
return!!e&&(await e.save(),this.set("settledIcon",e.icon),e)},rollbackAttributes(){var e
|
|
@@ -3250,10 +3261,10 @@ const{resolve:t}=Ember.RSVP
|
|
|
3250
3261
|
var n=Ember.Service.extend({ghostPaths:Ember.inject.service(),ajax:Ember.inject.service(),generateSlug(e,n){let r
|
|
3251
3262
|
return n?(r=this.get("ghostPaths.url").api("slugs",e,encodeURIComponent(n)),this.ajax.request(r).then((e=>{let[t]=e.slugs,{slug:n}=t
|
|
3252
3263
|
return n}))):t("")}})
|
|
3253
|
-
e.default=n})),define("ghost-admin/services/store",["exports","ember-data/store"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/services/text-measurer",["exports","ember-text-measurer/services/text-measurer"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/services/theme-management",["exports","ghost-admin/config/environment","ghost-admin/services/ajax","ember-concurrency-decorators"],(function(e,t,n,r){var i,a,s,o,l,u,d,c,m,p,h,g,b,f,v,y,w,E,k,P,_,j,x
|
|
3254
|
-
function
|
|
3264
|
+
e.default=n})),define("ghost-admin/services/store",["exports","ember-data/store"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/services/text-measurer",["exports","ember-text-measurer/services/text-measurer"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/services/theme-management",["exports","ghost-admin/config/environment","ghost-admin/services/ajax","ember-concurrency-decorators"],(function(e,t,n,r){var i,a,s,o,l,u,d,c,m,p,h,g,b,f,v,y,w,E,k,P,_,j,x,O,T
|
|
3265
|
+
function S(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function M(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function C(e,t,n,r,i){var a={}
|
|
3255
3266
|
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
3256
|
-
let
|
|
3267
|
+
let z=(i=Ember.inject.service,a=Ember.inject.service,s=Ember.inject.service,o=Ember.inject.service,l=Ember.inject.service,u=Ember.inject.service,d=Ember.inject.service,c=Ember.inject.service,m=Ember._tracked,p=Ember._tracked,h=Ember._tracked,g=Ember._action,b=Ember._action,f=class extends Ember.Service{constructor(...e){super(...e),S(this,"ajax",v,this),S(this,"config",y,this),S(this,"customThemeSettings",w,this),S(this,"limit",E,this),S(this,"modals",k,this),S(this,"settings",P,this),S(this,"store",_,this),S(this,"frontend",j,this),S(this,"isUploading",x,this),S(this,"previewType",O,this),S(this,"previewHtml",T,this),M(this,"allPosts",this.store.peekAll("post")),M(this,"availablePreviewTypes",[{name:"homepage",label:"Homepage"},{name:"post",label:"Post"}])}get latestPublishedPost(){return this.allPosts.toArray().filterBy("status","published").sort(((e,t)=>t.publishedAtUTC.valueOf()-e.publishedAtUTC.valueOf())).lastObject}setPreviewType(e){e!==this.previewType&&(this.previewType=e,this.updatePreviewHtmlTask.perform())}async upload(e={}){try{await this.limit.limiter.errorIfWouldGoOverLimit("customThemes",{value:"."})}catch(t){if("HostLimitError"===t.errorType)return this.modals.open("modals/limit/custom-theme",{message:t.message})
|
|
3257
3268
|
throw t}return this.modals.open("modals/design/upload-theme",e)}*activateTask(e,t={}){let r=null
|
|
3258
3269
|
try{if(yield this.limit.checkWouldGoOverLimit("customThemes",{value:e.name}))try{yield this.limit.limiter.errorIfWouldGoOverLimit("customThemes",{value:e.name})}catch(a){if("HostLimitError"!==a.errorType)throw a
|
|
3259
3270
|
return r=this.modals.open("modals/limits/custom-theme",{message:a.message}),void(yield r)}try{const n=yield e.activate()
|
|
@@ -3262,29 +3273,30 @@ Ember.isEmpty(e)&&Ember.isEmpty(t)||(r=this.modals.open("modals/design/theme-err
|
|
|
3262
3273
|
if(e.length>0)for(let r=0;r<e.length;r+=1)e[r].fatal?t.push(e[r]):n.push(e[r])
|
|
3263
3274
|
r=this.modals.open("modals/design/theme-errors",{title:"Activation failed",canActivate:!1,errors:n,fatalErrors:t}),yield r}throw a}}finally{var i
|
|
3264
3275
|
null===(i=r)||void 0===i||i.close()}}*updatePreviewHtmlTask(){if("test"===t.default.environment)return
|
|
3265
|
-
|
|
3266
|
-
|
|
3267
|
-
|
|
3268
|
-
|
|
3269
|
-
|
|
3270
|
-
|
|
3271
|
-
e.
|
|
3276
|
+
let e="/"
|
|
3277
|
+
"post"===this.previewType&&(this.latestPublishedPost||(yield this.store.query("post",{filter:"status:published",order:"published_at DESC",limit:1})),e=this.latestPublishedPost.url)
|
|
3278
|
+
const n=yield this.frontend.fetch(e,{method:"POST",headers:{"Content-Type":"text/html;charset=utf-8","x-ghost-preview":this.previewData,Accept:"text/plain"}}),r=yield n.text(),i=(new DOMParser).parseFromString(r,"text/html"),a=i.querySelector("style"),s=a.innerHTML
|
|
3279
|
+
a.innerHTML=`${s}\n\nhtml { pointer-events: none; }`
|
|
3280
|
+
const o=(new XMLSerializer).serializeToString(i.doctype)
|
|
3281
|
+
this.previewHtml=o+i.documentElement.outerHTML}get previewData(){const e=new URLSearchParams
|
|
3282
|
+
return e.append("c",this.settings.get("accentColor")||"#ffffff"),e.append("d",this.settings.get("description")),e.append("icon",this.settings.get("icon")),e.append("logo",this.settings.get("logo")),e.append("cover",this.settings.get("coverImage")),e.append("custom",JSON.stringify(this.customThemeSettings.keyValueObject)),e.toString()}},v=C(f.prototype,"ajax",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),y=C(f.prototype,"config",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),w=C(f.prototype,"customThemeSettings",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),E=C(f.prototype,"limit",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=C(f.prototype,"modals",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P=C(f.prototype,"settings",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=C(f.prototype,"store",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=C(f.prototype,"frontend",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x=C(f.prototype,"isUploading",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),O=C(f.prototype,"previewType",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"homepage"}}),T=C(f.prototype,"previewHtml",[h],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),C(f.prototype,"setPreviewType",[g],Object.getOwnPropertyDescriptor(f.prototype,"setPreviewType"),f.prototype),C(f.prototype,"upload",[b],Object.getOwnPropertyDescriptor(f.prototype,"upload"),f.prototype),C(f.prototype,"activateTask",[r.task],Object.getOwnPropertyDescriptor(f.prototype,"activateTask"),f.prototype),C(f.prototype,"updatePreviewHtmlTask",[r.task],Object.getOwnPropertyDescriptor(f.prototype,"updatePreviewHtmlTask"),f.prototype),f)
|
|
3283
|
+
e.default=z})),define("ghost-admin/services/ui",["exports","@tryghost/color-utils"],(function(e,t){var n,r,i,a,s,o,l,u,d,c,m,p,h,g,b,f,v,y,w,E,k,P,_,j,x,O,T,S
|
|
3272
3284
|
function M(e,t,n,r){n&&Object.defineProperty(e,t,{enumerable:n.enumerable,configurable:n.configurable,writable:n.writable,value:n.initializer?n.initializer.call(r):void 0})}function C(e,t,n,r,i){var a={}
|
|
3273
|
-
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}function
|
|
3285
|
+
return Object.keys(r).forEach((function(e){a[e]=r[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce((function(n,r){return r(e,t,n)||n}),a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}function z(e,t){let n=[],r=[],{from:i,to:a}=e
|
|
3274
3286
|
for(;i;)n=n.concat(Ember.get(i,`metadata.${t}`)||[]),i=i.parent
|
|
3275
3287
|
for(;a;)r=r.concat(Ember.get(a,`metadata.${t}`)||[]),a=a.parent
|
|
3276
3288
|
return{oldClasses:n,newClasses:r}}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
3277
|
-
let
|
|
3289
|
+
let A=(n=Ember.inject.service,r=Ember.inject.service,i=Ember.inject.service,a=Ember.inject.service,s=Ember.inject.service,o=Ember.inject.service,l=Ember._tracked,u=Ember._tracked,d=Ember._tracked,c=Ember._tracked,m=Ember._action,p=Ember._action,h=Ember._action,g=Ember._action,b=Ember._action,f=Ember._action,v=Ember._action,y=class extends Ember.Service{get isMobile(){return this.mediaQueries.isMobile}get isSideNavHidden(){return this.isFullScreen||this.isMobile}get hasSideNav(){return!this.isSideNavHidden}get backgroundColor(){return this.feature.nightShift?"#151719":"#ffffff"}get adjustedAccentColor(){const e=(0,t.Color)(this.settings.get("accentColor")),n=(0,t.Color)(this.backgroundColor)
|
|
3278
3290
|
if(e.contrast(n)>2)return e.hex()
|
|
3279
3291
|
let r=e
|
|
3280
|
-
return r=this.feature.nightShift?(0,t.lightenToContrastThreshold)(e,n,2):(0,t.darkenToContrastThreshold)(e,n,2),r.hex()}get textColorForAdjustedAccentBackground(){return(0,t.textColorForBackgroundColor)(this.adjustedAccentColor).hex()}constructor(){super(...arguments),M(this,"config",w,this),M(this,"dropdown",E,this),M(this,"feature",k,this),M(this,"mediaQueries",P,this),M(this,"router",_,this),M(this,"settings",j,this),M(this,"contextualNavMenu",x,this),M(this,"isFullScreen",O,this),M(this,"mainClass",T,this),M(this,"showMobileMenu",S,this),this.router.on("routeDidChange",(e=>{(function(e){let{body:t}=document,{oldClasses:n,newClasses:r}=
|
|
3292
|
+
return r=this.feature.nightShift?(0,t.lightenToContrastThreshold)(e,n,2):(0,t.darkenToContrastThreshold)(e,n,2),r.hex()}get textColorForAdjustedAccentBackground(){return(0,t.textColorForBackgroundColor)(this.adjustedAccentColor).hex()}constructor(){super(...arguments),M(this,"config",w,this),M(this,"dropdown",E,this),M(this,"feature",k,this),M(this,"mediaQueries",P,this),M(this,"router",_,this),M(this,"settings",j,this),M(this,"contextualNavMenu",x,this),M(this,"isFullScreen",O,this),M(this,"mainClass",T,this),M(this,"showMobileMenu",S,this),this.router.on("routeDidChange",(e=>{(function(e){let{body:t}=document,{oldClasses:n,newClasses:r}=z(e,"bodyClasses")
|
|
3281
3293
|
n.forEach((e=>{t.classList.remove(e)})),r.forEach((e=>{t.classList.add(e)}))})(e),this.updateDocumentTitle()
|
|
3282
|
-
let{newClasses:t}=
|
|
3294
|
+
let{newClasses:t}=z(e,"mainClasses")
|
|
3283
3295
|
this.mainClass=t.join(" ")}))}closeMenus(){this.dropdown.closeDropdowns(),this.showMobileMenu=!1}closeMobileMenu(){this.showMobileMenu=!1}openMobileMenu(){this.showMobileMenu=!0}setMainClass(e){this.mainClass=e}updateDocumentTitle(){let{currentRoute:e}=this.router,t=[]
|
|
3284
3296
|
for(;e;){let n=Ember.get(e,"metadata.titleToken")
|
|
3285
3297
|
"function"==typeof n&&(n=n()),n&&t.unshift(n),e=e.parent}let n=this.config.get("blogTitle")
|
|
3286
3298
|
Ember.isEmpty(t)?window.document.title=n:window.document.title=`${t.join(" - ")} - ${n}`}initBodyDragHandlers(){this.bodyDragEnterHandler=e=>{e.dataTransfer&&(document.body.dataset.userIsDragging=!0,window.clearTimeout(this.dragTimer))},this.bodyDragLeaveHandler=e=>{0===e.screenX&&0===e.screenY&&(window.clearTimeout(this.dragTimer),this.dragTimer=window.setTimeout((()=>{delete document.body.dataset.userIsDragging}),50))},this.cancelDrag=()=>{delete document.body.dataset.userIsDragging},document.body.addEventListener("dragenter",this.bodyDragEnterHandler,{capture:!0}),document.body.addEventListener("dragleave",this.bodyDragLeaveHandler,{capture:!0}),document.body.addEventListener("dragend",this.cancelDrag,{capture:!0}),document.body.addEventListener("drop",this.cancelDrag,{capture:!0})}cleanupBodyDragHandlers(){document.body.removeEventListener("dragenter",this.bodyDragEnterHandler,{capture:!0}),document.body.removeEventListener("dragleave",this.bodyDragLeaveHandler,{capture:!0}),document.body.removeEventListener("dragend",this.cancelDrag,{capture:!0}),document.body.removeEventListener("drop",this.cancelDrag,{capture:!0})}},w=C(y.prototype,"config",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),E=C(y.prototype,"dropdown",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=C(y.prototype,"feature",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),P=C(y.prototype,"mediaQueries",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_=C(y.prototype,"router",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=C(y.prototype,"settings",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),x=C(y.prototype,"contextualNavMenu",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),O=C(y.prototype,"isFullScreen",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),T=C(y.prototype,"mainClass",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return""}}),S=C(y.prototype,"showMobileMenu",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),C(y.prototype,"closeMenus",[m],Object.getOwnPropertyDescriptor(y.prototype,"closeMenus"),y.prototype),C(y.prototype,"closeMobileMenu",[p],Object.getOwnPropertyDescriptor(y.prototype,"closeMobileMenu"),y.prototype),C(y.prototype,"openMobileMenu",[h],Object.getOwnPropertyDescriptor(y.prototype,"openMobileMenu"),y.prototype),C(y.prototype,"setMainClass",[g],Object.getOwnPropertyDescriptor(y.prototype,"setMainClass"),y.prototype),C(y.prototype,"updateDocumentTitle",[b],Object.getOwnPropertyDescriptor(y.prototype,"updateDocumentTitle"),y.prototype),C(y.prototype,"initBodyDragHandlers",[f],Object.getOwnPropertyDescriptor(y.prototype,"initBodyDragHandlers"),y.prototype),C(y.prototype,"cleanupBodyDragHandlers",[v],Object.getOwnPropertyDescriptor(y.prototype,"cleanupBodyDragHandlers"),y.prototype),y)
|
|
3287
|
-
e.default=
|
|
3299
|
+
e.default=A})),define("ghost-admin/services/unsplash",["exports","fetch","ember-concurrency"],(function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
3288
3300
|
const r="https://api.unsplash.com"
|
|
3289
3301
|
var i=Ember.Service.extend({config:Ember.inject.service(),settings:Ember.inject.service(),columnCount:3,columns:null,error:"",photos:null,searchTerm:"",_columnHeights:null,_pagination:null,applicationId:"8672af113b0a8573edae3aa3713886265d9bb741d707f6c01a486cde8c278980",isLoading:Ember.computed.or("_search.isRunning","_loadingTasks.isRunning"),init(){this._super(...arguments),this._reset(),this.loadNew()},loadNew(){return this._reset(),this._loadNew.perform()},loadNextPage(){if(!this.get("_search.isRunning"))return Ember.isEmpty(this.photos)?this._loadNew.perform():this._pagination.next?this._loadNextPage.perform():Ember.RSVP.reject()},updateSearch(e){if(e!==this.searchTerm)return this.set("searchTerm",e),this._reset(),e?this._search.perform(e):this._loadNew.perform()},retryLastRequest(){return this._retryLastRequest.perform()},changeColumnCount(e){e!==this.columnCount&&(this.set("columnCount",e),this._resetColumns())},triggerDownload(e){e.links.download_location&&this._makeRequest(e.links.download_location,{ignoreErrors:!0})},actions:{updateSearch(e){return this.updateSearch(e)}},_loadingTasks:(0,n.taskGroup)().drop(),_loadNew:(0,n.task)((function*(){let e=`${r}/photos?per_page=30`
|
|
3290
3302
|
yield this._makeRequest(e)})).group("_loadingTasks"),_loadNextPage:(0,n.task)((function*(){yield this._makeRequest(this._pagination.next)})).group("_loadingTasks"),_retryLastRequest:(0,n.task)((function*(){yield this._makeRequest(this._lastRequestUrl)})).group("_loadingTasks"),_search:(0,n.task)((function*(e){yield(0,n.timeout)(600)
|
|
@@ -3578,7 +3590,8 @@ return s}
|
|
|
3578
3590
|
const t=/[aeiou]$/i,n=/[bcdfghjklmnpqrstvwxyz]$/i
|
|
3579
3591
|
function r(e,t){var n,i,a,s=new Uint8Array(t)
|
|
3580
3592
|
for(n in a=s,window.crypto.getRandomValues(a),s)if(Object.prototype.hasOwnProperty.call(s,n)&&(i=s[n])>e&&i<t)return i
|
|
3581
|
-
return r(e,t)}})),define("ghost-admin/utils/route",[],(function(){Ember.Route.reopen({config:Ember.inject.service(),billing:Ember.inject.service(),router:Ember.inject.service(),actions:{willTransition(e){return this.get("upgradeStatus.isRequired")?(e.abort(),this.upgradeStatus.requireUpgrade(),!1):!this.config.get("hostSettings.forceUpgrade")||(e.abort(),this.billing.openBillingWindow(this.router.currentURL,"/pro"),!1)
|
|
3593
|
+
return r(e,t)}})),define("ghost-admin/utils/route",[],(function(){Ember.Route.reopen({config:Ember.inject.service(),billing:Ember.inject.service(),router:Ember.inject.service(),actions:{willTransition(e){return this.get("upgradeStatus.isRequired")?(e.abort(),this.upgradeStatus.requireUpgrade(),!1):!this.config.get("hostSettings.forceUpgrade")||("pro.index"===(null===(t=e.to)||void 0===t?void 0:t.name)||"signout"===(null===(n=e.to)||void 0===n?void 0:n.name)||(e.abort(),this.billing.openBillingWindow(this.router.currentURL,"/pro"),!1))
|
|
3594
|
+
var t,n}}})})),define("ghost-admin/utils/titleize",["exports","ember-cli-string-helpers/utils/titleize"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/utils/window-proxy",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
3582
3595
|
var t={changeLocation(e){window.location=e},replaceLocation(e){window.location.replace(e)},replaceState(e,t,n){window.history.replaceState(e,t,n)}}
|
|
3583
3596
|
e.default=t})),define("ghost-admin/validators/base",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
3584
3597
|
var t=Ember.Object.extend({passed:!1,init(){this._super(...arguments),this.properties=this.properties||[]},check(e,t){return this.set("passed",!0),t&&this[t]?this[t](e):this.properties.forEach((t=>{this[t]&&this[t](e)})),this.passed},invalidate(){this.set("passed",!1)}})
|
|
@@ -3677,6 +3690,6 @@ var r=t.default.create({properties:["name","event","targetUrl"],name(e){Ember.is
|
|
|
3677
3690
|
e.default=r})),define("ghost-admin/views/application",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
3678
3691
|
var t=Ember.Component.extend({})
|
|
3679
3692
|
e.default=t})),define("ghost-admin/config/environment",[],(function(){try{var e="ghost-admin/config/environment",t=document.querySelector('meta[name="'+e+'"]').getAttribute("content"),n={default:JSON.parse(decodeURIComponent(t))}
|
|
3680
|
-
return Object.defineProperty(n,"__esModule",{value:!0}),n}catch(r){throw new Error('Could not read config from meta tag with name "'+e+'".')}})),runningTests||require("ghost-admin/app").default.create({version:"4.
|
|
3693
|
+
return Object.defineProperty(n,"__esModule",{value:!0}),n}catch(r){throw new Error('Could not read config from meta tag with name "'+e+'".')}})),runningTests||require("ghost-admin/app").default.create({version:"4.21",name:"ghost-admin"})
|
|
3681
3694
|
|
|
3682
|
-
//# sourceMappingURL=ghost.min-
|
|
3695
|
+
//# sourceMappingURL=ghost.min-6c546c322127ae6d1d1b0ddbf34be75b.map
|