ghost 5.116.1 → 5.116.2
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/components/{tryghost-api-framework-5.116.1.tgz → tryghost-api-framework-5.116.2.tgz} +0 -0
- package/components/tryghost-constants-5.116.2.tgz +0 -0
- package/components/tryghost-custom-fonts-5.116.2.tgz +0 -0
- package/components/{tryghost-custom-theme-settings-service-5.116.1.tgz → tryghost-custom-theme-settings-service-5.116.2.tgz} +0 -0
- package/components/tryghost-domain-events-5.116.2.tgz +0 -0
- package/components/tryghost-donations-5.116.2.tgz +0 -0
- package/components/{tryghost-email-addresses-5.116.1.tgz → tryghost-email-addresses-5.116.2.tgz} +0 -0
- package/components/{tryghost-email-service-5.116.1.tgz → tryghost-email-service-5.116.2.tgz} +0 -0
- package/components/{tryghost-email-suppression-list-5.116.1.tgz → tryghost-email-suppression-list-5.116.2.tgz} +0 -0
- package/components/tryghost-html-to-plaintext-5.116.2.tgz +0 -0
- package/components/tryghost-i18n-5.116.2.tgz +0 -0
- package/components/{tryghost-job-manager-5.116.1.tgz → tryghost-job-manager-5.116.2.tgz} +0 -0
- package/components/{tryghost-link-replacer-5.116.1.tgz → tryghost-link-replacer-5.116.2.tgz} +0 -0
- package/components/{tryghost-magic-link-5.116.1.tgz → tryghost-magic-link-5.116.2.tgz} +0 -0
- package/components/{tryghost-member-attribution-5.116.1.tgz → tryghost-member-attribution-5.116.2.tgz} +0 -0
- package/components/{tryghost-member-events-5.116.1.tgz → tryghost-member-events-5.116.2.tgz} +0 -0
- package/components/{tryghost-members-api-5.116.1.tgz → tryghost-members-api-5.116.2.tgz} +0 -0
- package/components/{tryghost-members-csv-5.116.1.tgz → tryghost-members-csv-5.116.2.tgz} +0 -0
- package/components/{tryghost-members-offers-5.116.1.tgz → tryghost-members-offers-5.116.2.tgz} +0 -0
- package/components/tryghost-milestones-5.116.2.tgz +0 -0
- package/components/{tryghost-mw-error-handler-5.116.1.tgz → tryghost-mw-error-handler-5.116.2.tgz} +0 -0
- package/components/tryghost-mw-vhost-5.116.2.tgz +0 -0
- package/components/{tryghost-post-events-5.116.1.tgz → tryghost-post-events-5.116.2.tgz} +0 -0
- package/components/tryghost-post-revisions-5.116.2.tgz +0 -0
- package/components/{tryghost-posts-service-5.116.1.tgz → tryghost-posts-service-5.116.2.tgz} +0 -0
- package/components/tryghost-prometheus-metrics-5.116.2.tgz +0 -0
- package/components/{tryghost-security-5.116.1.tgz → tryghost-security-5.116.2.tgz} +0 -0
- package/components/{tryghost-tiers-5.116.1.tgz → tryghost-tiers-5.116.2.tgz} +0 -0
- package/components/tryghost-webmentions-5.116.2.tgz +0 -0
- package/content/themes/casper/LICENSE +1 -1
- package/content/themes/casper/README.md +1 -1
- package/content/themes/source/LICENSE +1 -1
- package/content/themes/source/README.md +1 -1
- package/content/themes/source/assets/built/screen.css +1 -1
- package/content/themes/source/assets/built/screen.css.map +1 -1
- package/content/themes/source/assets/css/screen.css +11 -6
- package/content/themes/source/partials/feature-image.hbs +2 -2
- package/core/built/admin/assets/admin-x-activitypub/admin-x-activitypub.js +9776 -11013
- package/core/built/admin/assets/admin-x-demo/admin-x-demo.js +2 -2
- package/core/built/admin/assets/admin-x-demo/{index-a9601514.mjs → index-09325f38.mjs} +4 -4
- package/core/built/admin/assets/admin-x-demo/{modals-c1789d04.mjs → modals-1a9ae8b7.mjs} +2 -2
- package/core/built/admin/assets/admin-x-settings/{CodeEditorView-e9c9deb8.mjs → CodeEditorView-550846e0.mjs} +2 -2
- package/core/built/admin/assets/admin-x-settings/admin-x-settings.js +2 -2
- package/core/built/admin/assets/admin-x-settings/{index-f744cab7.mjs → index-4ce2fcd1.mjs} +78 -77
- package/core/built/admin/assets/admin-x-settings/{index-84580c3a.mjs → index-f3cb3f4d.mjs} +2 -2
- package/core/built/admin/assets/admin-x-settings/{modals-d9ca60c5.mjs → modals-6bc20529.mjs} +8 -8
- package/core/built/admin/assets/{chunk.524.cb72a86e19c9ffd6172e.js → chunk.524.578de86e5014b911b05a.js} +5 -5
- package/core/built/admin/assets/{chunk.582.4f4d38ffe79fbdbd26f7.js → chunk.582.21bf3e37b5d84ac4b58a.js} +9 -9
- package/core/built/admin/assets/{chunk.713.e9027c0cc3c56110f5da.js → chunk.713.761d11035fe0bf3e557c.js} +2 -2
- package/core/built/admin/assets/{ghost-03b64c086f3c60cabc85fe7a7e2b640a.js → ghost-868c537d5c02ca65323d0122596a67ec.js} +57 -55
- package/core/built/admin/assets/posts/posts.js +5185 -5096
- package/core/built/admin/assets/stats/stats.js +6630 -6541
- package/core/built/admin/assets/{vendor-72026232b36d97babc6320917c16c321.js → vendor-8e3ee8261528bb429cfe78ce79a4a82a.js} +5 -5
- package/core/built/admin/index.html +5 -5
- package/core/frontend/helpers/ghost_head.js +9 -5
- package/core/frontend/public/ghost-stats.js +41 -74
- package/core/server/data/tinybird/datasources/_mv_hits.datasource +23 -0
- package/core/server/data/tinybird/datasources/analytics_events.datasource +14 -0
- package/core/server/data/tinybird/endpoints/api_kpis.pipe +161 -0
- package/core/server/data/tinybird/endpoints/api_top_browsers.pipe +52 -0
- package/core/server/data/tinybird/endpoints/api_top_devices.pipe +51 -0
- package/core/server/data/tinybird/endpoints/api_top_locations.pipe +51 -0
- package/core/server/data/tinybird/endpoints/api_top_os.pipe +51 -0
- package/core/server/data/tinybird/endpoints/api_top_pages.pipe +52 -0
- package/core/server/data/tinybird/endpoints/api_top_sources.pipe +24 -0
- package/core/server/data/tinybird/fixtures/analytics_events.ndjson +31 -0
- package/core/server/data/tinybird/pipes/filtered_sessions.pipe +42 -0
- package/core/server/data/tinybird/pipes/mv_hits.pipe +89 -0
- package/core/server/data/tinybird/pipes/mv_session_data.pipe +28 -0
- package/core/server/data/tinybird/readme.md +47 -0
- package/core/server/data/tinybird/tests/api_kpis.yaml +207 -0
- package/core/server/data/tinybird/tests/api_top_browsers.yaml +89 -0
- package/core/server/data/tinybird/tests/api_top_devices.yaml +69 -0
- package/core/server/data/tinybird/tests/api_top_locations.yaml +95 -0
- package/core/server/data/tinybird/tests/api_top_os.yaml +73 -0
- package/core/server/data/tinybird/tests/api_top_pages.yaml +86 -0
- package/core/server/data/tinybird/tests/api_top_sources.yaml +118 -0
- package/package.json +59 -59
- package/yarn.lock +37 -56
- package/components/tryghost-constants-5.116.1.tgz +0 -0
- package/components/tryghost-custom-fonts-5.116.1.tgz +0 -0
- package/components/tryghost-domain-events-5.116.1.tgz +0 -0
- package/components/tryghost-donations-5.116.1.tgz +0 -0
- package/components/tryghost-html-to-plaintext-5.116.1.tgz +0 -0
- package/components/tryghost-i18n-5.116.1.tgz +0 -0
- package/components/tryghost-milestones-5.116.1.tgz +0 -0
- package/components/tryghost-mw-vhost-5.116.1.tgz +0 -0
- package/components/tryghost-post-revisions-5.116.1.tgz +0 -0
- package/components/tryghost-prometheus-metrics-5.116.1.tgz +0 -0
- package/components/tryghost-webmentions-5.116.1.tgz +0 -0
- /package/core/built/admin/assets/{chunk.713.e9027c0cc3c56110f5da.js.LICENSE.txt → chunk.713.761d11035fe0bf3e557c.js.LICENSE.txt} +0 -0
|
@@ -577,7 +577,7 @@ if("object"!=typeof r)return r
|
|
|
577
577
|
throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string")
|
|
578
578
|
return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function M(e,t,i,r,n){var a={}
|
|
579
579
|
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=i.slice().reverse().reduce((function(i,r){return r(e,t,i)||i}),a),n&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(n):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
|
|
580
|
-
const D=Ember.HTMLBars.template({id:"
|
|
580
|
+
const D=Ember.HTMLBars.template({id:"6Y18T3OE",block:'{"symbols":["task"],"statements":[[10,"div"],[14,0,"modal-content"],[14,"data-test-modal","re-verify"],[12],[2,"\\n "],[11,"form"],[24,1,"verify"],[24,0,"gh-signin"],[24,"method","post"],[24,"novalidate","novalidate"],[4,[38,4],["submit",[30,[36,3],[[32,0,["verifyTokenTask"]]],null]],null],[12],[2,"\\n "],[10,"header"],[12],[2,"\\n "],[10,"h1"],[12],[2,"Verify it\'s really you"],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n To keep your account safe, we\'ve sent a 6-digit verification code to your email to make sure it\'s you.\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"form-group"],[12],[2,"\\n "],[8,"gh-form-group",[],[["@errors","@hasValidated","@property"],[[32,0,["verifyData","errors"]],[32,0,["verifyData","hasValidated"]],"token"]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[14,"for","token"],[12],[2,"Verification code"],[13],[2,"\\n "],[10,"span"],[14,0,"gh-input-icon forgotten-wrap"],[12],[2,"\\n "],[11,"input"],[24,1,"token"],[24,3,"token"],[24,"inputmode","numeric"],[24,"pattern","[0-9]*"],[24,"placeholder","******"],[24,"autocomplete","one-time-code"],[24,0,"gh-input"],[16,2,[32,0,["token"]]],[24,"data-test-input","token"],[24,4,"text"],[4,[38,4],["input",[32,0,["handleTokenInput"]]],null],[12],[13],[2,"\\n\\n "],[8,"gh-task-button",[[24,"data-test-button","resend-token"]],[["@task","@class","@type","@successClass","@failureClass","@disabled"],[[32,0,["resendTokenTask"]],"forgotten-link gh-btn gh-btn-link gh-btn-icon","button","","",[30,[36,0],[[32,0,["resendTokenTask","isRunning"]],[32,0,["delayResendAvailabilityTask","isRunning"]]],null]]],[["default"],[{"statements":[[2,"\\n"],[6,[37,2],[[32,0,["delayResendAvailabilityTask","isRunning"]]],null,[["default","else"],[{"statements":[[2," "],[10,"span"],[12],[2,"Sent"],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"span"],[12],[6,[37,2],[[32,1,["isRunning"]]],null,[["default","else"],[{"statements":[[1,[30,[36,1],["spinner"],[["class"],["gh-spinner"]]]],[2," Sending"]],"parameters":[]},{"statements":[[2,"Resend"]],"parameters":[]}]]],[13],[2,"\\n"]],"parameters":[]}]]],[2," "]],"parameters":[1]}]]],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[13],[2,"\\n\\n "],[8,"gh-task-button",[[24,"data-test-button","verify"]],[["@buttonText","@task","@showSuccess","@class","@type","@useAccentColor"],["Verify →",[32,0,["verifyTokenTask"]],false,"login gh-btn gh-btn-login gh-btn-block gh-btn-icon","submit",true]],null],[2,"\\n\\n"],[6,[37,2],[[30,[36,0],[[32,0,["flowErrors"]],[32,0,["verifyData","validationMessage"]]],null]],null,[["default"],[{"statements":[[2," "],[10,"p"],[14,0,"response"],[14,"data-test-error","verify"],[12],[1,[30,[36,0],[[32,0,["flowErrors"]],[32,0,["verifyData","validationMessage"]]],null]],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["or","svg-jar","if","perform","on"]}',moduleName:"ghost-admin/components/editor/modals/re-verify.hbs"}),{Errors:A}=i.default,L=!0,N=!1
|
|
581
581
|
let I=(a=Ember._tracked,s=Ember._tracked,l=M((o=class{constructor(){S(this,"token",l,this),S(this,"hasValidated",u,this),C(this,"errors",A.create())}validate(){return this.resetValidations(),this.token?.trim()?!!this.token?.trim().match(/^\d{6}$/)||(this.errors.add("token","Verification code must be 6 numbers"),this.hasValidated.push("token"),!1):(this.errors.add("token","Verification code is required"),this.hasValidated.push("token"),!1)}setTokenError(e){this.resetValidations(),this.errors.add("token",e),this.hasValidated.push("token")}resetValidations(){this.errors.clear(),this.hasValidated=new r.TrackedArray}get validationMessage(){return this.errors.toArray()[0]?.message}}).prototype,"token",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),u=M(o.prototype,"hasValidated",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new r.TrackedArray}}),o),R=e.default=(d=Ember.inject.service,c=Ember.inject.service,p=Ember.inject.service,m=Ember.inject.service,h=Ember._tracked,b=Ember._tracked,f=Ember._tracked,g=Ember._action,v=Ember._action,y=(0,n.task)({drop:!0}),w=(0,n.task)({drop:!0}),x=class extends t.default{constructor(){super(...arguments),S(this,"ajax",k,this),S(this,"session",P,this),S(this,"ghostPaths",O,this),S(this,"notifications",_,this),S(this,"flowErrors",j,this),S(this,"verifyData",T,this),S(this,"resendTokenCountdown",z,this),this.resetData()}resetData(){this.verifyData=new I,this.flowErrors=""}handleTokenInput(e){this.resetErrorState(),this.verifyData.token=e.target.value}*verifyTokenTask(){if(this.flowErrors="",!this.verifyData.validate())return N
|
|
582
582
|
try{return yield this._authenticate(),this.notifications.closeAlerts(),this.args.close(),L}catch(e){if(e?.payload?.errors){const[t]=e.payload.errors
|
|
583
583
|
"UnauthorizedError"===t.type?this.verifyData.setTokenError("Your verification code is incorrect."):this.flowErrors=t.message}else this.flowErrors="There was a problem verifying the code. Please try again."
|
|
@@ -2422,7 +2422,7 @@ class r extends t.default{}e.default=r,Ember._setComponentTemplate(i,r)})),defin
|
|
|
2422
2422
|
const t=Ember.HTMLBars.template({id:"TEJ/hHTJ",block:'{"symbols":[],"statements":[[11,"div"],[4,[38,0],[[32,0,["renderComponent"]]],null],[12],[13]],"hasEval":false,"upvars":["did-insert"]}',moduleName:"ghost-admin/components/react-component.hbs"})
|
|
2423
2423
|
e.default=Ember._setComponentTemplate(t,Ember._templateOnlyComponent())})),define("ghost-admin/components/sortable-objects",["exports","ember-drag-drop/components/sortable-objects"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
2424
2424
|
e.default=t.default}))
|
|
2425
|
-
define("ghost-admin/components/stats/charts/kpis",["exports","@glimmer/component","react","moment-timezone","@tinybirdco/charts","ghost-admin/
|
|
2425
|
+
define("ghost-admin/components/stats/charts/kpis",["exports","@glimmer/component","react","moment-timezone","@tinybirdco/charts","ghost-admin/helpers/format-number","ghost-admin/utils/stats","ghost-admin/decorators/inject"],(function(e,t,i,r,n,a,s,o){var l,u,d,c
|
|
2426
2426
|
function p(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function m(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
|
|
2427
2427
|
var i=e[Symbol.toPrimitive]
|
|
2428
2428
|
if(void 0!==i){var r=i.call(e,t||"default")
|
|
@@ -2431,15 +2431,15 @@ throw new TypeError("@@toPrimitive must return a primitive value.")}return("stri
|
|
|
2431
2431
|
return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function h(e,t,i,r,n){var a={}
|
|
2432
2432
|
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=i.slice().reverse().reduce((function(i,r){return r(e,t,i)||i}),a),n&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(n):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
|
|
2433
2433
|
const b=Ember.HTMLBars.template({id:"476BGl6s",block:'{"symbols":["@mockData","@selected","@os","@pathname","@source","@location","@browser","@device","@audience","@chartRange"],"statements":[[11,"div"],[4,[38,1],[[32,0,["ReactComponent"]]],[["props"],[[30,[36,0],null,[["chartRange","audience","device","browser","location","source","pathname","os","selected","mockData"],[[32,10],[32,9],[32,8],[32,7],[32,6],[32,5],[32,4],[32,3],[32,2],[32,1]]]]]]],[12],[13]],"hasEval":false,"upvars":["hash","react-render"]}',moduleName:"ghost-admin/components/stats/charts/kpis.hbs"})
|
|
2434
|
-
let f=e.default=(l=Ember.inject.service,u=class extends t.default{constructor(...e){super(...e),p(this,"config",d,this),p(this,"settings",c,this),m(this,"ReactComponent",(e=>{const{chartRange:t,selected:o}=e,l=(0,
|
|
2435
|
-
return i.default.createElement(n.AreaChart,{data:
|
|
2436
|
-
switch(
|
|
2434
|
+
let f=e.default=(l=Ember.inject.service,u=class extends t.default{constructor(...e){super(...e),p(this,"config",d,this),p(this,"settings",c,this),m(this,"ReactComponent",(e=>{const{chartRange:t,selected:o}=e,l=(0,s.getStatsParams)(this.config,e),u=(0,s.getEndpointUrl)(this.config,"api_kpis"),d=(0,s.getToken)(this.config),{data:c,meta:p,error:m,loading:h}=(0,n.useQuery)({endpoint:u,token:d,params:l}),b=s.statsStaticColors[0],f="date",g="unique_visits"===o?"visits":o,v=[l.date_from,l.date_to],{endDate:y,startDate:w}=(0,s.getDateRange)(t)
|
|
2435
|
+
return i.default.createElement(n.AreaChart,{data:c,meta:p,loading:h,error:m,index:f,categories:[g],colorPalette:[b],backgroundColor:"transparent",fontSize:"13px",textColor:"#AEB7C1",height:"300px",params:l,options:{grid:{left:"10px",right:"20px",top:"10%",bottom:0,containLabel:!0},xAxis:{type:"time",min:w.toISOString(),max:1===t?y.toISOString():y.subtract(1,"day").toISOString(),boundaryGap:["0%","0%"],axisLabel:{formatter:t<=7?"{ee}":"{d} {MMM}",customValues:v},axisTick:{show:!1,alignWithLabel:!0,interval:0},axisPointer:{snap:!0},splitNumber:v.length,splitLine:{show:!1},axisLine:{lineStyle:{color:"#DDE1E5"}}},yAxis:{type:"value",splitLine:{show:!1,lineStyle:{type:"dashed",color:"#DDE1E5"}},axisLabel:{show:!0,formatter:function(e){return"avg_session_sec"===g?(0,s.formatVisitDuration)(e):e}},axisTick:{show:!1}},tooltip:{trigger:"axis",backgroundColor:"#fff",textStyle:{color:"#15171A"},axisPointer:{type:"line",z:1},extraCssText:"box-shadow: 0 0 0 1px rgba(0,0,0,0.03), 0px 100px 80px 0px rgba(0, 0, 0, 0.07), 0px 41.778px 33.422px 0px rgba(0, 0, 0, 0.05), 0px 22.336px 17.869px 0px rgba(0, 0, 0, 0.04), 0px 12.522px 10.017px 0px rgba(0, 0, 0, 0.04), 0px 6.65px 5.32px 0px rgba(0, 0, 0, 0.03), 0px 2.767px 2.214px 0px rgba(0, 0, 0, 0.02); padding: 6px 8px;",formatter:function(e){let i,n
|
|
2436
|
+
switch(g){case"avg_session_sec":n="Visit duration",i=(0,s.formatVisitDuration)(e[0].value[1])
|
|
2437
2437
|
break
|
|
2438
2438
|
case"bounce_rate":n="Bounce rate",i=null!==e[0].value[1]&&(100*e[0].value[1]).toFixed(0)+"%"
|
|
2439
2439
|
break
|
|
2440
|
-
default:n="Unique visits",i=null!==e[0].value[1]&&(0,
|
|
2440
|
+
default:n="Unique visits",i=null!==e[0].value[1]&&(0,a.formatNumber)(e[0].value[1])}i||(i="N/A")
|
|
2441
2441
|
const o=1===t?"D MMM YYYY HH:mm":"D MMM YYYY"
|
|
2442
|
-
return`<div><div class="gh-stats-tooltip-header">${(0,r.default)(e[0].value[0]).format(o)}</div><div class="gh-stats-tooltip-data"><span class="gh-stats-tooltip-marker" style="background: ${
|
|
2442
|
+
return`<div><div class="gh-stats-tooltip-header">${(0,r.default)(e[0].value[0]).format(o)}</div><div class="gh-stats-tooltip-data"><span class="gh-stats-tooltip-marker" style="background: ${b}"></span><span class="gh-stats-tooltip-label">${n}</span> <span class="gh-stats-tooltip-value">${i}</span></div></div>`}},series:[{itemStyle:{color:b},type:"line",areaStyle:{opacity:.6,color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:(0,s.hexToRgba)(b,.15)},{offset:1,color:(0,s.hexToRgba)(b,0)}],global:!1}},lineStyle:{width:2,cap:"square"},emphasis:{itemStyle:{opacity:1,borderWidth:3}},showSymbol:!1,symbol:"circle",symbolSize:10,z:8,smooth:!1,smoothMonotone:"x",name:g,data:(c??[]).map((e=>[String(e[f]),e[g]]))}]}})}))}},d=h(u.prototype,"config",[o.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),c=h(u.prototype,"settings",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),u)
|
|
2443
2443
|
Ember._setComponentTemplate(b,f)})),define("ghost-admin/components/stats/charts/technical",["exports","@glimmer/component","react","@tinybirdco/charts","ghost-admin/utils/stats","ghost-admin/helpers/capitalize-first-letter","ghost-admin/helpers/format-number","ghost-admin/decorators/inject"],(function(e,t,i,r,n,a,s,o){var l,u,d,c,p,m,h,b
|
|
2444
2444
|
function f(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function g(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
|
|
2445
2445
|
var i=e[Symbol.toPrimitive]
|
|
@@ -2453,11 +2453,11 @@ let w=e.default=(l=Ember.inject.service,u=Ember.inject.service,d=Ember._action,c
|
|
|
2453
2453
|
let o=t
|
|
2454
2454
|
const l=n.statsStaticColors.slice(0,5),u=(0,n.getStatsParams)(this.config,e,{limit:5})
|
|
2455
2455
|
let d,c,p
|
|
2456
|
-
switch(o){case"browsers":d
|
|
2456
|
+
switch(o){case"browsers":d=(0,n.getEndpointUrl)(this.config,"api_top_browsers"),c="browser",p="Browser"
|
|
2457
2457
|
break
|
|
2458
|
-
case"os":d
|
|
2458
|
+
case"os":d=(0,n.getEndpointUrl)(this.config,"api_top_os"),c="os",p="OS"
|
|
2459
2459
|
break
|
|
2460
|
-
default:d
|
|
2460
|
+
default:d=(0,n.getEndpointUrl)(this.config,"api_top_devices"),c="device",p="Device"}const{data:m,meta:h,error:b,loading:f}=(0,r.useQuery)({endpoint:d,token:(0,n.getToken)(this.config),params:u}),g=(m??[]).map(((e,t)=>({name:e[c],value:e.visits,color:l[t]})))
|
|
2461
2461
|
return i.default.createElement("div",{className:"gh-stats-piechart-container"},i.default.createElement("div",{className:"gh-stats-piechart"},i.default.createElement(r.DonutChart,{data:m,meta:h,loading:f,error:b,index:c,categories:["visits"],colorPalette:l,backgroundColor:"transparent",fontSize:"13px",textColor:"#AEB7C1",showLegend:!0,params:u,height:"230px",options:{color:l,tooltip:{show:!0,trigger:"item",backgroundColor:"#fff",textStyle:{color:"#15171A"},extraCssText:"border: none !important; box-shadow: 0px 100px 80px 0px rgba(0, 0, 0, 0.07), 0px 41.778px 33.422px 0px rgba(0, 0, 0, 0.05), 0px 22.336px 17.869px 0px rgba(0, 0, 0, 0.04), 0px 12.522px 10.017px 0px rgba(0, 0, 0, 0.04), 0px 6.65px 5.32px 0px rgba(0, 0, 0, 0.03), 0px 2.767px 2.214px 0px rgba(0, 0, 0, 0.02); padding: 6px 10px;",formatter:function(e){return`<span style="background-color: ${e.color}; display: inline-block; width: 10px; height: 10px; margin-right: 5px; border-radius: 2px;"></span> <span class="gh-stats-tooltip-label">${e.name}</span> <span class="gh-stats-tooltip-value">${(0,s.formatNumber)(e.value)}</span>`}},legend:{show:!1,orient:"vertical",left:"left",textStyle:{color:"#AEB7C1"}},series:[{animation:!0,name:p,padAngle:1.5,type:"pie",radius:["67%","90%"],center:["50%","50%"],data:g,label:{show:!1,formatter:"{b}: {c}"},labelLine:{lineStyle:{color:"#DDE1E5"},smooth:.2,length:10,length2:20},padding:0}]}})),i.default.createElement("table",null,i.default.createElement("thead",null,i.default.createElement("tr",null,i.default.createElement("th",null,i.default.createElement("span",{className:"gh-stats-data-header"},p)),i.default.createElement("th",null,i.default.createElement("span",{className:"gh-stats-data-header"},"Visits")))),i.default.createElement("tbody",null,g.map(((e,t)=>i.default.createElement("tr",{key:t},i.default.createElement("td",null,i.default.createElement("a",{href:"#",onClick:t=>{t.preventDefault(),this.navigateToFilter(c,e.name)},className:"gh-stats-data-label"},i.default.createElement("span",{style:{backgroundColor:e.color,display:"inline-block",width:"10px",height:"10px",marginRight:"5px",borderRadius:"2px"}}),n.STATS_LABEL_MAPPINGS[e.name]||(0,a.capitalizeFirstLetter)(e.name))),i.default.createElement("td",null,i.default.createElement("span",{className:"gh-stats-data-value"},(0,s.formatNumber)(e.value)))))))))}))}navigateToFilter(e,t){this.updateQueryParams({[e]:t})}updateQueryParams(e){const t={...this.router.currentRoute.queryParams,...e,timezone:this.settings.timezone}
|
|
2462
2462
|
this.router.transitionTo({queryParams:t})}},m=v(p.prototype,"router",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),h=v(p.prototype,"settings",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),b=v(p.prototype,"config",[o.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),v(p.prototype,"navigateToFilter",[d],Object.getOwnPropertyDescriptor(p.prototype,"navigateToFilter"),p.prototype),v(p.prototype,"updateQueryParams",[c],Object.getOwnPropertyDescriptor(p.prototype,"updateQueryParams"),p.prototype),p)
|
|
2463
2463
|
Ember._setComponentTemplate(y,w)})),define("ghost-admin/components/stats/charts/top-locations",["exports","ghost-admin/components/stats/modal-stats-all","@glimmer/component","react","i18n-iso-countries","i18n-iso-countries/langs/en.json","@tinybirdco/charts","ghost-admin/utils/stats","ghost-admin/helpers/format-number","ghost-admin/decorators/inject"],(function(e,t,i,r,n,a,s,o,l,u){var d,c,p,m,h,b,f,g,v,y,w,E
|
|
@@ -2470,7 +2470,7 @@ return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enum
|
|
|
2470
2470
|
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=i.slice().reverse().reduce((function(i,r){return r(e,t,i)||i}),a),n&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(n):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
|
|
2471
2471
|
const _=Ember.HTMLBars.template({id:"o+PAxxjq",block:'{"symbols":["@os","@pathname","@source","@location","@browser","@device","@audience","@chartRange","@mockData"],"statements":[[10,"div"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-stats-metric-header"],[12],[10,"h5"],[14,0,"gh-stats-metric-label"],[12],[2,"Locations"],[13],[13],[2,"\\n "],[11,"div"],[4,[38,3],[[32,0,["ReactComponent"]]],[["props"],[[30,[36,2],null,[["chartRange","audience","device","browser","location","source","pathname","os","mockData"],[[32,8],[32,7],[32,6],[32,5],[32,4],[32,3],[32,2],[32,1],[32,9]]]]]]],[12],[13],[2,"\\n"],[13],[2,"\\n\\n"],[6,[37,4],[[32,0,["showSeeAll"]]],null,[["default"],[{"statements":[[10,"div"],[14,0,"gh-stats-see-all-container"],[12],[2,"\\n "],[11,"button"],[24,0,"gh-btn gh-btn-link gh-stats-see-all-btn"],[24,4,"button"],[4,[38,1],["click",[30,[36,0],[[32,0,["openSeeAll"]],[32,8],[32,7],[32,6],[32,5],[32,4],[32,3],[32,2],[32,1]],null]],null],[12],[2,"\\n "],[10,"span"],[12],[2,"See all →"],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"]],"parameters":[]}]]]],"hasEval":false,"upvars":["fn","on","hash","react-render","if"]}',moduleName:"ghost-admin/components/stats/charts/top-locations.hbs"})
|
|
2472
2472
|
n.default.registerLocale(a.default)
|
|
2473
|
-
let j=e.default=(d=Ember.inject.service,c=Ember.inject.service,p=Ember.inject.service,m=Ember._tracked,h=Ember._action,b=Ember._action,f=class extends i.default{constructor(...e){super(...e),k(this,"config",g,this),k(this,"modals",v,this),k(this,"router",y,this),k(this,"settings",w,this),k(this,"showSeeAll",E,this),P(this,"getCountryName",(e=>o.STATS_LABEL_MAPPINGS[e]||n.default.getName(e,"en")||"Unknown")),P(this,"ReactComponent",(e=>{const t=(0,o.getStatsParams)(this.config,e,{limit:7}),{data:i,meta:n,error:a,loading:u}=(0,s.useQuery)({endpoint
|
|
2473
|
+
let j=e.default=(d=Ember.inject.service,c=Ember.inject.service,p=Ember.inject.service,m=Ember._tracked,h=Ember._action,b=Ember._action,f=class extends i.default{constructor(...e){super(...e),k(this,"config",g,this),k(this,"modals",v,this),k(this,"router",y,this),k(this,"settings",w,this),k(this,"showSeeAll",E,this),P(this,"getCountryName",(e=>o.STATS_LABEL_MAPPINGS[e]||n.default.getName(e,"en")||"Unknown")),P(this,"ReactComponent",(e=>{const t=(0,o.getStatsParams)(this.config,e,{limit:7}),{data:i,meta:n,error:a,loading:u}=(0,s.useQuery)({endpoint:(0,o.getEndpointUrl)(this.config,"api_top_locations"),token:(0,o.getToken)(this.config),params:t})
|
|
2474
2474
|
return this.updateSeeAllVisibility(i),r.default.createElement(s.BarList,{data:i?i.slice(0,6):[],meta:n,error:a,loading:u,index:"location",indexConfig:{label:r.default.createElement("span",{className:"gh-stats-data-header"},"Country"),renderBarContent:({label:e})=>r.default.createElement("span",{className:"gh-stats-data-label"},r.default.createElement("a",{href:"#",onClick:t=>{t.preventDefault(),this.navigateToFilter(e||"Unknown")},className:"gh-stats-bar-text"},r.default.createElement("span",{title:this.getCountryName(e)||"Unknown"},(0,o.getCountryFlag)(e)," ",this.getCountryName(e)||"Unknown")))},categories:["visits"],categoryConfig:{visits:{label:r.default.createElement("span",{className:"gh-stats-data-header"},"Visits"),renderValue:({value:e})=>r.default.createElement("span",{className:"gh-stats-data-value"},(0,l.formatNumber)(e))}},colorPalette:[o.barListColor]})}))}openSeeAll(){this.modals.open(t.default,{type:"top-locations",chartRange:this.args.chartRange,audience:this.args.audience})}navigateToFilter(e){this.updateQueryParams({location:e})}updateQueryParams(e){const t={...this.router.currentRoute.queryParams,...e,timezone:this.settings.timezone}
|
|
2475
2475
|
this.router.transitionTo({queryParams:t})}updateSeeAllVisibility(e){this.showSeeAll=e&&e.length>6}},g=O(f.prototype,"config",[u.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),v=O(f.prototype,"modals",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),y=O(f.prototype,"router",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),w=O(f.prototype,"settings",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),E=O(f.prototype,"showSeeAll",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),O(f.prototype,"openSeeAll",[h],Object.getOwnPropertyDescriptor(f.prototype,"openSeeAll"),f.prototype),O(f.prototype,"navigateToFilter",[b],Object.getOwnPropertyDescriptor(f.prototype,"navigateToFilter"),f.prototype),f)
|
|
2476
2476
|
Ember._setComponentTemplate(_,j)})),define("ghost-admin/components/stats/charts/top-pages",["exports","ghost-admin/components/stats/modal-stats-all","@glimmer/component","react","@tinybirdco/charts","ghost-admin/utils/stats","ghost-admin/helpers/format-number","ghost-admin/decorators/inject"],(function(e,t,i,r,n,a,s,o){var l,u,d,c,p,m,h,b,f,g,v,y,w,E,k,P,O
|
|
@@ -2482,7 +2482,7 @@ throw new TypeError("@@toPrimitive must return a primitive value.")}return("stri
|
|
|
2482
2482
|
return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function T(e,t,i,r,n){var a={}
|
|
2483
2483
|
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=i.slice().reverse().reduce((function(i,r){return r(e,t,i)||i}),a),n&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(n):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
|
|
2484
2484
|
const z=Ember.HTMLBars.template({id:"X7M7tcSy",block:'{"symbols":["@os","@pathname","@source","@location","@browser","@device","@audience","@chartRange","@mockData"],"statements":[[10,"div"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-stats-metric-header"],[12],[2,"\\n "],[10,"h5"],[14,0,"gh-stats-metric-label"],[12],[2,"Content"],[13],[2,"\\n"],[2," "],[13],[2,"\\n "],[11,"div"],[4,[38,3],[[32,0,["ReactComponent"]]],[["props"],[[30,[36,2],null,[["chartRange","audience","device","browser","location","source","pathname","os","mockData"],[[32,8],[32,7],[32,6],[32,5],[32,4],[32,3],[32,2],[32,1],[32,9]]]]]]],[12],[13],[2,"\\n"],[13],[2,"\\n\\n"],[6,[37,4],[[32,0,["showSeeAll"]]],null,[["default"],[{"statements":[[10,"div"],[14,0,"gh-stats-see-all-container"],[12],[2,"\\n "],[11,"button"],[24,0,"gh-btn gh-btn-link gh-stats-see-all-btn"],[24,4,"button"],[4,[38,1],["click",[30,[36,0],[[32,0,["openSeeAll"]],[32,8],[32,7],[32,6],[32,5],[32,4],[32,3],[32,2],[32,1]],null]],null],[12],[2,"\\n "],[10,"span"],[12],[2,"See all →"],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"]],"parameters":[]}]]]],"hasEval":false,"upvars":["fn","on","hash","react-render","if"]}',moduleName:"ghost-admin/components/stats/charts/top-pages.hbs"})
|
|
2485
|
-
let x=e.default=(l=Ember.inject.service,u=Ember.inject.service,d=Ember.inject.service,c=Ember._tracked,p=Ember._tracked,m=Ember._tracked,h=Ember._action,b=Ember._action,f=Ember._action,g=class extends i.default{constructor(...e){super(...e),_(this,"config",v,this),_(this,"modals",y,this),_(this,"router",w,this),_(this,"settings",E,this),_(this,"contentOption",k,this),_(this,"contentOptions",P,this),_(this,"showSeeAll",O,this),j(this,"ReactComponent",(e=>{const t=(0,a.getStatsParams)(this.config,e,{limit:7}),{data:i,meta:o,error:l,loading:u}=(0,n.useQuery)({endpoint
|
|
2485
|
+
let x=e.default=(l=Ember.inject.service,u=Ember.inject.service,d=Ember.inject.service,c=Ember._tracked,p=Ember._tracked,m=Ember._tracked,h=Ember._action,b=Ember._action,f=Ember._action,g=class extends i.default{constructor(...e){super(...e),_(this,"config",v,this),_(this,"modals",y,this),_(this,"router",w,this),_(this,"settings",E,this),_(this,"contentOption",k,this),_(this,"contentOptions",P,this),_(this,"showSeeAll",O,this),j(this,"ReactComponent",(e=>{const t=(0,a.getStatsParams)(this.config,e,{limit:7}),{data:i,meta:o,error:l,loading:u}=(0,n.useQuery)({endpoint:(0,a.getEndpointUrl)(this.config,"api_top_pages"),token:(0,a.getToken)(this.config),params:t})
|
|
2486
2486
|
return this.updateSeeAllVisibility(i),r.default.createElement(n.BarList,{data:i?i.slice(0,6):[],meta:o,error:l,loading:u,index:"pathname",indexConfig:{label:r.default.createElement("span",{className:"gh-stats-data-header"},"Post or page"),renderBarContent:({label:e})=>r.default.createElement("span",{className:"gh-stats-data-label"},r.default.createElement("a",{href:"#",onClick:t=>{t.preventDefault(),this.navigateToFilter(e)},className:"gh-stats-bar-text"},r.default.createElement("span",{title:e},e)),e&&r.default.createElement("a",{href:e,target:"_blank",className:"gh-stats-external-link"},r.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},r.default.createElement("path",{d:"M15 3h6v6"}),r.default.createElement("path",{d:"M10 14 21 3"}),r.default.createElement("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}))))},categories:["visits"],categoryConfig:{visits:{label:r.default.createElement("span",{className:"gh-stats-data-header"},"Visits"),renderValue:({value:e})=>r.default.createElement("span",{className:"gh-stats-data-value"},(0,s.formatNumber)(e))}},colorPalette:[a.barListColor]})}))}openSeeAll(e,i){this.modals.open(t.default,{type:"top-pages",chartRange:e,audience:i})}onContentOptionChange(e){this.contentOption=e}navigateToFilter(e){this.updateQueryParams({pathname:e})}updateQueryParams(e){const t={...this.router.currentRoute.queryParams,...e,timezone:this.settings.timezone}
|
|
2487
2487
|
this.router.transitionTo({queryParams:t})}updateSeeAllVisibility(e){this.showSeeAll=e&&e.length>6}},v=T(g.prototype,"config",[o.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),y=T(g.prototype,"modals",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),w=T(g.prototype,"router",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),E=T(g.prototype,"settings",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=T(g.prototype,"contentOption",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return a.CONTENT_OPTIONS[0]}}),P=T(g.prototype,"contentOptions",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return a.CONTENT_OPTIONS}}),O=T(g.prototype,"showSeeAll",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),T(g.prototype,"openSeeAll",[h],Object.getOwnPropertyDescriptor(g.prototype,"openSeeAll"),g.prototype),T(g.prototype,"onContentOptionChange",[b],Object.getOwnPropertyDescriptor(g.prototype,"onContentOptionChange"),g.prototype),T(g.prototype,"navigateToFilter",[f],Object.getOwnPropertyDescriptor(g.prototype,"navigateToFilter"),g.prototype),g)
|
|
2488
2488
|
Ember._setComponentTemplate(z,x)})),define("ghost-admin/components/stats/charts/top-sources",["exports","ghost-admin/components/stats/modal-stats-all","@glimmer/component","react","@tinybirdco/charts","ghost-admin/utils/stats","ghost-admin/helpers/format-number","ghost-admin/decorators/inject"],(function(e,t,i,r,n,a,s,o){var l,u,d,c,p,m,h,b,f,g,v,y,w,E,k,P,O
|
|
@@ -2494,18 +2494,18 @@ throw new TypeError("@@toPrimitive must return a primitive value.")}return("stri
|
|
|
2494
2494
|
return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function T(e,t,i,r,n){var a={}
|
|
2495
2495
|
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=i.slice().reverse().reduce((function(i,r){return r(e,t,i)||i}),a),n&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(n):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
|
|
2496
2496
|
const z=Ember.HTMLBars.template({id:"oP+sF5tl",block:'{"symbols":["@os","@pathname","@source","@location","@browser","@device","@audience","@chartRange","@mockData"],"statements":[[10,"div"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-stats-metric-header"],[12],[2,"\\n "],[10,"h5"],[14,0,"gh-stats-metric-label"],[12],[2,"Sources"],[13],[2,"\\n"],[2," "],[13],[2,"\\n\\n "],[11,"div"],[4,[38,3],[[32,0,["ReactComponent"]]],[["props"],[[30,[36,2],null,[["chartRange","audience","device","browser","location","source","pathname","os","mockData"],[[32,8],[32,7],[32,6],[32,5],[32,4],[32,3],[32,2],[32,1],[32,9]]]]]]],[12],[13],[2,"\\n"],[13],[2,"\\n\\n"],[6,[37,4],[[32,0,["showSeeAll"]]],null,[["default"],[{"statements":[[10,"div"],[14,0,"gh-stats-see-all-container"],[12],[2,"\\n "],[11,"button"],[24,0,"gh-btn gh-btn-link gh-stats-see-all-btn"],[24,4,"button"],[4,[38,1],["click",[30,[36,0],[[32,0,["openSeeAll"]],[32,8],[32,7],[32,6],[32,5],[32,4],[32,3],[32,2],[32,1]],null]],null],[12],[2,"\\n "],[10,"span"],[12],[2,"See all →"],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"]],"parameters":[]}]]]],"hasEval":false,"upvars":["fn","on","hash","react-render","if"]}',moduleName:"ghost-admin/components/stats/charts/top-sources.hbs"})
|
|
2497
|
-
let x=e.default=(l=Ember.inject.service,u=Ember.inject.service,d=Ember.inject.service,c=Ember._tracked,p=Ember._tracked,m=Ember._tracked,h=Ember._action,b=Ember._action,f=Ember._action,g=class extends i.default{constructor(...e){super(...e),_(this,"config",v,this),_(this,"modals",y,this),_(this,"router",w,this),_(this,"settings",E,this),_(this,"campaignOption",k,this),_(this,"campaignOptions",P,this),_(this,"showSeeAll",O,this),j(this,"ReactComponent",(e=>{const{data:t,meta:i,error:o,loading:l}=(0,n.useQuery)({endpoint
|
|
2497
|
+
let x=e.default=(l=Ember.inject.service,u=Ember.inject.service,d=Ember.inject.service,c=Ember._tracked,p=Ember._tracked,m=Ember._tracked,h=Ember._action,b=Ember._action,f=Ember._action,g=class extends i.default{constructor(...e){super(...e),_(this,"config",v,this),_(this,"modals",y,this),_(this,"router",w,this),_(this,"settings",E,this),_(this,"campaignOption",k,this),_(this,"campaignOptions",P,this),_(this,"showSeeAll",O,this),j(this,"ReactComponent",(e=>{const{data:t,meta:i,error:o,loading:l}=(0,n.useQuery)({endpoint:(0,a.getEndpointUrl)(this.config,"api_top_sources"),token:(0,a.getToken)(this.config),params:(0,a.getStatsParams)(this.config,e,{limit:7})})
|
|
2498
2498
|
return this.updateSeeAllVisibility(t),r.default.createElement(n.BarList,{data:t?t.slice(0,6):[],meta:i,error:o,loading:l,index:"source",indexConfig:{label:r.default.createElement("span",{className:"gh-stats-data-header"},"Source"),renderBarContent:({label:e})=>r.default.createElement("span",{className:"gh-stats-data-label"},r.default.createElement("a",{href:"#",style:{cursor:"default"},onClick:t=>{t.preventDefault(),this.navigateToFilter(e||"direct")},className:"gh-stats-bar-text"},r.default.createElement("img",{src:`https://www.faviconextractor.com/favicon/${e||"direct"}?larger=true`,className:"gh-stats-favicon",onError:e=>{e.target.src="https://static.ghost.org/v5.0.0/images/globe-icon.svg"}}),r.default.createElement("span",{title:e||"Direct"},a.STATS_LABEL_MAPPINGS[e]||e||"Direct")),e&&r.default.createElement("a",{href:`https://${e}`,target:"_blank",className:"gh-stats-external-link"},r.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},r.default.createElement("path",{d:"M15 3h6v6"}),r.default.createElement("path",{d:"M10 14 21 3"}),r.default.createElement("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}))))},categories:["visits"],categoryConfig:{visits:{label:r.default.createElement("span",{className:"gh-stats-data-header"},"Visits"),renderValue:({value:e})=>r.default.createElement("span",{className:"gh-stats-data-value"},(0,s.formatNumber)(e))}},colorPalette:[a.barListColor]})}))}onCampaignOptionChange(e){this.campaignOption=e}openSeeAll(){this.modals.open(t.default,{type:"top-sources",chartRange:this.args.chartRange,audience:this.args.audience})}navigateToFilter(e){this.updateQueryParams({source:e})}updateQueryParams(e){const t={...this.router.currentRoute.queryParams,...e,timezone:this.settings.timezone}
|
|
2499
2499
|
this.router.transitionTo({queryParams:t})}updateSeeAllVisibility(e){this.showSeeAll=e&&e.length>6}},v=T(g.prototype,"config",[o.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),y=T(g.prototype,"modals",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),w=T(g.prototype,"router",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),E=T(g.prototype,"settings",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),k=T(g.prototype,"campaignOption",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return a.CAMPAIGN_OPTIONS[0]}}),P=T(g.prototype,"campaignOptions",[p],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return a.CAMPAIGN_OPTIONS}}),O=T(g.prototype,"showSeeAll",[m],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),T(g.prototype,"onCampaignOptionChange",[h],Object.getOwnPropertyDescriptor(g.prototype,"onCampaignOptionChange"),g.prototype),T(g.prototype,"openSeeAll",[b],Object.getOwnPropertyDescriptor(g.prototype,"openSeeAll"),g.prototype),T(g.prototype,"navigateToFilter",[f],Object.getOwnPropertyDescriptor(g.prototype,"navigateToFilter"),g.prototype),g)
|
|
2500
|
-
Ember._setComponentTemplate(z,x)})),define("ghost-admin/components/stats/kpis-overview",["exports","@glimmer/component","fetch","ghost-admin/
|
|
2500
|
+
Ember._setComponentTemplate(z,x)})),define("ghost-admin/components/stats/kpis-overview",["exports","@glimmer/component","fetch","ghost-admin/helpers/format-number","ghost-admin/utils/stats","ghost-admin/decorators/inject","ember-concurrency"],(function(e,t,i,r,n,a,s){var o,l,u,d,c,p,m,h,b,f,g,v,y,w,E,k,P,O
|
|
2501
2501
|
function _(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function j(e,t,i,r,n){var a={}
|
|
2502
2502
|
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=i.slice().reverse().reduce((function(i,r){return r(e,t,i)||i}),a),n&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(n):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
|
|
2503
2503
|
const T=Ember.HTMLBars.template({id:"Yx1WVIR9",block:'{"symbols":["@mockData","@os","@pathname","@source","@location","@browser","@device","@audience","@chartRange"],"statements":[[2,"\\n"],[11,"div"],[24,0,"gh-stats-tabs-header"],[4,[38,0],[[32,0,["fetchDataIfNeeded"]],[32,9],[32,8],[32,7],[32,6],[32,5],[32,4],[32,3],[32,2],[32,1]],null],[12],[2,"\\n "],[10,"div"],[14,0,"gh-stats-tabs"],[12],[2,"\\n "],[11,"button"],[16,0,[31,["gh-stats-tab min-width ",[30,[36,1],[[32,0,["uniqueVisitsTabSelected"]],"is-selected"],null]]]],[24,4,"button"],[4,[38,2],["click",[32,0,["changeTabToUniqueVisits"]]],null],[12],[2,"\\n "],[8,"stats/parts/metric",[],[["@label","@value"],["Unique visits",[32,0,["totals","visits"]]]],null],[2,"\\n "],[13],[2,"\\n\\n "],[11,"button"],[16,0,[31,["gh-stats-tab min-width ",[30,[36,1],[[32,0,["pageviewsTabSelected"]],"is-selected"],null]]]],[24,4,"button"],[4,[38,2],["click",[32,0,["changeTabToPageviews"]]],null],[12],[2,"\\n "],[8,"stats/parts/metric",[],[["@label","@value"],["Pageviews",[32,0,["totals","pageviews"]]]],null],[2,"\\n "],[13],[2,"\\n\\n "],[11,"button"],[16,0,[31,["gh-stats-tab min-width ",[30,[36,1],[[32,0,["bounceRateTabSelected"]],"is-selected"],null]]]],[24,4,"button"],[4,[38,2],["click",[32,0,["changeTabToBounceRate"]]],null],[12],[2,"\\n "],[8,"stats/parts/metric",[],[["@label","@value"],["Bounce rate",[31,[[32,0,["totals","bounce_rate"]],"%"]]]],null],[2,"\\n "],[13],[2,"\\n\\n "],[11,"button"],[16,0,[31,["gh-stats-tab min-width ",[30,[36,1],[[32,0,["avgVisitTimeTabSelected"]],"is-selected"],null]]]],[24,4,"button"],[4,[38,2],["click",[32,0,["changeTabToAvgVisitTime"]]],null],[12],[2,"\\n "],[8,"stats/parts/metric",[],[["@label","@value"],["Visit duration",[32,0,["totals","avg_session_sec"]]]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"],[10,"div"],[14,0,"gh-stats-kpis-chart-container"],[12],[2,"\\n "],[8,"stats/charts/kpis",[],[["@chartRange","@audience","@device","@browser","@location","@source","@pathname","@os","@selected","@mockData"],[[32,9],[32,8],[32,7],[32,6],[32,5],[32,4],[32,3],[32,2],[32,0,["selected"]],[32,1]]],null],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["did-update","if","on"]}',moduleName:"ghost-admin/components/stats/kpis-overview.hbs"})
|
|
2504
2504
|
let z=e.default=(o=Ember.inject.service,l=Ember._tracked,u=Ember._tracked,d=Ember._tracked,c=Ember._tracked,p=Ember._action,m=Ember._action,h=Ember._action,b=Ember._action,f=Ember._action,g=Ember._action,v=class extends t.default{get granularityOptions(){const e=this.args.chartRange
|
|
2505
|
-
return e>=8&&e<=30?[{name:"Days",value:"days"},{name:"Weeks",value:"weeks"}]:e>30&&e<=365?[{name:"Days",value:"days"},{name:"Weeks",value:"weeks"},{name:"Months",value:"months"}]:[{name:"Weeks",value:"weeks"},{name:"Months",value:"months"}]}onGranularityChange(e){this.granularity=e}constructor(){super(...arguments),_(this,"config",y,this),_(this,"settings",w,this),_(this,"selected",E,this),_(this,"totals",k,this),_(this,"showGranularity",P,this),_(this,"granularity",O,this),this.fetchDataIfNeeded()}fetchDataIfNeeded(){this.fetchData.perform(this.args)}*fetchData(e){try{const t=new URLSearchParams((0,
|
|
2506
|
-
if(!
|
|
2507
|
-
const
|
|
2508
|
-
this.totals=this.processData(
|
|
2505
|
+
return e>=8&&e<=30?[{name:"Days",value:"days"},{name:"Weeks",value:"weeks"}]:e>30&&e<=365?[{name:"Days",value:"days"},{name:"Weeks",value:"weeks"},{name:"Months",value:"months"}]:[{name:"Weeks",value:"weeks"},{name:"Months",value:"months"}]}onGranularityChange(e){this.granularity=e}constructor(){super(...arguments),_(this,"config",y,this),_(this,"settings",w,this),_(this,"selected",E,this),_(this,"totals",k,this),_(this,"showGranularity",P,this),_(this,"granularity",O,this),this.fetchDataIfNeeded()}fetchDataIfNeeded(){this.fetchData.perform(this.args)}*fetchData(e){try{const t=new URLSearchParams((0,n.getStatsParams)(this.config,e)),r=(0,n.getEndpointUrl)(this.config,"api_kpis",t),a=(0,n.getToken)(this.config),s=yield(0,i.default)(r,{method:"GET",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`}})
|
|
2506
|
+
if(!s.ok)throw new Error("Network response was not ok")
|
|
2507
|
+
const o=yield s.json()
|
|
2508
|
+
this.totals=this.processData(o.data)}catch(t){this.totals=null}}processData(e){const t=e,i=e=>t.reduce(((t,i)=>(i[e]??0)+t),0),a=i("visits"),s=e=>t.reduce(((t,i)=>t+(i[e]??0)*i.visits/a),0),o=(0,n.formatVisitDuration)(s("avg_session_sec")),l=(100*s("bounce_rate")).toFixed(0),u={avg_session_sec:isNaN(s("avg_session_sec"))?"0m":o,pageviews:(0,r.formatNumber)(i("pageviews"))||"0",visits:(0,r.formatNumber)(a)||"0",bounce_rate:isNaN(l)?"0":l}
|
|
2509
2509
|
return this.totals=u,this.args.onTotalsChange?.(u),u}get hasNoViews(){return"0"===this.totals?.visits||"0"===this.totals?.pageviews}willDestroy(){super.willDestroy(),document.removeEventListener("visibilitychange",this.fetchData.perform)}changeTabToUniqueVisits(){this.selected="unique_visits"}changeTabToPageviews(){this.selected="pageviews"}changeTabToAvgVisitTime(){this.selected="avg_session_sec"}changeTabToBounceRate(){this.selected="bounce_rate"}get uniqueVisitsTabSelected(){return"unique_visits"===this.selected}get pageviewsTabSelected(){return"pageviews"===this.selected}get avgVisitTimeTabSelected(){return"avg_session_sec"===this.selected}get bounceRateTabSelected(){return"bounce_rate"===this.selected}},y=j(v.prototype,"config",[a.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),w=j(v.prototype,"settings",[o],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),E=j(v.prototype,"selected",[l],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return"unique_visits"}}),k=j(v.prototype,"totals",[u],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return null}}),P=j(v.prototype,"showGranularity",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),O=j(v.prototype,"granularity",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return this.granularityOptions[0]}}),j(v.prototype,"onGranularityChange",[p],Object.getOwnPropertyDescriptor(v.prototype,"onGranularityChange"),v.prototype),j(v.prototype,"fetchDataIfNeeded",[m],Object.getOwnPropertyDescriptor(v.prototype,"fetchDataIfNeeded"),v.prototype),j(v.prototype,"fetchData",[s.task],Object.getOwnPropertyDescriptor(v.prototype,"fetchData"),v.prototype),j(v.prototype,"changeTabToUniqueVisits",[h],Object.getOwnPropertyDescriptor(v.prototype,"changeTabToUniqueVisits"),v.prototype),j(v.prototype,"changeTabToPageviews",[b],Object.getOwnPropertyDescriptor(v.prototype,"changeTabToPageviews"),v.prototype),j(v.prototype,"changeTabToAvgVisitTime",[f],Object.getOwnPropertyDescriptor(v.prototype,"changeTabToAvgVisitTime"),v.prototype),j(v.prototype,"changeTabToBounceRate",[g],Object.getOwnPropertyDescriptor(v.prototype,"changeTabToBounceRate"),v.prototype),v)
|
|
2510
2510
|
Ember._setComponentTemplate(T,z)})),define("ghost-admin/components/stats/modal-stats-all",["exports","@glimmer/component","react","i18n-iso-countries","i18n-iso-countries/langs/en.json","@tinybirdco/charts","ghost-admin/utils/stats","ghost-admin/helpers/format-number","ghost-admin/decorators/inject"],(function(e,t,i,r,n,a,s,o,l){var u,d,c,p,m,h,b
|
|
2511
2511
|
function f(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function g(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
|
|
@@ -2519,11 +2519,11 @@ const y=Ember.HTMLBars.template({id:"IN49+reA",block:'{"symbols":["@close"],"sta
|
|
|
2519
2519
|
r.default.registerLocale(n.default)
|
|
2520
2520
|
let w=e.default=(u=Ember.inject.service,d=Ember.inject.service,c=Ember._action,p=class extends t.default{constructor(...e){super(...e),f(this,"config",m,this),f(this,"router",h,this),f(this,"modals",b,this),g(this,"getCountryName",(e=>r.default.getName(e,"en")||"Unknown")),g(this,"ReactComponent",(e=>{const{type:t}=e,r=(0,s.getStatsParams)(this.config,e)
|
|
2521
2521
|
let n,l,u,d="Unknown"
|
|
2522
|
-
switch(t){case"top-sources":n
|
|
2522
|
+
switch(t){case"top-sources":n=(0,s.getEndpointUrl)(this.config,"api_top_sources"),l="Source",u="source",d="Direct"
|
|
2523
2523
|
break
|
|
2524
|
-
case"top-locations":n
|
|
2524
|
+
case"top-locations":n=(0,s.getEndpointUrl)(this.config,"api_top_locations"),l="Country",u="location",d="Unknown"
|
|
2525
2525
|
break
|
|
2526
|
-
default:n
|
|
2526
|
+
default:n=(0,s.getEndpointUrl)(this.config,"api_top_pages"),l="Post or page",u="pathname"}const{data:c,meta:p,error:m,loading:h}=(0,a.useQuery)({endpoint:n,token:(0,s.getToken)(this.config),params:r})
|
|
2527
2527
|
return i.default.createElement(a.BarList,{data:c,meta:p,error:m,loading:h,index:u,indexConfig:{label:i.default.createElement("span",{className:"gh-stats-data-header"},l),renderBarContent:({label:e})=>i.default.createElement("span",{className:"gh-stats-data-label"},i.default.createElement("a",{href:"#",onClick:t=>{t.preventDefault(),this.navigateToFilter(e)},className:"gh-stats-bar-text"},"top-locations"===t&&(0,s.getCountryFlag)(e),"top-sources"===t&&i.default.createElement("img",{src:`https://www.google.com/s2/favicons?domain=${e||"direct"}&sz=32`,className:"gh-stats-favicon"}),"top-sources"===t&&i.default.createElement("span",{title:e||d},e||d),"top-locations"===t&&i.default.createElement("span",{title:this.getCountryName(e)||d},this.getCountryName(e)||d),"top-pages"===t&&i.default.createElement("span",{title:e||d},e)),("top-sources"===t||"top-pages"===t)&&e&&i.default.createElement("a",{href:"top-sources"===t?`https://${e}`:e,target:"_blank",className:"gh-stats-external-link"},i.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},i.default.createElement("path",{d:"M15 3h6v6"}),i.default.createElement("path",{d:"M10 14 21 3"}),i.default.createElement("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}))))},categories:["visits"],categoryConfig:{visits:{label:i.default.createElement("span",{className:"gh-stats-data-header"},"Visits"),renderValue:({value:e})=>i.default.createElement("span",{className:"gh-stats-data-value"},(0,o.formatNumber)(e))}},colorPalette:[s.barListColor]})}))}get type(){return this.args.data.type}get chartRange(){return this.args.data.chartRange}get audience(){return this.args.data.audience}get modalTitle(){switch(this.type){case"top-sources":return"Sources"
|
|
2528
2528
|
case"top-locations":return"Locations"
|
|
2529
2529
|
default:return"Content"}}navigateToFilter(e){const t={}
|
|
@@ -3998,42 +3998,42 @@ if(void 0!==i){var r=i.call(e,t||"default")
|
|
|
3998
3998
|
if("object"!=typeof r)return r
|
|
3999
3999
|
throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string")
|
|
4000
4000
|
return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function v(e,t,i,r,n){var a={}
|
|
4001
|
-
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=i.slice().reverse().reduce((function(i,r){return r(e,t,i)||i}),a),n&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(n):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=e.VersionMismatchError=e.UnsupportedMediaTypeError=e.TwoFactorTokenRequiredError=e.ThemeValidationError=e.ServerUnreachableError=e.RequestEntityTooLargeError=e.MaintenanceError=e.HostLimitError=e.EmailError=e.DataImportError=e.AcceptedResponse=void 0,e.getErrorCode=
|
|
4001
|
+
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=i.slice().reverse().reduce((function(i,r){return r(e,t,i)||i}),a),n&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(n):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=e.VersionMismatchError=e.UnsupportedMediaTypeError=e.TwoFactorTokenRequiredError=e.ThemeValidationError=e.ServerUnreachableError=e.RequestEntityTooLargeError=e.MaintenanceError=e.HostLimitError=e.EmailError=e.DataImportError=e.AcceptedResponse=void 0,e.getErrorCode=C,e.isAcceptedResponse=H,e.isDataImportError=O,e.isEmailError=F,e.isHostLimitError=I,e.isMaintenanceError=D,e.isRequestEntityTooLargeError=z,e.isServerUnreachableError=j,e.isThemeValidationError=L,e.isTwoFactorTokenRequiredError=B,e.isUnsupportedMediaTypeError=S,e.isVersionMismatchError=k
|
|
4002
4002
|
const y=/\/ghost\/api\//
|
|
4003
|
-
|
|
4004
|
-
class
|
|
4005
|
-
class
|
|
4006
|
-
class
|
|
4007
|
-
class
|
|
4008
|
-
class
|
|
4009
|
-
class
|
|
4010
|
-
class
|
|
4011
|
-
class
|
|
4012
|
-
class
|
|
4013
|
-
|
|
4014
|
-
class
|
|
4015
|
-
let
|
|
4003
|
+
function w(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(t){}return e}class E extends o.AjaxError{constructor(e){super(e,"API server is running a newer version of Ghost, please upgrade.")}}function k(e,t){return(0,o.isAjaxError)(e)?e instanceof E:"VersionMismatchError"===Ember.get(t||{},"errors.firstObject.type")}e.VersionMismatchError=E
|
|
4004
|
+
class P extends o.AjaxError{constructor(e){super(e,"The server encountered an error whilst importing data.")}}function O(e,t){return(0,o.isAjaxError)(e)?e instanceof P:"DataImportError"===Ember.get(t||{},"errors.firstObject.type")}e.DataImportError=P
|
|
4005
|
+
class _ extends o.AjaxError{constructor(e){super(e,"Server was unreachable")}}function j(e){return(0,o.isAjaxError)(e)?e instanceof _:0===e||"0"===e}e.ServerUnreachableError=_
|
|
4006
|
+
class T extends o.AjaxError{constructor(e){super(e,"Request is larger than the maximum file size the server allows")}}function z(e){return(0,o.isAjaxError)(e)?e instanceof T:413===e}e.RequestEntityTooLargeError=T
|
|
4007
|
+
class x extends o.AjaxError{constructor(e){super(e,"Request contains an unknown or unsupported file type.")}}function S(e){return(0,o.isAjaxError)(e)?e instanceof x:415===e}function C(e){return(0,o.isAjaxError)(e)&&e.payload&&e.payload.errors&&Array.isArray(e.payload.errors)&&e.payload.errors.length>0&&e.payload.errors[0].code||null}e.UnsupportedMediaTypeError=x
|
|
4008
|
+
class M extends o.AjaxError{constructor(e){super(e,"Ghost is currently undergoing maintenance, please wait a moment then retry.")}}function D(e){return(0,o.isAjaxError)(e)?e instanceof M:503===e}e.MaintenanceError=M
|
|
4009
|
+
class A extends o.AjaxError{constructor(e){super(e,"Theme is not compatible or contains errors.")}}function L(e,t){return(0,o.isAjaxError)(e)?e instanceof A:"ThemeValidationError"===Ember.get(t||{},"errors.firstObject.type")}e.ThemeValidationError=A
|
|
4010
|
+
class N extends o.AjaxError{constructor(e){super(e,"A hosting plan limit was reached or exceeded.")}}function I(e,t){return(0,o.isAjaxError)(e)?e instanceof N:"HostLimitError"===Ember.get(t||{},"errors.firstObject.type")}e.HostLimitError=N
|
|
4011
|
+
class R extends o.AjaxError{constructor(e){super(e,"Please verify your email settings")}}function F(e,t){return(0,o.isAjaxError)(e)?e instanceof R:"EmailError"===Ember.get(t||{},"errors.firstObject.type")}e.EmailError=R
|
|
4012
|
+
class U extends o.AjaxError{constructor(e){super(e=w(e),"2nd factor verification is required to sign in.")}}function B(e,t){const i="2FA_TOKEN_REQUIRED"
|
|
4013
|
+
return(0,o.isAjaxError)(e)?e instanceof U||C(e)===i:(t=w(t),Ember.get(t||{},"errors.firstObject.code")===i)}e.TwoFactorTokenRequiredError=U
|
|
4014
|
+
class V{constructor(e){this.data=e}}function H(e){return 202===e}e.AcceptedResponse=V
|
|
4015
|
+
let q=(d=Ember.inject.service,c=Ember.inject.service,p=class extends i.default{constructor(...e){super(...e),f(this,"session",m,this),f(this,"upgradeStatus",h,this),f(this,"config",b,this),g(this,"skipSessionDeletion",!1)}get headers(){return{"X-Ghost-Version":r.default.APP.version,"App-Pragma":"no-cache"}}init(){super.init(...arguments),void 0===this.isTesting&&(this.isTesting="test"===r.default.environment)}async _makeRequest(e){var i;(i=e.contentType)&&!Ember.isNone(i)&&0===i.indexOf("application/json")&&"GET"!==e.type&&"object"==typeof e.data&&(e.data=JSON.stringify(e.data)),e.withCredentials=!0,this.isTesting&&(e.headers["X-Test-User"]=this.session.user?.id)
|
|
4016
4016
|
let r=!1,a=null,s=0,o=new Date,l=0
|
|
4017
4017
|
const d=[500,1e3],c=[this.isServerUnreachableError,this.isMaintenanceError],p=()=>{const e={errorName:a,attempts:s,totalSeconds:(0,n.default)().diff((0,n.default)(o),"seconds")}
|
|
4018
4018
|
return this._responseServer&&(e.server=this._responseServer),e},m=super._makeRequest.bind(this)
|
|
4019
4019
|
for(;l<=15e3&&!r;)try{const i=await m(e)
|
|
4020
4020
|
return r=!0,0!==s&&this.config.sentry_dsn&&t.captureMessage("Request took multiple attempts",{extra:p()}),i}catch(h){if(a=h.response?.constructor?.name,l=new Date-o,this.isTesting)throw h
|
|
4021
4021
|
if(!(c.some((e=>e(h.response)))&&l<=15e3))throw s>0&&this.config.sentry_dsn?(t.captureMessage("Request failed after multiple attempts",{extra:p()}),h):h
|
|
4022
|
-
await(0,u.timeout)(d[s]||d[d.length-1]),s+=1}}handleResponse(e,i,n,l){if(t.setContext("ajax",{url:l.url,method:l.method,status:e}),t.setTag("ajax_status",e),t.setTag("ajax_url",l.url.slice(0,200)),t.setTag("ajax_method",l.method),i["content-version"]){const e=(0,a.default)(i["content-version"]),t=(0,a.default)(r.default.APP.version);(0,s.default)(t,e)&&(this.upgradeStatus.refreshRequired=!0)}if(this.isTwoFactorTokenRequiredError(e,i,n))return new
|
|
4023
|
-
if(this.isVersionMismatchError(e,i,n))return new
|
|
4024
|
-
if(this.isServerUnreachableError(e,i,n))return new
|
|
4025
|
-
if(this.isRequestEntityTooLargeError(e,i,n))return new
|
|
4026
|
-
if(this.isUnsupportedMediaTypeError(e,i,n))return new
|
|
4027
|
-
if(this.isMaintenanceError(e,i,n))return new
|
|
4028
|
-
if(this.isThemeValidationError(e,i,n))return new
|
|
4029
|
-
if(this.isHostLimitError(e,i,n))return new
|
|
4030
|
-
if(this.isEmailError(e,i,n))return new
|
|
4031
|
-
if(this.isAcceptedResponse(e))return new
|
|
4022
|
+
await(0,u.timeout)(d[s]||d[d.length-1]),s+=1}}handleResponse(e,i,n,l){if(t.setContext("ajax",{url:l.url,method:l.method,status:e}),t.setTag("ajax_status",e),t.setTag("ajax_url",l.url.slice(0,200)),t.setTag("ajax_method",l.method),i["content-version"]){const e=(0,a.default)(i["content-version"]),t=(0,a.default)(r.default.APP.version);(0,s.default)(t,e)&&(this.upgradeStatus.refreshRequired=!0)}if(this.isTwoFactorTokenRequiredError(e,i,n))return new U(n)
|
|
4023
|
+
if(this.isVersionMismatchError(e,i,n))return new E(n)
|
|
4024
|
+
if(this.isServerUnreachableError(e,i,n))return new _(n)
|
|
4025
|
+
if(this.isRequestEntityTooLargeError(e,i,n))return new T(n)
|
|
4026
|
+
if(this.isUnsupportedMediaTypeError(e,i,n))return new x(n)
|
|
4027
|
+
if(this.isMaintenanceError(e,i,n))return new M(n)
|
|
4028
|
+
if(this.isThemeValidationError(e,i,n))return new A(n)
|
|
4029
|
+
if(this.isHostLimitError(e,i,n))return new N(n)
|
|
4030
|
+
if(this.isEmailError(e,i,n))return new R(n)
|
|
4031
|
+
if(this.isAcceptedResponse(e))return new V(n)
|
|
4032
4032
|
let u=y.test(l.url),d=this.get("session.isAuthenticated"),c=this.isUnauthorizedError(e,i,n),p=(0,o.isForbiddenError)(e,i,n)
|
|
4033
4033
|
return u&&(this._responseServer=i.server),d&&u&&(c||p&&"Authorization failed"===n.errors?.[0].message)&&(this.skipSessionDeletion=!0,this.session.invalidate()),super.handleResponse(...arguments)}normalizeErrorResponse(e,t,i){if(i&&"object"==typeof i){let e=i.error||i.errors||i.message||void 0
|
|
4034
|
-
e&&(Ember.isArray(e)||(e=[e]),i.errors=e.map((function(e){return"string"==typeof e?{message:e}:e})))}return super.normalizeErrorResponse(e,t,i)}isTwoFactorTokenRequiredError(e,t,i){return
|
|
4035
|
-
|
|
4036
|
-
e.default=
|
|
4034
|
+
e&&(Ember.isArray(e)||(e=[e]),i.errors=e.map((function(e){return"string"==typeof e?{message:e}:e})))}return super.normalizeErrorResponse(e,t,i)}isTwoFactorTokenRequiredError(e,t,i){return B(e,i)}isVersionMismatchError(e,t,i){return k(e,i)}isServerUnreachableError(e){return j(e)}isRequestEntityTooLargeError(e){return z(e)}isUnsupportedMediaTypeError(e){return S(e)}isDataImportError(e){return O(e)}isMaintenanceError(e,t,i){return D(e)}isThemeValidationError(e,t,i){return L(e,i)}isHostLimitError(e,t,i){return I(e,i)}isEmailError(e,t,i){return F(e,i)}isAcceptedResponse(e){return H(e)}},m=v(p.prototype,"session",[d],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),h=v(p.prototype,"upgradeStatus",[c],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),b=v(p.prototype,"config",[l.inject],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),p)
|
|
4035
|
+
q.reopen({contentType:"application/json; charset=UTF-8"})
|
|
4036
|
+
e.default=q})),define("ghost-admin/services/billing",["exports","ghost-admin/decorators/inject"],(function(e,t){var i,r,n,a,s,o,l,u,d,c,p,m,h,b,f,g,v,y
|
|
4037
4037
|
function w(e,t,i,r){i&&Object.defineProperty(e,t,{enumerable:i.enumerable,configurable:i.configurable,writable:i.writable,value:i.initializer?i.initializer.call(r):void 0})}function E(e,t,i){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e
|
|
4038
4038
|
var i=e[Symbol.toPrimitive]
|
|
4039
4039
|
if(void 0!==i){var r=i.call(e,t||"default")
|
|
@@ -4696,7 +4696,7 @@ e.default=Ember.HTMLBars.template({id:"EJYz+7hd",block:'{"symbols":[],"statement
|
|
|
4696
4696
|
e.default=Ember.HTMLBars.template({id:"gLbOFx2q",block:'{"symbols":["revision"],"statements":[[11,"section"],[24,0,"gh-canvas gh-post-restore"],[4,[38,4],[[32,0,["loadData"]]],null],[12],[2,"\\n "],[8,"gh-canvas-header",[[24,0,"gh-canvas-header gh-post-restore-header"]],[[],[]],[["default"],[{"statements":[[2,"\\n "],[10,"div"],[14,0,"flex flex-column flex-grow-1"],[12],[2,"\\n "],[10,"h2"],[14,0,"gh-canvas-title"],[12],[2,"\\n Restore Posts\\n "],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[10,"section"],[14,0,"view-container content-list"],[12],[2,"\\n "],[10,"p"],[12],[2,"Posts are regularly saved locally on your device. If you\'ve lost a post, you can restore it from here as long as too much time hasn\'t passed."],[13],[2,"\\n "],[10,"ol"],[15,0,[31,["revisions-list gh-list ",[30,[36,5],[[32,0,["model","length"]],"no-revisions"],null]]]],[12],[2,"\\n"],[6,[37,1],[[32,0,["model","length"]]],null,[["default","else"],[{"statements":[[2," "],[10,"li"],[14,0,"gh-list-row header"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-list-header gh-list-cellwidth-70"],[12],[2,"Title"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-list-header gh-list-cellwidth-20"],[12],[2,"Created"],[13],[2,"\\n "],[10,"div"],[14,0,"gh-list-header gh-list-cellwidth-10"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[8,"vertical-collection",[],[["@items","@key","@containerSelector","@estimateHeight","@bufferSize"],[[32,0,["model"]],"key",".gh-main",60,20]],[["default"],[{"statements":[[2,"\\n "],[10,"li"],[14,0,"gh-list-row"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-list-data gh-list-cellwidth-70"],[12],[2,"\\n "],[10,"h3"],[14,0,"gh-revision-title"],[14,"data-test-id","restore-post-title"],[12],[1,[30,[36,1],[[32,1,["title"]],[32,1,["title"]],"(no title)"],null]],[13],[2,"\\n "],[10,"p"],[14,0,"gh-revision-excerpt"],[12],[1,[30,[36,2],[[32,1,["excerpt"]],100],null]],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-list-data gh-list-cellwidth-20"],[12],[2,"\\n "],[1,[30,[36,3],[[32,1,["revisionTimestamp"]],"MMM D, YYYY HH:mm"],null]],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-list-data gh-list-cellwidth-10"],[12],[2,"\\n "],[8,"gh-task-button",[[24,"data-test-id","restore-post-button"]],[["@task","@taskArgs","@buttonText","@showSuccess","@showIcon","@class"],[[32,0,["restorePostTask"]],[32,1],"Restore",false,false,"gh-btn gh-btn-icon gh-btn-sm"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[1]}]]],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"li"],[14,0,"no-revisions-box"],[12],[2,"\\n "],[10,"div"],[14,0,"no-revisions"],[12],[2,"\\n "],[1,[30,[36,0],["revision-placeholder"],[["class"],["gh-revisions-placeholder"]]]],[2,"\\n "],[10,"h4"],[12],[2,"No local revisions found."],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n"],[13]],"hasEval":false,"upvars":["svg-jar","if","truncate","moment-format","did-insert","unless"]}',moduleName:"ghost-admin/templates/restore-posts.hbs"})})),define("ghost-admin/templates/settings-x",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
4697
4697
|
e.default=Ember.HTMLBars.template({id:"4n6mImMR",block:'{"symbols":[],"statements":[[8,"admin-x/settings",[],[[],[]],null]],"hasEval":false,"upvars":[]}',moduleName:"ghost-admin/templates/settings-x.hbs"})})),define("ghost-admin/templates/setup",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
4698
4698
|
e.default=Ember.HTMLBars.template({id:"ByoICVl1",block:'{"symbols":["task"],"statements":[[10,"section"],[14,0,"gh-flow gh-setup"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-flow-content"],[12],[2,"\\n "],[10,"header"],[12],[2,"\\n "],[1,[30,[36,0],["ghost-orb"],[["alt"],["Ghost"]]]],[2,"\\n "],[10,"h1"],[12],[2,"Welcome to Ghost."],[13],[2,"\\n "],[10,"p"],[12],[2,"All over the world, people have started 3,000,000+ incredible sites with Ghost. Today, we’re starting yours."],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"form"],[14,1,"setup"],[14,"method","post"],[14,"action","javascript:void(0)"],[14,0,"gh-flow-form"],[12],[2,"\\n "],[8,"gh-form-group",[],[["@errors","@hasValidated","@property"],[[32,0,["errors"]],[32,0,["hasValidated"]],"blogTitle"]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[14,"for","blog-title"],[12],[2,"Site title"],[13],[2,"\\n "],[10,"span"],[14,0,"gh-input-icon gh-icon-content"],[12],[2,"\\n "],[8,"gh-trim-focus-input",[[16,"data-test-blog-title-input",true]],[["@type","@id","@name","@placeholder","@autocorrect","@value","@input","@focus-out"],["text","blog-title","blog-title","The Daily Awesome","off",[30,[36,1],[[32,0,["blogTitle"]]],null],[30,[36,3],[[32,0],[30,[36,2],[[32,0,["blogTitle"]]],null]],[["value"],["target.value"]]],[30,[36,3],[[32,0],"preValidate","blogTitle"],null]]],null],[2,"\\n "],[13],[2,"\\n "],[8,"gh-error-message",[],[["@errors","@property"],[[32,0,["errors"]],"blogTitle"]],null],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[8,"gh-form-group",[],[["@errors","@hasValidated","@property"],[[32,0,["errors"]],[32,0,["hasValidated"]],"name"]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[14,"for","name"],[12],[2,"Full name"],[13],[2,"\\n "],[10,"span"],[14,0,"gh-input-icon gh-icon-user"],[12],[2,"\\n "],[8,"gh-text-input",[[16,"data-test-name-input",true]],[["@id","@name","@placeholder","@autocorrect","@autocomplete","@value","@input","@focus-out"],["name","name","Jamie Larson","off","name",[30,[36,1],[[32,0,["name"]]],null],[30,[36,3],[[32,0],[30,[36,2],[[32,0,["name"]]],null]],[["value"],["target.value"]]],[30,[36,3],[[32,0],"preValidate","name"],null]]],null],[2,"\\n "],[13],[2,"\\n "],[8,"gh-error-message",[],[["@errors","@property"],[[32,0,["errors"]],"name"]],null],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[8,"gh-form-group",[],[["@errors","@hasValidated","@property"],[[32,0,["errors"]],[32,0,["hasValidated"]],"email"]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[14,"for","email"],[12],[2,"Email address"],[13],[2,"\\n "],[10,"span"],[14,0,"gh-input-icon gh-icon-mail"],[12],[2,"\\n "],[8,"gh-text-input",[[16,"data-test-email-input",true]],[["@type","@id","@name","@placeholder","@autocorrect","@autocomplete","@value","@input","@focus-out"],["email","email","email","jamie@example.com","off","username email",[30,[36,1],[[32,0,["email"]]],null],[30,[36,3],[[32,0],[30,[36,2],[[32,0,["email"]]],null]],[["value"],["target.value"]]],[30,[36,3],[[32,0],"preValidate","email"],null]]],null],[2,"\\n "],[13],[2,"\\n "],[8,"gh-error-message",[],[["@errors","@property"],[[32,0,["errors"]],"email"]],null],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[8,"gh-form-group",[],[["@errors","@hasValidated","@property"],[[32,0,["errors"]],[32,0,["hasValidated"]],"password"]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[14,"for","password"],[12],[2,"Password"],[13],[2,"\\n "],[10,"span"],[14,0,"gh-input-icon gh-icon-lock"],[12],[2,"\\n "],[8,"gh-text-input",[[16,"data-test-password-input",true]],[["@type","@id","@name","@placeholder","@autocorrect","@autocomplete","@value","@input","@focus-out"],["password","password","password","At least 10 characters","off","new-password",[30,[36,1],[[32,0,["password"]]],null],[30,[36,3],[[32,0],[30,[36,2],[[32,0,["password"]]],null]],[["value"],["target.value"]]],[30,[36,3],[[32,0],"preValidate","password"],null]]],null],[2,"\\n "],[13],[2,"\\n "],[8,"gh-error-message",[],[["@errors","@property"],[[32,0,["errors"]],"password"]],null],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[8,"gh-task-button",[[24,0,"gh-btn gh-btn-black gh-btn-signup gh-btn-block gh-btn-icon"],[24,"data-test-button","setup"],[24,4,"submit"]],[["@task","@showSuccess"],[[32,0,["setupTask"]],false]],[["default"],[{"statements":[[2,"\\n"],[6,[37,4],[[32,1,["isRunning"]]],null,[["default","else"],[{"statements":[[2," "],[10,"span"],[12],[1,[30,[36,0],["spinner"],[["class"],["gh-icon-spinner gh-btn-icon-no-margin"]]]],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"span"],[12],[2,"Create account & start publishing →"],[13],[2,"\\n"]],"parameters":[]}]]],[2," "]],"parameters":[1]}]]],[2,"\\n "],[13],[2,"\\n"],[6,[37,4],[[32,0,["flowErrors"]]],null,[["default"],[{"statements":[[2," "],[10,"p"],[14,0,"main-error"],[12],[1,[32,0,["flowErrors"]]],[2," "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n"],[13]],"hasEval":false,"upvars":["svg-jar","readonly","mut","action","if"]}',moduleName:"ghost-admin/templates/setup.hbs"})})),define("ghost-admin/templates/signin-verify",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
4699
|
-
e.default=Ember.HTMLBars.template({id:"
|
|
4699
|
+
e.default=Ember.HTMLBars.template({id:"m6fNgNQ1",block:'{"symbols":["error","task"],"statements":[[10,"div"],[14,0,"gh-flow"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-flow-content-wrap"],[12],[2,"\\n "],[10,"section"],[14,0,"gh-flow-content"],[12],[2,"\\n "],[11,"form"],[24,1,"login"],[24,"method","post"],[24,"action","javascript:void(0)"],[24,0,"gh-signin"],[24,"novalidate","novalidate"],[4,[38,3],["submit",[30,[36,2],[[32,0,["verifyTokenTask"]]],null]],null],[12],[2,"\\n "],[10,"header"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-site-icon"],[15,5,[34,4]],[12],[13],[2,"\\n "],[10,"h1"],[12],[2,"Verify it\'s really you"],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"p"],[12],[2,"\\n To keep your account safe, we\'ve sent a 6-digit verification code to your email to make sure it\'s you.\\n "],[13],[2,"\\n "],[8,"gh-form-group",[],[["@errors","@hasValidated","@property"],[[32,0,["verifyData","errors"]],[32,0,["verifyData","hasValidated"]],"token"]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[14,"for","token"],[12],[2,"Verification code"],[13],[2,"\\n\\n "],[10,"span"],[14,0,"gh-input-icon forgotten-wrap"],[12],[2,"\\n "],[11,"input"],[24,1,"token"],[24,3,"token"],[24,"inputmode","numeric"],[24,"pattern","[0-9]*"],[24,"placeholder","******"],[24,"autocomplete","one-time-code"],[24,0,"gh-input email"],[16,2,[32,0,["token"]]],[24,"data-test-input","token"],[24,4,"text"],[4,[38,3],["input",[32,0,["handleTokenInput"]]],null],[12],[13],[2,"\\n\\n "],[8,"gh-task-button",[[24,"data-test-button","resend-token"]],[["@task","@class","@type","@successClass","@failureClass","@disabled"],[[32,0,["resendTokenTask"]],"forgotten-link gh-btn gh-btn-link gh-btn-icon","button","","",[30,[36,5],[[32,0,["resendTokenTask","isRunning"]],[32,0,["delayResendAvailabilityTask","isRunning"]]],null]]],[["default"],[{"statements":[[2,"\\n"],[6,[37,0],[[32,0,["delayResendAvailabilityTask","isRunning"]]],null,[["default","else"],[{"statements":[[2," "],[10,"span"],[12],[2,"Sent"],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[10,"span"],[12],[6,[37,0],[[32,2,["isRunning"]]],null,[["default","else"],[{"statements":[[1,[30,[36,1],["spinner"],[["class"],["gh-spinner"]]]],[2," Sending"]],"parameters":[]},{"statements":[[2,"Resend"]],"parameters":[]}]]],[13],[2,"\\n"]],"parameters":[]}]]],[2," "]],"parameters":[2]}]]],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[8,"gh-task-button",[[24,"data-test-button","verify"]],[["@buttonText","@task","@showSuccess","@class","@type","@useAccentColor"],["Verify →",[32,0,["verifyTokenTask"]],false,"login gh-btn gh-btn-login gh-btn-block gh-btn-icon","submit",true]],null],[2,"\\n "],[13],[2,"\\n\\n"],[6,[37,6],[[30,[36,5],[[32,0,["flowErrors"]],[32,0,["verifyData","validationMessage"]]],null]],null,[["default"],[{"statements":[[2," "],[10,"p"],[15,0,[31,[[30,[36,0],[[32,1],"main-error","main-notification"],null]]]],[14,"data-test-flow-notification",""],[12],[1,[32,1]],[2," "],[13],[2,"\\n"]],"parameters":[1]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n"],[13]],"hasEval":false,"upvars":["if","svg-jar","perform","on","site-icon-style","or","let"]}',moduleName:"ghost-admin/templates/signin-verify.hbs"})})),define("ghost-admin/templates/signin",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
4700
4700
|
e.default=Ember.HTMLBars.template({id:"068f3me5",block:'{"symbols":["task"],"statements":[[10,"div"],[14,0,"gh-flow"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-flow-content-wrap"],[12],[2,"\\n "],[10,"section"],[14,0,"gh-flow-content"],[12],[2,"\\n"],[6,[37,5],[[32,0,["passwordResetEmailSent"]]],null,[["default","else"],[{"statements":[[2," "],[10,"div"],[14,0,"gh-auth-email"],[12],[2,"\\n "],[10,"header"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-site-icon"],[15,5,[34,3]],[12],[13],[2,"\\n "],[10,"h1"],[12],[2,"Update your password."],[13],[2,"\\n "],[10,"p"],[12],[2,"\\n For security, you need to create a new password. An email has been sent to you with instructions.\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"]],"parameters":[]},{"statements":[[2," "],[11,"form"],[24,1,"login"],[24,"method","post"],[24,"action","javascript:void(0)"],[24,0,"gh-signin"],[24,"novalidate","novalidate"],[4,[38,2],["submit",[30,[36,1],[[32,0,["validateAndAuthenticateTask"]]],null]],null],[12],[2,"\\n "],[10,"header"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-site-icon"],[15,5,[34,3]],[12],[13],[2,"\\n "],[10,"h1"],[12],[1,[32,0,["config","blogTitle"]]],[13],[2,"\\n "],[13],[2,"\\n "],[8,"gh-form-group",[],[["@errors","@hasValidated","@property"],[[32,0,["signin","errors"]],[32,0,["hasValidated"]],"identification"]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[14,"for","identification"],[12],[2,"Email address"],[13],[2,"\\n "],[10,"span"],[14,0,"gh-input-icon gh-icon-mail"],[12],[2,"\\n "],[11,"input"],[24,1,"identification"],[24,0,"gh-input email"],[24,"placeholder","jamie@example.com"],[24,3,"identification"],[24,"autocapitalize","off"],[24,"autocorrect","off"],[24,"autocomplete","username"],[16,2,[32,0,["signin","identification"]]],[24,"data-test-input","email"],[24,4,"email"],[4,[38,2],["input",[32,0,["handleInput"]]],null],[4,[38,2],["blur",[30,[36,4],[[32,0,["validateProperty"]],"identification"],null]],null],[12],[13],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n "],[8,"gh-form-group",[],[["@errors","@hasValidated","@property"],[[32,0,["signin","errors"]],[32,0,["hasValidated"]],"password"]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[14,"for","password"],[12],[2,"Password"],[13],[2,"\\n "],[10,"span"],[14,0,"gh-input-icon gh-icon-lock forgotten-wrap"],[12],[2,"\\n "],[11,"input"],[24,1,"password"],[24,0,"gh-input password"],[24,"placeholder","•••••••••••••••"],[24,3,"password"],[24,"autocomplete","current-password"],[24,"autocorrect","off"],[16,2,[32,0,["signin","password"]]],[24,"data-test-input","password"],[24,4,"password"],[4,[38,2],["input",[32,0,["handleInput"]]],null],[12],[13],[2,"\\n\\n "],[8,"gh-task-button",[],[["@task","@class","@type","@successClass","@failureClass"],[[32,0,["forgotPasswordTask"]],"forgotten-link gh-btn gh-btn-link gh-btn-icon","button","",""]],[["default"],[{"statements":[[2,"\\n "],[10,"span"],[12],[6,[37,5],[[32,1,["isRunning"]]],null,[["default","else"],[{"statements":[[1,[30,[36,0],["spinner"],[["class"],["gh-spinner"]]]]],"parameters":[]},{"statements":[[2,"Forgot?"]],"parameters":[]}]]],[13],[2,"\\n "]],"parameters":[1]}]]],[2,"\\n "],[13],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[8,"gh-task-button",[[24,"data-test-button","sign-in"]],[["@buttonText","@task","@showSuccess","@class","@type","@useAccentColor"],["Sign in →",[32,0,["validateAndAuthenticateTask"]],false,"login gh-btn gh-btn-login gh-btn-block gh-btn-icon","submit",true]],null],[2,"\\n "],[13],[2,"\\n\\n "],[10,"p"],[15,0,[31,[[30,[36,5],[[32,0,["flowErrors"]],"main-error","main-notification"],null]]]],[14,"data-test-flow-notification",""],[12],[1,[30,[36,5],[[32,0,["flowErrors"]],[32,0,["flowErrors"]],[32,0,["flowNotification"]]],null]],[2," "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["svg-jar","perform","on","site-icon-style","fn","if"]}',moduleName:"ghost-admin/templates/signin.hbs"})})),define("ghost-admin/templates/signup",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
4701
4701
|
e.default=Ember.HTMLBars.template({id:"t3UmkAq7",block:'{"symbols":[],"statements":[[10,"div"],[14,0,"gh-flow"],[12],[2,"\\n\\n "],[10,"div"],[14,0,"gh-flow-content-wrap"],[12],[2,"\\n "],[10,"section"],[14,0,"gh-flow-content"],[12],[2,"\\n "],[10,"header"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-site-icon"],[15,5,[34,0]],[12],[13],[2,"\\n "],[10,"h1"],[12],[2,"Create your account."],[13],[2,"\\n "],[13],[2,"\\n\\n "],[11,"form"],[24,1,"signup"],[24,"method","post"],[24,"action","javascript:void(0)"],[24,0,"gh-signup"],[24,"novalidate","novalidate"],[4,[38,1],["submit",[32,0,["submit"]]],null],[12],[2,"\\n "],[8,"gh-form-group",[],[["@errors","@hasValidated","@property"],[[32,0,["signupDetails","errors"]],[32,0,["signupDetails","hasValidated"]],"name"]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[14,"for","name"],[12],[2,"Full name"],[13],[2,"\\n "],[10,"span"],[14,0,"gh-input-icon gh-icon-user"],[12],[2,"\\n "],[11,"input"],[24,1,"display-name"],[24,3,"display-name"],[24,0,"gh-input"],[24,"placeholder","Jamie Larson"],[24,"autocorrect","off"],[24,"autocomplete","name"],[16,2,[32,0,["signupDetails","name"]]],[24,"data-test-input","name"],[24,4,"text"],[4,[38,1],["input",[30,[36,2],[[32,0,["setSignupProperty"]],"name"],null]],null],[4,[38,1],["blur",[30,[36,2],[[32,0,["trimSignupProperty"]],"name"],null]],null],[4,[38,1],["blur",[30,[36,2],[[32,0,["validate"]],"name"],null]],null],[12],[13],[2,"\\n "],[13],[2,"\\n "],[8,"gh-error-message",[],[["@errors","@property"],[[32,0,["signupDetails","errors"]],"name"]],null],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[8,"gh-form-group",[],[["@errors","@hasValidated","@property"],[[32,0,["signupDetails","errors"]],[32,0,["signupDetails","hasValidated"]],"email"]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[14,"for","email"],[12],[2,"Email address"],[13],[2,"\\n "],[10,"span"],[14,0,"gh-input-icon gh-icon-mail"],[12],[2,"\\n "],[11,"input"],[24,1,"username"],[24,3,"username"],[24,0,"gh-input"],[24,"placeholder","jamie@example.com"],[24,"autocorrect","off"],[24,"autocomplete","username email"],[16,2,[32,0,["signupDetails","email"]]],[24,"data-test-input","email"],[24,4,"text"],[4,[38,1],["input",[30,[36,2],[[32,0,["setSignupProperty"]],"email"],null]],null],[4,[38,1],["blur",[30,[36,2],[[32,0,["validate"]],"email"],null]],null],[12],[13],[2,"\\n "],[13],[2,"\\n "],[8,"gh-error-message",[],[["@errors","@property"],[[32,0,["signupDetails","errors"]],"email"]],null],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[8,"gh-form-group",[],[["@errors","@hasValidated","@property"],[[32,0,["signupDetails","errors"]],[32,0,["signupDetails","hasValidated"]],"password"]],[["default"],[{"statements":[[2,"\\n "],[10,"label"],[14,"for","password"],[12],[2,"Password"],[13],[2,"\\n "],[10,"span"],[14,0,"gh-input-icon gh-icon-lock"],[12],[2,"\\n "],[11,"input"],[24,1,"password"],[24,3,"password"],[24,0,"gh-input"],[24,"placeholder","At least 10 characters"],[24,"autocorrect","off"],[24,"autocomplete","new-password"],[16,2,[32,0,["signupDetails","password"]]],[24,"data-test-input","password"],[24,4,"password"],[4,[38,1],["input",[30,[36,2],[[32,0,["setSignupProperty"]],"password"],null]],null],[4,[38,1],["blur",[30,[36,2],[[32,0,["validate"]],"password"],null]],null],[12],[13],[2,"\\n "],[13],[2,"\\n "],[8,"gh-error-message",[],[["@errors","@property"],[[32,0,["signupDetails","errors"]],"password"]],null],[2,"\\n "]],"parameters":[]}]]],[2,"\\n\\n "],[8,"gh-task-button",[[24,"form","signup"],[24,0,"gh-btn gh-btn-signup gh-btn-block gh-btn-icon"],[24,"data-test-button","signup"],[24,4,"submit"]],[["@buttonText","@runningText","@task","@defaultClick","@showSuccess","@useAccentColor"],["Create Account →","Creating",[32,0,["signupTask"]],true,false,true]],null],[2,"\\n "],[13],[2,"\\n"],[6,[37,3],[[32,0,["flowErrors"]]],null,[["default"],[{"statements":[[2," "],[10,"p"],[14,0,"main-error"],[12],[1,[32,0,["flowErrors"]]],[2," "],[13],[2,"\\n"]],"parameters":[]}]]],[2," "],[13],[2,"\\n "],[13],[2,"\\n\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["site-icon-style","on","fn","if"]}',moduleName:"ghost-admin/templates/signup.hbs"})})),define("ghost-admin/templates/site",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
4702
4702
|
e.default=Ember.HTMLBars.template({id:"53Jg8toH",block:'{"symbols":[],"statements":[[8,"gh-site-iframe",[],[["@guid"],[[32,0,["guid"]]]],[["default"],[{"statements":[],"parameters":[]}]]]],"hasEval":false,"upvars":[]}',moduleName:"ghost-admin/templates/site.hbs"})})),define("ghost-admin/templates/stats-x",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
@@ -4845,7 +4845,8 @@ break
|
|
|
4845
4845
|
case n:a=(i-r)/e+4}a/=6}let d=[]
|
|
4846
4846
|
for(let c=0;c<t;c++){let e,o
|
|
4847
4847
|
u<.5?(e=.1,o=.7):(e=.3,o=.9)
|
|
4848
|
-
let l=e+c/(t-1)*(o-e),p=(1-Math.abs(2*l-1))*s,m=p*(1-Math.abs(6*a%2-1)),h=l-p/2;[i,r,n]=0<=a&&a<1/6?[p,m,0]:1/6<=a&&a<2/6?[m,p,0]:2/6<=a&&a<.5?[0,p,m]:.5<=a&&a<4/6?[0,m,p]:4/6<=a&&a<5/6?[m,0,p]:[p,0,m],i=Math.round(255*(i+h)),r=Math.round(255*(r+h)),n=Math.round(255*(n+h)),d.push(`#${i.toString(16).padStart(2,"0")}${r.toString(16).padStart(2,"0")}${n.toString(16).padStart(2,"0")}`)}return d},e.getCountryFlag=
|
|
4848
|
+
let l=e+c/(t-1)*(o-e),p=(1-Math.abs(2*l-1))*s,m=p*(1-Math.abs(6*a%2-1)),h=l-p/2;[i,r,n]=0<=a&&a<1/6?[p,m,0]:1/6<=a&&a<2/6?[m,p,0]:2/6<=a&&a<.5?[0,p,m]:.5<=a&&a<4/6?[0,m,p]:4/6<=a&&a<5/6?[m,0,p]:[p,0,m],i=Math.round(255*(i+h)),r=Math.round(255*(r+h)),n=Math.round(255*(n+h)),d.push(`#${i.toString(16).padStart(2,"0")}${r.toString(16).padStart(2,"0")}${n.toString(16).padStart(2,"0")}`)}return d},e.getCountryFlag=function(e){if(!e||null===e||"ᴺᵁᴸᴸ"===e.toUpperCase())return"🏳️"
|
|
4849
|
+
return e.toUpperCase().replace(/./g,(e=>String.fromCodePoint(e.charCodeAt(0)+127397)))},e.getDateRange=r,e.getEndpointUrl=function(e,t,r=""){return e?.stats?.local?.enabled?`${e?.stats?.local?.endpoint}/v0/pipes/${t}.json?${r}`:`${e?.stats?.endpoint}/v0/pipes/${t}__v${i}.json?${r}`},e.getStatsParams=function(e,t,i={}){const{chartRange:n,audience:a,device:s,browser:o,location:l,source:u,pathname:d,os:c}=t,{startDate:p,endDate:m,timezone:h}=r(n),b={site_uuid:t.mockData?"mock_site_uuid":e.stats.id,date_from:p.format("YYYY-MM-DD"),date_to:m.format("YYYY-MM-DD"),...i}
|
|
4849
4850
|
a.length>0&&(b.member_status=a.join(","))
|
|
4850
4851
|
s&&(b.device=s)
|
|
4851
4852
|
o&&(b.browser=o)
|
|
@@ -4854,12 +4855,13 @@ u&&(b.source="direct"===u?"":u)
|
|
|
4854
4855
|
d&&(b.pathname=d)
|
|
4855
4856
|
c&&(b.os=c)
|
|
4856
4857
|
h&&(b.timezone=h)
|
|
4857
|
-
return b},e.hexToRgba=function(e,t=1){const i=parseInt(e.slice(1,3),16),r=parseInt(e.slice(3,5),16),n=parseInt(e.slice(5,7),16)
|
|
4858
|
+
return b},e.getToken=function(e){return e?.stats?.local?.enabled?e?.stats?.local?.token:e?.stats?.token},e.hexToRgba=function(e,t=1){const i=parseInt(e.slice(1,3),16),r=parseInt(e.slice(3,5),16),n=parseInt(e.slice(5,7),16)
|
|
4858
4859
|
return`rgba(${i}, ${r}, ${n}, ${t})`},e.statsStaticColors=void 0
|
|
4859
|
-
e.TB_VERSION=8
|
|
4860
|
+
const i=e.TB_VERSION=8
|
|
4861
|
+
e.RANGE_OPTIONS=[{name:"Today",value:1},{name:"Last 7 days",value:7},{name:"Last 30 days",value:31},{name:"Last 3 months",value:91},{name:"Year to date",value:366},{name:"Last 12 months",value:372},{name:"All time",value:1e3}],e.CONTENT_OPTIONS=[{name:"Posts & pages",value:"all"},{name:"Posts",value:"posts"},{name:"Pages",value:"pages"}],e.CAMPAIGN_OPTIONS=[{name:"All campaigns",value:"all"},{name:"UTM Medium",value:"utm-medium"},{name:"UTM Source",value:"utm-source"},{name:"UTM Campaign",value:"utm-campaign"},{name:"UTM Content",value:"utm-content"},{name:"UTM Term",value:"utm-term"}],e.AUDIENCE_TYPES=[{name:"Anonymous visitors",value:"undefined"},{name:"Free members",value:"free"},{name:"Paid members",value:"paid"}],e.STATS_LABEL_MAPPINGS={US:"United States",TWN:"Taiwan","mobile-ios":"iOS","mobile-android":"Android",macos:"macOS","google.com":"Google","ghost.org":"Ghost","bing.com":"Bing","bsky.app":"Bluesky","yahoo.com":"Yahoo","duckduckgo.com":"DuckDuckGo"}
|
|
4860
4862
|
e.barListColor="#F1F3F4",e.statsStaticColors=["#A568FF","#7B7BFF","#B3CEFF","#D4ECF7","#EFFDFD","#F7F7F7"]
|
|
4861
|
-
function
|
|
4862
|
-
return{startDate:(0,t.default)().tz(i).subtract(e-1,"days").startOf("day"),endDate:r,timezone:i}}
|
|
4863
|
+
function r(e){const i=Intl.DateTimeFormat().resolvedOptions().timeZone,r=(0,t.default)().tz(i).endOf("day")
|
|
4864
|
+
return{startDate:(0,t.default)().tz(i).subtract(e-1,"days").startOf("day"),endDate:r,timezone:i}}})),define("ghost-admin/utils/subscription-data",["exports","moment-timezone","ghost-admin/utils/currency"],(function(e,t,i){function r(e){return("canceled"!==e.status||e.cancel_at_period_end)&&e.current_period_end?(0,t.default)(e.current_period_end).format("D MMM YYYY"):""}function n(e){return["active","trialing","past_due","unpaid"].includes(e.status)}function a(e){return!e.id}function s(e){return"canceled"===e.status}function o(e){return e.cancel_at_period_end&&n(e)}function l(e){if(!e.id&&e.tier&&e.tier.expiry_at)return(0,t.default)(e.tier.expiry_at).utc().format("D MMM YYYY")}function u(e){if(e.trial_end_at&&(0,t.default)(e.trial_end_at).isAfter(new Date,"day"))return(0,t.default)(e.trial_end_at).format("D MMM YYYY")}function d(e,t=!1){const i=t?" – ":"",r=e.validUntil?" ":""
|
|
4863
4865
|
return e.isComplimentary?e.compExpiry?`${i}Expires ${e.compExpiry}`:"":e.hasEnded?`${i}Ended${r}${e.validUntil}`:e.willEndSoon?`${i}Has access until${r}${e.validUntil}`:e.trialUntil?`${i}Ends ${e.trialUntil}`:`${i}Renews${r}${e.validUntil}`}function c(e){return e.trialUntil?"Free trial":e.price.nickname&&e.price.nickname.length>0&&"Monthly"!==e.price.nickname&&"Yearly"!==e.price.nickname?e.price.nickname:void 0}Object.defineProperty(e,"__esModule",{value:!0}),e.compExpiry=l,e.getSubscriptionData=function(e){const n={...e,attribution:{...e.attribution,referrerSource:e.attribution?.referrer_source||"Unknown",referrerMedium:e.attribution?.referrer_medium||"-"},startDate:e.start_date?(0,t.default)(e.start_date).format("D MMM YYYY"):"-",validUntil:r(e),hasEnded:s(e),willEndSoon:o(e),cancellationReason:e.cancellation_reason,price:{...e.price,currencySymbol:(0,i.getSymbol)(e.price.currency),nonDecimalAmount:(0,i.getNonDecimal)(e.price.amount)},isComplimentary:a(e),compExpiry:l(e),trialUntil:u(e)}
|
|
4864
4866
|
return n.priceLabel=c(n),n.validityDetails=d(n,!!n.priceLabel),n},e.isActive=n,e.isCanceled=s,e.isComplimentary=a,e.isSetToCancel=o,e.priceLabel=c,e.trialUntil=u,e.validUntil=r,e.validityDetails=d})),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
|
|
4865
4867
|
e.default={changeLocation(e){window.location=e},replaceLocation(e){window.location.replace(e)},replaceState(e,t,i){window.history.replaceState(e,t,i)},reload(){window.location.reload()}}})),define("ghost-admin/validators/base",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
|
|
@@ -4941,4 +4943,4 @@ e.default=t.default.create({properties:["name","event","targetUrl","secret"],nam
|
|
|
4941
4943
|
e.default=Ember.Component.extend({})})),define("ghost-admin/config/environment",[],(function(){try{var e="ghost-admin/config/environment",t=document.querySelector('meta[name="'+e+'"]').getAttribute("content"),i={default:JSON.parse(decodeURIComponent(t))}
|
|
4942
4944
|
return Object.defineProperty(i,"__esModule",{value:!0}),i}catch(r){throw new Error('Could not read config from meta tag with name "'+e+'".')}})),runningTests||require("ghost-admin/app").default.create({version:"5.116",name:"ghost-admin"})
|
|
4943
4945
|
|
|
4944
|
-
//# sourceMappingURL=ghost-
|
|
4946
|
+
//# sourceMappingURL=ghost-0654bbfe69f7c4bd3d529973a70004fb.map
|