@goodgamestudios/cxf-webshop 7.0.0 → 7.0.1
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/dist/webshop-cxf.js +1 -1
- package/package.json +1 -1
package/dist/webshop-cxf.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var je=Object.create;var ce=Object.defineProperty;var $e=Object.getOwnPropertyDescriptor;var Ze=Object.getOwnPropertyNames;var Je=Object.getPrototypeOf,Qe=Object.prototype.hasOwnProperty;var Ye=(e,t)=>()=>(e&&(t=e(e=0)),t);var T=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var qe=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ze(t))!Qe.call(e,i)&&i!==r&&ce(e,i,{get:()=>t[i],enumerable:!(s=$e(t,i))||s.enumerable});return e};var H=(e,t,r)=>(r=e!=null?je(Je(e)):{},qe(t||!e||!e.__esModule?ce(r,"default",{value:e,enumerable:!0}):r,e));var a,o=Ye(()=>{a={env:{BASE_URL:"https://canvas.goodgamestudios.com",CANVAS_AGENT_URL:"https://app.canvas.stillfront.com/agent.js",CANVAS_APP_ID_BY_GAME:{"12":"","15":{google:"25facd0c-e850-4ebf-b6c4-8c60240e4cf8",stillpay:"bec451f9-8db4-4ca1-8a5a-54494429ff5e"},"16":""},CUSTOMIZATION_URL_TEMPLATE:"",CUSTOMIZATION_URL:"https://cdn.jsdelivr.net/npm/@lemonstand.org/config-goodgamestudios/dist/goodgamestudios-{0}.json"}}});var le=T((Dt,ue)=>{o();var N=1e3,L=N*60,U=L*60,F=U*24,et=F*7,tt=F*365.25;ue.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return rt(e);if(r==="number"&&isFinite(e))return t.long?nt(e):ot(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function rt(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),s=(t[2]||"ms").toLowerCase();switch(s){case"years":case"year":case"yrs":case"yr":case"y":return r*tt;case"weeks":case"week":case"w":return r*et;case"days":case"day":case"d":return r*F;case"hours":case"hour":case"hrs":case"hr":case"h":return r*U;case"minutes":case"minute":case"mins":case"min":case"m":return r*L;case"seconds":case"second":case"secs":case"sec":case"s":return r*N;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function ot(e){var t=Math.abs(e);return t>=F?Math.round(e/F)+"d":t>=U?Math.round(e/U)+"h":t>=L?Math.round(e/L)+"m":t>=N?Math.round(e/N)+"s":e+"ms"}function nt(e){var t=Math.abs(e);return t>=F?V(e,t,F,"day"):t>=U?V(e,t,U,"hour"):t>=L?V(e,t,L,"minute"):t>=N?V(e,t,N,"second"):e+" ms"}function V(e,t,r,s){var i=t>=r*1.5;return Math.round(e/r)+" "+s+(i?"s":"")}});var ge=T((Xt,me)=>{o();function st(e){r.debug=r,r.default=r,r.coerce=b,r.disable=I,r.enable=i,r.enabled=x,r.humanize=le(),r.destroy=v,Object.keys(e).forEach(f=>{r[f]=e[f]}),r.names=[],r.skips=[],r.formatters={};function t(f){let c=0;for(let m=0;m<f.length;m++)c=(c<<5)-c+f.charCodeAt(m),c|=0;return r.colors[Math.abs(c)%r.colors.length]}r.selectColor=t;function r(f){let c,m=null,C,A;function l(...g){if(!l.enabled)return;let S=l,h=Number(new Date),O=h-(c||h);S.diff=O,S.prev=c,S.curr=h,c=h,g[0]=r.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");let w=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,(_,te)=>{if(_==="%%")return"%";w++;let ae=r.formatters[te];if(typeof ae=="function"){let Ve=g[w];_=ae.call(S,Ve),g.splice(w,1),w--}return _}),r.formatArgs.call(S,g),(S.log||r.log).apply(S,g)}return l.namespace=f,l.useColors=r.useColors(),l.color=r.selectColor(f),l.extend=s,l.destroy=r.destroy,Object.defineProperty(l,"enabled",{enumerable:!0,configurable:!1,get:()=>m!==null?m:(C!==r.namespaces&&(C=r.namespaces,A=r.enabled(f)),A),set:g=>{m=g}}),typeof r.init=="function"&&r.init(l),l}function s(f,c){let m=r(this.namespace+(typeof c>"u"?":":c)+f);return m.log=this.log,m}function i(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let c=(typeof f=="string"?f:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let m of c)m[0]==="-"?r.skips.push(m.slice(1)):r.names.push(m)}function u(f,c){let m=0,C=0,A=-1,l=0;for(;m<f.length;)if(C<c.length&&(c[C]===f[m]||c[C]==="*"))c[C]==="*"?(A=C,l=m,C++):(m++,C++);else if(A!==-1)C=A+1,l++,m=l;else return!1;for(;C<c.length&&c[C]==="*";)C++;return C===c.length}function I(){let f=[...r.names,...r.skips.map(c=>"-"+c)].join(",");return r.enable(""),f}function x(f){for(let c of r.skips)if(u(f,c))return!1;for(let c of r.names)if(u(f,c))return!0;return!1}function b(f){return f instanceof Error?f.stack||f.message:f}function v(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}me.exports=st});var pe=T((y,j)=>{o();y.formatArgs=at;y.save=ct;y.load=ft;y.useColors=it;y.storage=dt();y.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();y.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function it(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function at(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+j.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,s=0;e[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(s=r))}),e.splice(s,0,t)}y.log=console.debug||console.log||(()=>{});function ct(e){try{e?y.storage.setItem("debug",e):y.storage.removeItem("debug")}catch{}}function ft(){let e;try{e=y.storage.getItem("debug")||y.storage.getItem("DEBUG")}catch{}return!e&&typeof a<"u"&&"env"in a&&(e=a.env.DEBUG),e}function dt(){try{return localStorage}catch{}}j.exports=ge()(y);var{formatters:ut}=j.exports;ut.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var re=T((Qt,Ie)=>{"use strict";o();var $=window&&window.CXF;Ie.exports=new Promise(function(e,t){if(window||t(),$)return e($);window.addEventListener("cxf.initialized",function(r){$=r.cxf,e($)},{capture:!0,once:!0,passive:!0})})});var Te=T((Oe,oe)=>{o();(function(){var e={};function t(l,g){return i(l)||s(l,g)||r()}function r(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function s(l,g){var S=[],h=!0,O=!1,w=void 0;try{for(var ee,_=l[Symbol.iterator]();!(h=(ee=_.next()).done)&&(S.push(ee.value),!g||S.length!==g);h=!0);}catch(te){O=!0,w=te}finally{try{h||_.return==null||_.return()}finally{if(O)throw w}}return S}function i(l){if(Array.isArray(l))return l}var u=0,I=1,x=2,b={1:["poker","poker2","poker"],12:["empire","castle","em"],15:["bigfarm","ranch","bf"],16:["empirefourkingdoms","fourkingdoms","e4k"],23:["legendsofhonor",void 0,"loh"],41:["empiremillenniumwars",void 0,"emmw"]},v=Object.entries(b).reduce(function(l,g){var S=t(g,2),h=S[0],O=S[1];return h=parseInt(h,10),l[h]=h,O.forEach(function(w){l[w]=h}),l},{}),f=function(l){l=l.toString().toLowerCase();var g=v[l];return g&&0|g},c=function(l,g){return(g=v[g])&&b[g][l]},m=c.bind(null,u),C=c.bind(null,I),A=c.bind(null,x);e={id:f,name:m,codename:C,acronym:A},typeof Oe=="object"&&typeof oe<"u"?oe.exports=e:typeof define=="function"&&define.amd&&define(function(){return e})})()});var se=T(z=>{"use strict";o();Object.defineProperty(z,"__esModule",{value:!0});z.CxfEvents=void 0;var Ct;(function(e){e.Token="cxf.token",e.Login="cxf.login",e.Signup="cxf.signup",e.GameEventUpdate="cxf.gameEvent.update",e.GameEventAdd="cxf.gameEvent.add",e.GameEventRemove="cxf.gameEvent.remove",e.XpChanged="cxf.xp.changed",e.LevelChanged="cxf.level.changed",e.LegendLevelChanged="cxf.legendLevel.changed",e.Push="cxf.push",e.OpenIGS="cxf.igs.open",e.JoinTempServer="cxf.join.temp.server",e.Subscription="cxf.subscription",e.RewardedAdStart="cxf.rewardedad.start",e.RewardedAdDone="cxf.rewardedad.done"})(Ct=z.CxfEvents||(z.CxfEvents={}))});o();o();o();o();o();function fe(e){return{isCanvas:!1,playerId:e.playerId,instanceId:e.instanceId,networkId:e.networkId,gameId:e.gameId,gameApi:e.gameApi,language:e.language,token:e.token,zoneId:e.zoneId,gameEvents:[],xp:0,level:0,legendLevel:void 0,countryCode:"",lastPurchaseTab:"",subscriptionDisabled:!1,isTempServer:!1,customizationSuffix:"",resolvedCustomizationUrl:"",sourceId:"unknown",unreadOfferNotifsCountUrl:""}}function B({legendLevel:e,level:t}){return{legendLevel:e,level:t}}o();o();var We=e=>{let t=e.match(/^https?:\/\/([^#/?]+)(?:[#/?]|$)/i);if(!t||!t[1])return;let r=t[1].match(/[^.]+\.[^.]+$/);if(r)return r[0]},de=e=>We(e);o();o();var Ce=H(pe()),lt=(0,Ce.default)("CXF-WEBSHOP"),d=(e,...t)=>lt(e,...t),E=(...e)=>console.error("%c CXF-WEBSHOP ->","background: #ff0000; color: #fff",...e);var X=e=>(...t)=>{try{return e(...t)}catch(r){E(r),mt(r)}},mt=e=>{let t=n.getConfig();n.getCxf().emit(t.CXF_ERROR,e)};o();var gt=(e,t)=>{let r=setTimeout(e,t);return()=>clearTimeout(r)},pt=(e,t)=>r=>new Promise((s,i)=>{let u=gt(()=>{i(new Error(`Timeout has exceeded ${t}`))},t);e(r).then(I=>{s(I),u()}).catch(i)}),ve=e=>new Promise((t,r)=>{let s=document.createElement("script");s.type="text/javascript",s.type="module",s.async=!0,s.src=e,s.addEventListener("load",t),s.addEventListener("error",r),document.body.append(s)}),qt=pt(()=>re(),1e4);o();var Se=e=>e.reduce((t,r,s)=>(t.offers.push({id:r,tier:0,productIds:{googleplay:r}}),t),{category:"all",offers:[],eventName:"lemonstand.nativePrice",eventType:"bubble"});o();var he={itunes:"apple",Android:"google",googleplay:"google",amazonmobile:"amazon",facebook:"facebook",samsung:"samsung",huawei:"huawei"},Ee=(e="stillpay")=>{let t=navigator.userAgent.match(/(itunes)|(googleplay)|(Android)|(amazonmobile)|(facebook)|(samsung)|(huawei)/g);if(!t)return e;let r=t[0];return Object.prototype.hasOwnProperty.call(he,r)?he[r]:e},ye={apple:"itunes",google:"googleplay",amazon:"amazonmobile",facebook:"facebook",samsung:"samsung",huawei:"huawei"},be=(e,t)=>{if(!Object.prototype.hasOwnProperty.call(ye,e))throw new Error(`Platform ${e} is not supported`);let r=Object.create(null);return r[ye[e]]=t,r};o();function xe(e){return Object.entries(e).filter(([t,r])=>r!=null).map(([t,r])=>`${t}=${encodeURIComponent(r)}`).join("&")}var we=()=>ggsGetQueryParameters(),Ae=()=>ggsGetReferrer();o();o();var P=256,J=[],Z;for(;P--;)J[P]=(P+256).toString(16).substring(1);function _e(){var e=0,t,r="";if(!Z||P+16>256){for(Z=Array(e=256);e--;)Z[e]=256*Math.random()|0;e=P=0}for(;e<16;e++)t=Z[P+e],e==6?r+=J[t&15|64]:e==8?r+=J[t&63|128]:r+=J[t],e&1&&e>1&&e<11&&(r+="-");return P++,r}o();var R=class extends Error{constructor(t,r){super(`${t} has null value: ${r}`),this.name="ArgumentNullError"}};o();function Fe({gameId:e,networkId:t,instanceId:r,playerId:s}){return[e,t,r,s].join("-")}var G=()=>_e(),Q=e=>{let{playerId:t,token:r,zoneId:s,language:i}=e;if(!t)throw new R("playerId",t);return{token:r,zoneId:s,locale:i,ping:Fe({...e,playerId:t})}};o();function Pe(e){return Math.floor(e/1e3)}o();var Le=H(Te());o();var Ne=e=>{for(let t of Object.keys(e)){let r=e[t];if(r==null||Number.isNaN(r))throw new R(t,r)}};var M=({page:e,route:t,sid:r,config:s={}})=>{let i=n.getConfig(),u=n.getStore(),{token:I,zoneId:x,locale:b}=Q(u),v={token:I,zoneId:x,locale:b,sid:r||G()};Object.keys(s).length>0&&(v.config=JSON.stringify(s)),Ne(v);let f=new URLSearchParams(we()),c={...v,"lemonstand.customization.url":u.resolvedCustomizationUrl||Y(),domain:de(Ae()),websiteId:f.get("w"),criteria:JSON.stringify(B(u)),level:u.level},m=f.get("network");return f.get("usekeybaselogin")==="false"&&Number(m)>0&&(c.network=m),u.adStatus?.areBannersAvailable&&(c.ads=!0),`${i.BASE_URL}/?${xe(c)}${e?`#${e}`:""}${t?`--${t}--${Date.now()}`:""}`},Y=()=>{let e=n.getConfig(),t=n.getStore(),r=n.getCxf(),s=(0,Le.acronym)(t.gameId),i=t.customizationSuffix?`-${t.customizationSuffix}`:"",u=`${s}${i}`;if(r.env==="test"){let I=new URLSearchParams(window.location.search).get("configGGS");if(I!==null)return e.CUSTOMIZATION_URL_TEMPLATE.replace("{0}",u).replace("{1}",I)}return e.CUSTOMIZATION_URL.replace("{0}",u)};var D=async()=>{let e=n.getConfig(),t=n.getStore();if(e.LEGEND_LEVEL_IS_USED&&t.legendLevel===void 0){d("Skip fetchUnreadOfferNotificationsCount due to legendLevel is undefined");return}if(!t.isCanvas&&t.token&&t.unreadOfferNotifsCountUrl){d("fetchUnreadOfferNotificationsCount");let r=0,s={Authorization:`Bearer ${t.token}`},i=t.unreadOfferNotifsCountUrl.replace("{locale}",t.language||"").replace("{zoneId}",t.zoneId||"").replace("{criteria}",encodeURIComponent(JSON.stringify(B(t))));try{d("fetch",i);let u=await fetch(i,{headers:s});if(u.ok){let I=await u.json();r=Number(I?.notifCount)}}catch(u){E(`cannot fetch ${i}`,u)}d("setUnseenOffersCounter",r),t.gameApi.invokeFn("setUnseenOffersCounter",r).catch(u=>{E("setUnseenOffersCounter error:",u)})}};o();var q=class{post(t){let r=document.querySelector("#dialog");r&&r.tagName.toLocaleLowerCase()==="iframe"&&r.contentWindow?.postMessage(t,"*")}};o();var Ue=()=>{if(typeof fetch!="function")return;let e=Y(),t="";fetch(e).then(r=>{if(Y()===e)return t=r.url,d("parsed customization url is "+t),n.updateStore({resolvedCustomizationUrl:t}),r.json()}).then(r=>{r&&n.updateStore({unreadOfferNotifsCountUrl:r.unreadOfferNotifsCountUrl||""})})};o();var K=e=>{let t=e;return{get:()=>t,set:r=>{t=r}}};var ne=class{constructor(){this.config=void 0;this.cxfProvider=K();this.dialogProvider=K();this.storeProvider=K();this.shopMessageBus=new q;this.fetchUnreadOfferNotificationsCount=D;this.preResolveConfig=Ue}setConfig(t){this.config=t}getConfig(){if(this.config===void 0)throw new Error("Config is not initialized");return this.config}setCxf(t){this.cxfProvider.set(t)}getCxf(){let t=this.cxfProvider.get();if(!t)throw new Error("CXF is not loaded");return t}setStore(t){this.storeProvider.set(t)}getStore(){let t=this.storeProvider.get();if(!t)throw new Error("Store is not initialized");return t}updateStore(t){let r=this.getStore();this.setStore({...r,...t})}},n=new ne;o();var p=H(se());o();var k=e=>{let t=n.getConfig();n.getCxf().emit(t.CXF_DIALOG_OPEN,e)};o();var W=e=>{let t=n.getConfig(),r=n.getStore(),s=Date.now(),i=Q(r),{zoneId:u}=i,I=e,{playerId:x,gameId:b,networkId:v,instanceId:f,sourceId:c}=r;It({eventId:t.WEB_SHOP_CALL_TRACK_ID,date:Pe(s),unixtimeMS:s,sessionId:I,zoneId:u?Number.parseInt(u,10):void 0,playerId:Number.parseInt(x,10),gameId:Number.parseInt(b,10),networkId:Number.parseInt(v,10),instanceId:Number.parseInt(f,10),sourceId:c})},It=e=>{let t=n.getConfig();n.getCxf().emit(t.CXF_TRACK_MSG,e)};o();o();o();var Re=new Set([218,316,318,460,461,768,802,814,830,877]);o();var Ge=e=>{d("OnReward: payload",e);let{isCanvas:t}=n.getStore();if(t){window.CanvasAgent?.instance?.hide(),window.CanvasAgent?.instance?.navigate();return}let r=M({route:encodeURIComponent(e.successUrl),...e});n.updateStore({lastPurchaseTab:e.page,sourceId:"successfulPayoutReward"}),W(e.sid),k(r)},vt=({target:e,action:t,data:r})=>{n.shopMessageBus.post({eventName:"lemonstand.category.update",target:e,data:{action:t,data:r}})},St=({notifCount:e})=>{d("onLemonstandNotificationsCreated -> notifCount:",e);let t=n.getStore();if(e>0){let r=Math.floor(Math.random()*(Number(t.networkId)<250?12e4:15e3));setTimeout(()=>{D()},r)}else t.gameApi.invokeFn("setUnseenOffersCounter",0).catch(r=>{E("setUnseenOffersCounter error:",r)})},Me=()=>({reward:Ge,reward_received:Ge,"lemonstand.category.update":vt,"lemonstand.notifs.created":St});var De=!1,ht=e=>{switch(d(`Canvas event "${e.eventType}" received:`,e),e.eventType){case"native_catalog_request":{if(e?.paymentContractIds?.length>0){De||(window.addEventListener("message",({data:r})=>{if(r?.eventName==="lemonstand.category.update"&&r?.data?.action==="nativePriceUpdate"){if(d("lemonstand.category.update event",r.data),!r.data.data)return;let s={};for(let i in r.data.data){let{priceString:u,...I}=r.data.data[i];s[i]=I}d("nativeCatalog:",s),window.CanvasAgent?.instance?.setNativeCatalog(s)}}),De=!0);let t=Se(e.paymentContractIds);window.postMessage(t,"*"),d("Event `lemonstand.nativePrice` sent")}break}case"native_checkout_request":{let{paymentContract:t,sessionId:r,collectionAlias:s,offerId:i,distributionPlatform:u}=e,{zoneId:I}=n.getStore();window.postMessage({eventName:"lemonstand.nativePay",eventType:"bubble",nativePayInfo:{pkg:{price:t?.price?.amount,productIdMS:"",productIds:be(u,t?.id),tier:Number(t?.id?.split("_")?.at(-1))},meta:{criteria:JSON.stringify({}),lemonstand:!0,offerId:i,sid:r,type:s,zoneId:I,successUrl:window.location.href}}},"*"),d("Event `lemonstand.nativePay` sent");break}default:break}},yt=(e={})=>{d(p.CxfEvents.OpenIGS,"payload:",e),e.sourceId&&n.updateStore({sourceId:e.sourceId});let{isCanvas:t,lastPurchaseTab:r,gameApi:s}=n.getStore();if(t){e.page&&window.CanvasAgent?.instance?.navigate(e.page),window.CanvasAgent?.instance?.show();return}let i=G();W(i);let u=M({sid:i,page:r,...e});k(u),setTimeout(()=>{s.invokeFn("setUnseenOffersCounter",0)},1e3)},Et=e=>{let t=Me();e.on(p.CxfEvents.OpenIGS,X(yt)),e.on(p.CxfEvents.Push,X(({id:r,payload:s})=>{d(p.CxfEvents.Push,r,s);let i=t[r];i&&i(s)}))},bt=e=>{e.on(p.CxfEvents.Login,t=>{let{gameEvents:r,language:s,token:i,zoneId:u}=t;Re.has(Number(u))&&(Number(u)>300||localStorage.getItem("cxf_canvas")==="enabled")&&n.updateStore({isCanvas:!0});let{gameEvents:I,isCanvas:x}=n.getStore(),b=v=>f=>!v.map(c=>c.type).includes(f.type);if(n.updateStore({...t,gameEvents:[...I.filter(b(r)),...r]}),d(p.CxfEvents.Login,n.getStore()),!x){n.fetchUnreadOfferNotificationsCount();return}if(typeof window.CanvasAgent?.create=="function"){let{CANVAS_APP_ID_BY_GAME:v}=n.getConfig(),f=Ee(),c=v[e.gameId],m=typeof c=="string"?c:c[f];if(!m){E("Canvas app id not found for platform",{platform:f,canvasApps:c});return}window.CanvasAgent.create({authClientId:"lemonstand",canvasAppId:m,eventListener:ht,locale:s,token:i}).then(C=>{window.CanvasAgent.instance=C,d(p.CxfEvents.Login,"Canvas created")}).catch(C=>{E("Cannot create instance of Canvas",C)})}}),e.on(p.CxfEvents.GameEventUpdate,t=>{d(p.CxfEvents.GameEventUpdate,t);let{gameEvents:r,isCanvas:s}=n.getStore(),i=new Set(t.map(u=>u.type));n.updateStore({gameEvents:[...r.filter(u=>!i.has(u.type)),...t]}),s&&window.CanvasAgent?.instance?.refresh(),d(p.CxfEvents.GameEventUpdate,"reducer",n.getStore())}),e.on(p.CxfEvents.GameEventAdd,t=>{d(p.CxfEvents.GameEventAdd,t);let{gameEvents:r,isCanvas:s}=n.getStore();n.updateStore({gameEvents:[...r,t]}),s&&window.CanvasAgent?.instance?.refresh(),d(p.CxfEvents.GameEventAdd,"reducer",n.getStore())}),e.on(p.CxfEvents.GameEventRemove,t=>{d(p.CxfEvents.GameEventRemove,t);let{gameEvents:r,isCanvas:s}=n.getStore();n.updateStore({gameEvents:r.filter(({type:i})=>i!==t)}),s&&window.CanvasAgent?.instance?.refresh(),d(p.CxfEvents.GameEventRemove,"reducer",n.getStore())}),e.on(p.CxfEvents.LevelChanged,t=>{d(p.CxfEvents.LevelChanged,t);let{isCanvas:r}=n.getStore();n.updateStore({level:t}),d(p.CxfEvents.LevelChanged,"reducer",n.getStore()),r?window.CanvasAgent?.instance?.refresh():n.fetchUnreadOfferNotificationsCount()}),e.on(p.CxfEvents.LegendLevelChanged,t=>{d(p.CxfEvents.LegendLevelChanged,`legendLevel: ${t}`),n.updateStore({legendLevel:t});let r=n.getStore();d(p.CxfEvents.LegendLevelChanged,"reducer",r),n.fetchUnreadOfferNotificationsCount()})},xt=e=>{e.on("cxf.native.subscription.enable",t=>{n.updateStore({subscriptionDisabled:t===0,customizationSuffix:t===0?"no-subscription":""}),n.preResolveConfig()})},wt=e=>{e.on("cxf.set.customization.surfix",t=>{let{customizationSuffix:r}=n.getStore();t!==r&&(n.updateStore({customizationSuffix:t||""}),n.preResolveConfig())})},At=e=>{let t=n.getConfig();e.on(t.CXF_AD_STATUS,({areBannersAvailable:r,bannersDetails:s})=>{n.updateStore({adStatus:{areBannersAvailable:r,bannersDetails:s}})})},_t=e=>{e.on("cxf.join.temp.server",t=>{let r=n.getStore();n.updateStore({isTempServer:!!t}),(r.customizationSuffix===""||r.customizationSuffix==="temp")&&(n.updateStore({customizationSuffix:t?"temp":""}),n.preResolveConfig())})},ke=()=>[Et,bt,At,_t,xt,wt];o();var Ft=()=>{d("OnOpenSalesOffersPage");let{isCanvas:e}=n.getStore();if(e){window.CanvasAgent?.instance?.navigate("supersale");return}let t=G(),r=M({page:"sale-offers",sid:t});k(r)},Pt=()=>{let e=n.getStore();d("onLemonstandClose",e),D()},Xe=()=>({"cxf.webshop.sales.open":Ft,"cxf.dialog.close":Pt});var ze=e=>{let t=Xe(),r=ke();window.addEventListener("message",X(({data:s})=>{if(s){let i=t[s.name];i&&(d("POST MESSAGE",s),i(s.payload))}}));for(let s of r)s(e);n.preResolveConfig(),d("App has started")};o();var He=H(se());var Ot={CANVAS_AGENT_URL:a.env.CANVAS_AGENT_URL,CANVAS_APP_ID_BY_GAME:a.env.CANVAS_APP_ID_BY_GAME,CUSTOMIZATION_URL:a.env.CUSTOMIZATION_URL,CUSTOMIZATION_URL_TEMPLATE:a.env.CUSTOMIZATION_URL_TEMPLATE,BASE_URL:a.env.BASE_URL,CXF_DIALOG_OPEN:"cxf.dialog.open",CXF_DIALOG_CLOSE:"cxf.dialog.close",CXF_TRACK_MSG:"cxf.tracking.message",CXF_BTN_CLICK_MSG:He.CxfEvents.OpenIGS,CXF_OPEN_SALES_MSG:"cxf.webshop.sales.open",WEB_SHOP_CALL_TRACK_ID:1181,CXF_ERROR:"cxf.error",CXF_PUSH:"cxf.push",CXF_AD_STATUS:"cxf.adBanner.status"},Tt={12:{LEGEND_LEVEL_IS_USED:!0},15:{LEGEND_LEVEL_IS_USED:!1},16:{LEGEND_LEVEL_IS_USED:!0}},Be=e=>({...Ot,...Tt[e]});re().then(e=>{let t=Be(e.gameId);n.setConfig(t),n.setCxf(e);let r=fe(e);n.setStore(r),ve(t.CANVAS_AGENT_URL).then(()=>{d(`Canvas agent loaded: ${t.CANVAS_AGENT_URL}`)}).catch(s=>{E("Canvas agent load error",s)}),ze(e)});})();
|
|
1
|
+
"use strict";(()=>{var je=Object.create;var ce=Object.defineProperty;var $e=Object.getOwnPropertyDescriptor;var Ze=Object.getOwnPropertyNames;var Je=Object.getPrototypeOf,Qe=Object.prototype.hasOwnProperty;var Ye=(e,t)=>()=>(e&&(t=e(e=0)),t);var T=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var qe=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ze(t))!Qe.call(e,i)&&i!==r&&ce(e,i,{get:()=>t[i],enumerable:!(s=$e(t,i))||s.enumerable});return e};var H=(e,t,r)=>(r=e!=null?je(Je(e)):{},qe(t||!e||!e.__esModule?ce(r,"default",{value:e,enumerable:!0}):r,e));var a,o=Ye(()=>{a={env:{BASE_URL:"https://canvas.goodgamestudios.com",CANVAS_AGENT_URL:"https://app.canvas.stillfront.com/agent.js",CANVAS_APP_ID_BY_GAME:{"12":"","15":{google:"a9510af7-9092-4f2f-8c09-4e9dde1a0d91",stillpay:"729bbc22-2cc0-4025-bcda-05aa01b41db2"},"16":""},CUSTOMIZATION_URL_TEMPLATE:"",CUSTOMIZATION_URL:"https://cdn.jsdelivr.net/npm/@lemonstand.org/config-goodgamestudios/dist/goodgamestudios-{0}.json"}}});var le=T((Dt,ue)=>{o();var N=1e3,L=N*60,U=L*60,F=U*24,et=F*7,tt=F*365.25;ue.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return rt(e);if(r==="number"&&isFinite(e))return t.long?nt(e):ot(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function rt(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),s=(t[2]||"ms").toLowerCase();switch(s){case"years":case"year":case"yrs":case"yr":case"y":return r*tt;case"weeks":case"week":case"w":return r*et;case"days":case"day":case"d":return r*F;case"hours":case"hour":case"hrs":case"hr":case"h":return r*U;case"minutes":case"minute":case"mins":case"min":case"m":return r*L;case"seconds":case"second":case"secs":case"sec":case"s":return r*N;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function ot(e){var t=Math.abs(e);return t>=F?Math.round(e/F)+"d":t>=U?Math.round(e/U)+"h":t>=L?Math.round(e/L)+"m":t>=N?Math.round(e/N)+"s":e+"ms"}function nt(e){var t=Math.abs(e);return t>=F?V(e,t,F,"day"):t>=U?V(e,t,U,"hour"):t>=L?V(e,t,L,"minute"):t>=N?V(e,t,N,"second"):e+" ms"}function V(e,t,r,s){var i=t>=r*1.5;return Math.round(e/r)+" "+s+(i?"s":"")}});var ge=T((Xt,me)=>{o();function st(e){r.debug=r,r.default=r,r.coerce=b,r.disable=I,r.enable=i,r.enabled=x,r.humanize=le(),r.destroy=v,Object.keys(e).forEach(f=>{r[f]=e[f]}),r.names=[],r.skips=[],r.formatters={};function t(f){let c=0;for(let m=0;m<f.length;m++)c=(c<<5)-c+f.charCodeAt(m),c|=0;return r.colors[Math.abs(c)%r.colors.length]}r.selectColor=t;function r(f){let c,m=null,C,A;function l(...g){if(!l.enabled)return;let S=l,h=Number(new Date),O=h-(c||h);S.diff=O,S.prev=c,S.curr=h,c=h,g[0]=r.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");let w=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,(_,te)=>{if(_==="%%")return"%";w++;let ae=r.formatters[te];if(typeof ae=="function"){let Ve=g[w];_=ae.call(S,Ve),g.splice(w,1),w--}return _}),r.formatArgs.call(S,g),(S.log||r.log).apply(S,g)}return l.namespace=f,l.useColors=r.useColors(),l.color=r.selectColor(f),l.extend=s,l.destroy=r.destroy,Object.defineProperty(l,"enabled",{enumerable:!0,configurable:!1,get:()=>m!==null?m:(C!==r.namespaces&&(C=r.namespaces,A=r.enabled(f)),A),set:g=>{m=g}}),typeof r.init=="function"&&r.init(l),l}function s(f,c){let m=r(this.namespace+(typeof c>"u"?":":c)+f);return m.log=this.log,m}function i(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let c=(typeof f=="string"?f:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let m of c)m[0]==="-"?r.skips.push(m.slice(1)):r.names.push(m)}function u(f,c){let m=0,C=0,A=-1,l=0;for(;m<f.length;)if(C<c.length&&(c[C]===f[m]||c[C]==="*"))c[C]==="*"?(A=C,l=m,C++):(m++,C++);else if(A!==-1)C=A+1,l++,m=l;else return!1;for(;C<c.length&&c[C]==="*";)C++;return C===c.length}function I(){let f=[...r.names,...r.skips.map(c=>"-"+c)].join(",");return r.enable(""),f}function x(f){for(let c of r.skips)if(u(f,c))return!1;for(let c of r.names)if(u(f,c))return!0;return!1}function b(f){return f instanceof Error?f.stack||f.message:f}function v(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}me.exports=st});var pe=T((y,j)=>{o();y.formatArgs=at;y.save=ct;y.load=ft;y.useColors=it;y.storage=dt();y.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();y.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function it(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function at(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+j.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,s=0;e[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(s=r))}),e.splice(s,0,t)}y.log=console.debug||console.log||(()=>{});function ct(e){try{e?y.storage.setItem("debug",e):y.storage.removeItem("debug")}catch{}}function ft(){let e;try{e=y.storage.getItem("debug")||y.storage.getItem("DEBUG")}catch{}return!e&&typeof a<"u"&&"env"in a&&(e=a.env.DEBUG),e}function dt(){try{return localStorage}catch{}}j.exports=ge()(y);var{formatters:ut}=j.exports;ut.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var re=T((Qt,Ie)=>{"use strict";o();var $=window&&window.CXF;Ie.exports=new Promise(function(e,t){if(window||t(),$)return e($);window.addEventListener("cxf.initialized",function(r){$=r.cxf,e($)},{capture:!0,once:!0,passive:!0})})});var Te=T((Oe,oe)=>{o();(function(){var e={};function t(l,g){return i(l)||s(l,g)||r()}function r(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function s(l,g){var S=[],h=!0,O=!1,w=void 0;try{for(var ee,_=l[Symbol.iterator]();!(h=(ee=_.next()).done)&&(S.push(ee.value),!g||S.length!==g);h=!0);}catch(te){O=!0,w=te}finally{try{h||_.return==null||_.return()}finally{if(O)throw w}}return S}function i(l){if(Array.isArray(l))return l}var u=0,I=1,x=2,b={1:["poker","poker2","poker"],12:["empire","castle","em"],15:["bigfarm","ranch","bf"],16:["empirefourkingdoms","fourkingdoms","e4k"],23:["legendsofhonor",void 0,"loh"],41:["empiremillenniumwars",void 0,"emmw"]},v=Object.entries(b).reduce(function(l,g){var S=t(g,2),h=S[0],O=S[1];return h=parseInt(h,10),l[h]=h,O.forEach(function(w){l[w]=h}),l},{}),f=function(l){l=l.toString().toLowerCase();var g=v[l];return g&&0|g},c=function(l,g){return(g=v[g])&&b[g][l]},m=c.bind(null,u),C=c.bind(null,I),A=c.bind(null,x);e={id:f,name:m,codename:C,acronym:A},typeof Oe=="object"&&typeof oe<"u"?oe.exports=e:typeof define=="function"&&define.amd&&define(function(){return e})})()});var se=T(z=>{"use strict";o();Object.defineProperty(z,"__esModule",{value:!0});z.CxfEvents=void 0;var Ct;(function(e){e.Token="cxf.token",e.Login="cxf.login",e.Signup="cxf.signup",e.GameEventUpdate="cxf.gameEvent.update",e.GameEventAdd="cxf.gameEvent.add",e.GameEventRemove="cxf.gameEvent.remove",e.XpChanged="cxf.xp.changed",e.LevelChanged="cxf.level.changed",e.LegendLevelChanged="cxf.legendLevel.changed",e.Push="cxf.push",e.OpenIGS="cxf.igs.open",e.JoinTempServer="cxf.join.temp.server",e.Subscription="cxf.subscription",e.RewardedAdStart="cxf.rewardedad.start",e.RewardedAdDone="cxf.rewardedad.done"})(Ct=z.CxfEvents||(z.CxfEvents={}))});o();o();o();o();o();function fe(e){return{isCanvas:!1,playerId:e.playerId,instanceId:e.instanceId,networkId:e.networkId,gameId:e.gameId,gameApi:e.gameApi,language:e.language,token:e.token,zoneId:e.zoneId,gameEvents:[],xp:0,level:0,legendLevel:void 0,countryCode:"",lastPurchaseTab:"",subscriptionDisabled:!1,isTempServer:!1,customizationSuffix:"",resolvedCustomizationUrl:"",sourceId:"unknown",unreadOfferNotifsCountUrl:""}}function B({legendLevel:e,level:t}){return{legendLevel:e,level:t}}o();o();var We=e=>{let t=e.match(/^https?:\/\/([^#/?]+)(?:[#/?]|$)/i);if(!t||!t[1])return;let r=t[1].match(/[^.]+\.[^.]+$/);if(r)return r[0]},de=e=>We(e);o();o();var Ce=H(pe()),lt=(0,Ce.default)("CXF-WEBSHOP"),d=(e,...t)=>lt(e,...t),E=(...e)=>console.error("%c CXF-WEBSHOP ->","background: #ff0000; color: #fff",...e);var X=e=>(...t)=>{try{return e(...t)}catch(r){E(r),mt(r)}},mt=e=>{let t=n.getConfig();n.getCxf().emit(t.CXF_ERROR,e)};o();var gt=(e,t)=>{let r=setTimeout(e,t);return()=>clearTimeout(r)},pt=(e,t)=>r=>new Promise((s,i)=>{let u=gt(()=>{i(new Error(`Timeout has exceeded ${t}`))},t);e(r).then(I=>{s(I),u()}).catch(i)}),ve=e=>new Promise((t,r)=>{let s=document.createElement("script");s.type="text/javascript",s.type="module",s.async=!0,s.src=e,s.addEventListener("load",t),s.addEventListener("error",r),document.body.append(s)}),qt=pt(()=>re(),1e4);o();var Se=e=>e.reduce((t,r,s)=>(t.offers.push({id:r,tier:0,productIds:{googleplay:r}}),t),{category:"all",offers:[],eventName:"lemonstand.nativePrice",eventType:"bubble"});o();var he={itunes:"apple",Android:"google",googleplay:"google",amazonmobile:"amazon",facebook:"facebook",samsung:"samsung",huawei:"huawei"},Ee=(e="stillpay")=>{let t=navigator.userAgent.match(/(itunes)|(googleplay)|(Android)|(amazonmobile)|(facebook)|(samsung)|(huawei)/g);if(!t)return e;let r=t[0];return Object.prototype.hasOwnProperty.call(he,r)?he[r]:e},ye={apple:"itunes",google:"googleplay",amazon:"amazonmobile",facebook:"facebook",samsung:"samsung",huawei:"huawei"},be=(e,t)=>{if(!Object.prototype.hasOwnProperty.call(ye,e))throw new Error(`Platform ${e} is not supported`);let r=Object.create(null);return r[ye[e]]=t,r};o();function xe(e){return Object.entries(e).filter(([t,r])=>r!=null).map(([t,r])=>`${t}=${encodeURIComponent(r)}`).join("&")}var we=()=>ggsGetQueryParameters(),Ae=()=>ggsGetReferrer();o();o();var P=256,J=[],Z;for(;P--;)J[P]=(P+256).toString(16).substring(1);function _e(){var e=0,t,r="";if(!Z||P+16>256){for(Z=Array(e=256);e--;)Z[e]=256*Math.random()|0;e=P=0}for(;e<16;e++)t=Z[P+e],e==6?r+=J[t&15|64]:e==8?r+=J[t&63|128]:r+=J[t],e&1&&e>1&&e<11&&(r+="-");return P++,r}o();var R=class extends Error{constructor(t,r){super(`${t} has null value: ${r}`),this.name="ArgumentNullError"}};o();function Fe({gameId:e,networkId:t,instanceId:r,playerId:s}){return[e,t,r,s].join("-")}var G=()=>_e(),Q=e=>{let{playerId:t,token:r,zoneId:s,language:i}=e;if(!t)throw new R("playerId",t);return{token:r,zoneId:s,locale:i,ping:Fe({...e,playerId:t})}};o();function Pe(e){return Math.floor(e/1e3)}o();var Le=H(Te());o();var Ne=e=>{for(let t of Object.keys(e)){let r=e[t];if(r==null||Number.isNaN(r))throw new R(t,r)}};var M=({page:e,route:t,sid:r,config:s={}})=>{let i=n.getConfig(),u=n.getStore(),{token:I,zoneId:x,locale:b}=Q(u),v={token:I,zoneId:x,locale:b,sid:r||G()};Object.keys(s).length>0&&(v.config=JSON.stringify(s)),Ne(v);let f=new URLSearchParams(we()),c={...v,"lemonstand.customization.url":u.resolvedCustomizationUrl||Y(),domain:de(Ae()),websiteId:f.get("w"),criteria:JSON.stringify(B(u)),level:u.level},m=f.get("network");return f.get("usekeybaselogin")==="false"&&Number(m)>0&&(c.network=m),u.adStatus?.areBannersAvailable&&(c.ads=!0),`${i.BASE_URL}/?${xe(c)}${e?`#${e}`:""}${t?`--${t}--${Date.now()}`:""}`},Y=()=>{let e=n.getConfig(),t=n.getStore(),r=n.getCxf(),s=(0,Le.acronym)(t.gameId),i=t.customizationSuffix?`-${t.customizationSuffix}`:"",u=`${s}${i}`;if(r.env==="test"){let I=new URLSearchParams(window.location.search).get("configGGS");if(I!==null)return e.CUSTOMIZATION_URL_TEMPLATE.replace("{0}",u).replace("{1}",I)}return e.CUSTOMIZATION_URL.replace("{0}",u)};var D=async()=>{let e=n.getConfig(),t=n.getStore();if(e.LEGEND_LEVEL_IS_USED&&t.legendLevel===void 0){d("Skip fetchUnreadOfferNotificationsCount due to legendLevel is undefined");return}if(!t.isCanvas&&t.token&&t.unreadOfferNotifsCountUrl){d("fetchUnreadOfferNotificationsCount");let r=0,s={Authorization:`Bearer ${t.token}`},i=t.unreadOfferNotifsCountUrl.replace("{locale}",t.language||"").replace("{zoneId}",t.zoneId||"").replace("{criteria}",encodeURIComponent(JSON.stringify(B(t))));try{d("fetch",i);let u=await fetch(i,{headers:s});if(u.ok){let I=await u.json();r=Number(I?.notifCount)}}catch(u){E(`cannot fetch ${i}`,u)}d("setUnseenOffersCounter",r),t.gameApi.invokeFn("setUnseenOffersCounter",r).catch(u=>{E("setUnseenOffersCounter error:",u)})}};o();var q=class{post(t){let r=document.querySelector("#dialog");r&&r.tagName.toLocaleLowerCase()==="iframe"&&r.contentWindow?.postMessage(t,"*")}};o();var Ue=()=>{if(typeof fetch!="function")return;let e=Y(),t="";fetch(e).then(r=>{if(Y()===e)return t=r.url,d("parsed customization url is "+t),n.updateStore({resolvedCustomizationUrl:t}),r.json()}).then(r=>{r&&n.updateStore({unreadOfferNotifsCountUrl:r.unreadOfferNotifsCountUrl||""})})};o();var K=e=>{let t=e;return{get:()=>t,set:r=>{t=r}}};var ne=class{constructor(){this.config=void 0;this.cxfProvider=K();this.dialogProvider=K();this.storeProvider=K();this.shopMessageBus=new q;this.fetchUnreadOfferNotificationsCount=D;this.preResolveConfig=Ue}setConfig(t){this.config=t}getConfig(){if(this.config===void 0)throw new Error("Config is not initialized");return this.config}setCxf(t){this.cxfProvider.set(t)}getCxf(){let t=this.cxfProvider.get();if(!t)throw new Error("CXF is not loaded");return t}setStore(t){this.storeProvider.set(t)}getStore(){let t=this.storeProvider.get();if(!t)throw new Error("Store is not initialized");return t}updateStore(t){let r=this.getStore();this.setStore({...r,...t})}},n=new ne;o();var p=H(se());o();var k=e=>{let t=n.getConfig();n.getCxf().emit(t.CXF_DIALOG_OPEN,e)};o();var W=e=>{let t=n.getConfig(),r=n.getStore(),s=Date.now(),i=Q(r),{zoneId:u}=i,I=e,{playerId:x,gameId:b,networkId:v,instanceId:f,sourceId:c}=r;It({eventId:t.WEB_SHOP_CALL_TRACK_ID,date:Pe(s),unixtimeMS:s,sessionId:I,zoneId:u?Number.parseInt(u,10):void 0,playerId:Number.parseInt(x,10),gameId:Number.parseInt(b,10),networkId:Number.parseInt(v,10),instanceId:Number.parseInt(f,10),sourceId:c})},It=e=>{let t=n.getConfig();n.getCxf().emit(t.CXF_TRACK_MSG,e)};o();o();o();var Re=new Set([218,316,318,460,461,768,802,814,830,877]);o();var Ge=e=>{d("OnReward: payload",e);let{isCanvas:t}=n.getStore();if(t){window.CanvasAgent?.instance?.hide(),window.CanvasAgent?.instance?.navigate();return}let r=M({route:encodeURIComponent(e.successUrl),...e});n.updateStore({lastPurchaseTab:e.page,sourceId:"successfulPayoutReward"}),W(e.sid),k(r)},vt=({target:e,action:t,data:r})=>{n.shopMessageBus.post({eventName:"lemonstand.category.update",target:e,data:{action:t,data:r}})},St=({notifCount:e})=>{d("onLemonstandNotificationsCreated -> notifCount:",e);let t=n.getStore();if(e>0){let r=Math.floor(Math.random()*(Number(t.networkId)<250?12e4:15e3));setTimeout(()=>{D()},r)}else t.gameApi.invokeFn("setUnseenOffersCounter",0).catch(r=>{E("setUnseenOffersCounter error:",r)})},Me=()=>({reward:Ge,reward_received:Ge,"lemonstand.category.update":vt,"lemonstand.notifs.created":St});var De=!1,ht=e=>{switch(d(`Canvas event "${e.eventType}" received:`,e),e.eventType){case"native_catalog_request":{if(e?.paymentContractIds?.length>0){De||(window.addEventListener("message",({data:r})=>{if(r?.eventName==="lemonstand.category.update"&&r?.data?.action==="nativePriceUpdate"){if(d("lemonstand.category.update event",r.data),!r.data.data)return;let s={};for(let i in r.data.data){let{priceString:u,...I}=r.data.data[i];s[i]=I}d("nativeCatalog:",s),window.CanvasAgent?.instance?.setNativeCatalog(s)}}),De=!0);let t=Se(e.paymentContractIds);window.postMessage(t,"*"),d("Event `lemonstand.nativePrice` sent")}break}case"native_checkout_request":{let{paymentContract:t,sessionId:r,collectionAlias:s,offerId:i,distributionPlatform:u}=e,{zoneId:I}=n.getStore();window.postMessage({eventName:"lemonstand.nativePay",eventType:"bubble",nativePayInfo:{pkg:{price:t?.price?.amount,productIdMS:"",productIds:be(u,t?.id),tier:Number(t?.id?.split("_")?.at(-1))},meta:{criteria:JSON.stringify({}),lemonstand:!0,offerId:i,sid:r,type:s,zoneId:I,successUrl:window.location.href}}},"*"),d("Event `lemonstand.nativePay` sent");break}default:break}},yt=(e={})=>{d(p.CxfEvents.OpenIGS,"payload:",e),e.sourceId&&n.updateStore({sourceId:e.sourceId});let{isCanvas:t,lastPurchaseTab:r,gameApi:s}=n.getStore();if(t){e.page&&window.CanvasAgent?.instance?.navigate(e.page),window.CanvasAgent?.instance?.show();return}let i=G();W(i);let u=M({sid:i,page:r,...e});k(u),setTimeout(()=>{s.invokeFn("setUnseenOffersCounter",0)},1e3)},Et=e=>{let t=Me();e.on(p.CxfEvents.OpenIGS,X(yt)),e.on(p.CxfEvents.Push,X(({id:r,payload:s})=>{d(p.CxfEvents.Push,r,s);let i=t[r];i&&i(s)}))},bt=e=>{e.on(p.CxfEvents.Login,t=>{let{gameEvents:r,language:s,token:i,zoneId:u}=t;Re.has(Number(u))&&(Number(u)>300||localStorage.getItem("cxf_canvas")==="enabled")&&n.updateStore({isCanvas:!0});let{gameEvents:I,isCanvas:x}=n.getStore(),b=v=>f=>!v.map(c=>c.type).includes(f.type);if(n.updateStore({...t,gameEvents:[...I.filter(b(r)),...r]}),d(p.CxfEvents.Login,n.getStore()),!x){n.fetchUnreadOfferNotificationsCount();return}if(typeof window.CanvasAgent?.create=="function"){let{CANVAS_APP_ID_BY_GAME:v}=n.getConfig(),f=Ee(),c=v[e.gameId],m=typeof c=="string"?c:c[f];if(!m){E("Canvas app id not found for platform",{platform:f,canvasApps:c});return}window.CanvasAgent.create({authClientId:"lemonstand",canvasAppId:m,eventListener:ht,locale:s,token:i}).then(C=>{window.CanvasAgent.instance=C,d(p.CxfEvents.Login,"Canvas created")}).catch(C=>{E("Cannot create instance of Canvas",C)})}}),e.on(p.CxfEvents.GameEventUpdate,t=>{d(p.CxfEvents.GameEventUpdate,t);let{gameEvents:r,isCanvas:s}=n.getStore(),i=new Set(t.map(u=>u.type));n.updateStore({gameEvents:[...r.filter(u=>!i.has(u.type)),...t]}),s&&window.CanvasAgent?.instance?.refresh(),d(p.CxfEvents.GameEventUpdate,"reducer",n.getStore())}),e.on(p.CxfEvents.GameEventAdd,t=>{d(p.CxfEvents.GameEventAdd,t);let{gameEvents:r,isCanvas:s}=n.getStore();n.updateStore({gameEvents:[...r,t]}),s&&window.CanvasAgent?.instance?.refresh(),d(p.CxfEvents.GameEventAdd,"reducer",n.getStore())}),e.on(p.CxfEvents.GameEventRemove,t=>{d(p.CxfEvents.GameEventRemove,t);let{gameEvents:r,isCanvas:s}=n.getStore();n.updateStore({gameEvents:r.filter(({type:i})=>i!==t)}),s&&window.CanvasAgent?.instance?.refresh(),d(p.CxfEvents.GameEventRemove,"reducer",n.getStore())}),e.on(p.CxfEvents.LevelChanged,t=>{d(p.CxfEvents.LevelChanged,t);let{isCanvas:r}=n.getStore();n.updateStore({level:t}),d(p.CxfEvents.LevelChanged,"reducer",n.getStore()),r?window.CanvasAgent?.instance?.refresh():n.fetchUnreadOfferNotificationsCount()}),e.on(p.CxfEvents.LegendLevelChanged,t=>{d(p.CxfEvents.LegendLevelChanged,`legendLevel: ${t}`),n.updateStore({legendLevel:t});let r=n.getStore();d(p.CxfEvents.LegendLevelChanged,"reducer",r),n.fetchUnreadOfferNotificationsCount()})},xt=e=>{e.on("cxf.native.subscription.enable",t=>{n.updateStore({subscriptionDisabled:t===0,customizationSuffix:t===0?"no-subscription":""}),n.preResolveConfig()})},wt=e=>{e.on("cxf.set.customization.surfix",t=>{let{customizationSuffix:r}=n.getStore();t!==r&&(n.updateStore({customizationSuffix:t||""}),n.preResolveConfig())})},At=e=>{let t=n.getConfig();e.on(t.CXF_AD_STATUS,({areBannersAvailable:r,bannersDetails:s})=>{n.updateStore({adStatus:{areBannersAvailable:r,bannersDetails:s}})})},_t=e=>{e.on("cxf.join.temp.server",t=>{let r=n.getStore();n.updateStore({isTempServer:!!t}),(r.customizationSuffix===""||r.customizationSuffix==="temp")&&(n.updateStore({customizationSuffix:t?"temp":""}),n.preResolveConfig())})},ke=()=>[Et,bt,At,_t,xt,wt];o();var Ft=()=>{d("OnOpenSalesOffersPage");let{isCanvas:e}=n.getStore();if(e){window.CanvasAgent?.instance?.navigate("supersale");return}let t=G(),r=M({page:"sale-offers",sid:t});k(r)},Pt=()=>{let e=n.getStore();d("onLemonstandClose",e),D()},Xe=()=>({"cxf.webshop.sales.open":Ft,"cxf.dialog.close":Pt});var ze=e=>{let t=Xe(),r=ke();window.addEventListener("message",X(({data:s})=>{if(s){let i=t[s.name];i&&(d("POST MESSAGE",s),i(s.payload))}}));for(let s of r)s(e);n.preResolveConfig(),d("App has started")};o();var He=H(se());var Ot={CANVAS_AGENT_URL:a.env.CANVAS_AGENT_URL,CANVAS_APP_ID_BY_GAME:a.env.CANVAS_APP_ID_BY_GAME,CUSTOMIZATION_URL:a.env.CUSTOMIZATION_URL,CUSTOMIZATION_URL_TEMPLATE:a.env.CUSTOMIZATION_URL_TEMPLATE,BASE_URL:a.env.BASE_URL,CXF_DIALOG_OPEN:"cxf.dialog.open",CXF_DIALOG_CLOSE:"cxf.dialog.close",CXF_TRACK_MSG:"cxf.tracking.message",CXF_BTN_CLICK_MSG:He.CxfEvents.OpenIGS,CXF_OPEN_SALES_MSG:"cxf.webshop.sales.open",WEB_SHOP_CALL_TRACK_ID:1181,CXF_ERROR:"cxf.error",CXF_PUSH:"cxf.push",CXF_AD_STATUS:"cxf.adBanner.status"},Tt={12:{LEGEND_LEVEL_IS_USED:!0},15:{LEGEND_LEVEL_IS_USED:!1},16:{LEGEND_LEVEL_IS_USED:!0}},Be=e=>({...Ot,...Tt[e]});re().then(e=>{let t=Be(e.gameId);n.setConfig(t),n.setCxf(e);let r=fe(e);n.setStore(r),ve(t.CANVAS_AGENT_URL).then(()=>{d(`Canvas agent loaded: ${t.CANVAS_AGENT_URL}`)}).catch(s=>{E("Canvas agent load error",s)}),ze(e)});})();
|