{"version":3,"file":"static/js/service-progressive-web-app.3600f310.chunk.js","mappings":"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","sources":["app-react/services/progressive-web-app/progressive-web-app.service.tsx","common/const/service-worker-constants.ts"],"sourcesContent":["import { IServiceFactoryExtended } from '../service-factory-extended.interface';\nimport { IProgressiveWebAppService } from \"./progressive-web-app.service.interface\";\nimport { Check } from '@sparkware/app-utils';\nimport { observable, action, computed, makeObservable } from \"mobx\";\nimport { ServiceBase } from '../ServiceBase';\nimport { DomEventSubscription } from '../../../utils/event-listener-registration';\nimport {\n PWA_INSTALLED_CALLBACK, PWA_SHOULD_AUTO_POPUP_LOCAL_STORAGE_KEY,\n PWA_PROMPT_CALLBACK,\n PWA_PROMPT_EVENT,\n} from \"../../../common/const/service-worker-constants\";\nimport {OrbitUserFlowAnalyticsCategory} from \"../analytics/analytics.service.interface\";\n\n\nexport class ProgressiveWebAppService extends ServiceBase implements IProgressiveWebAppService {\n\n @observable.ref\n private _onBeforeInstallEvent = null;\n\n private _clickSubscription: DomEventSubscription;\n\n @computed\n public get isPWAInstallable(): boolean {\n return Check.isFunction(this._onBeforeInstallEvent?.prompt);\n }\n\n constructor(services: IServiceFactoryExtended) {\n super(services);\n\n makeObservable(this);\n\n const pwaEvent = this.services.window.getGlobalProperty(PWA_PROMPT_EVENT);\n if (pwaEvent) {\n // this means beforeinstallprompt handler was already called\n this._init(pwaEvent);\n }\n\n // beforeinstallprompt can arrive after service constructor finishes\n // and also can be called multiple times\n\n // register beforeinstallprompt callback\n this.services.window.setGlobalProperty(PWA_PROMPT_CALLBACK, (pwaEvent) => {\n this._init(pwaEvent);\n });\n\n // register appinstalled callback\n this.services.window.setGlobalProperty(PWA_INSTALLED_CALLBACK, () => {\n this._onAppInstalled();\n });\n\n this._subscribeReactions();\n\n this._subscribeToMainScreenClick();\n\n // add to analytics PWA launch event\n if ((this.services.device.isStandalone && this.services.device.browser.isSafari) || this.services.device.isProgressiveWebApp) {\n this.services.analytics.sendOrbitUserFlowEvent(OrbitUserFlowAnalyticsCategory.PWA, 'Launch', this.services.user.cid);\n }\n }\n\n\n private async _subscribeReactions(): Promise {\n const cmsSegmentation = await this.services.cmsSegmentation;\n this.reaction(() => {\n return {\n isAuthorized: this.services.user.isAuthorized,\n isCstatus: cmsSegmentation.isCstatus,\n isUKOrIrl: cmsSegmentation.isUKOrIrl\n }\n }, data => {\n if (data.isAuthorized) {\n const shouldAutoPopup = data.isCstatus && !data.isUKOrIrl;\n this.services.localStorage.setItem(PWA_SHOULD_AUTO_POPUP_LOCAL_STORAGE_KEY, shouldAutoPopup);\n }\n },\n {\n fireImmediately: true\n }\n );\n }\n\n @action.bound\n // can be called multiple times by beforeinstallprompt handler\n private _init(onBeforeInstallEvent: any) {\n // disable it for hybrid and mini Orbit\n if (this.services.miniOrbit.isEnabled || this.services.device.hybrid.isHybrid) {\n return;\n }\n\n this._onBeforeInstallEvent = onBeforeInstallEvent;\n }\n\n private _subscribeToMainScreenClick() {\n this._clickSubscription = this.services.dom.subscribeTo.click(this._tryToShowPwaInstall);\n }\n\n private _unsubscribeFromMainScreenClick() {\n if (this._clickSubscription) {\n this._clickSubscription.dispose();\n this._clickSubscription = null;\n }\n }\n\n @action.bound\n private _onAppInstalled() {\n this.services.analytics.sendOrbitUserFlowEvent(OrbitUserFlowAnalyticsCategory.PWA, 'Browser_Prompt', 'INSTALL');\n this.services.logger.debug('PWA installed');\n this.services.window.setGlobalProperty(PWA_PROMPT_CALLBACK, null);\n this._onBeforeInstallEvent = null;\n }\n\n private async _shouldAutoPrompt(): Promise {\n const cmsSegmentation = await this.services.cmsSegmentation;\n const shouldPrompt = this.services.localStorage.getItem(PWA_SHOULD_AUTO_POPUP_LOCAL_STORAGE_KEY) === 'true' && !cmsSegmentation.isAppBannerUKorIRL;\n return this.isPWAInstallable\n && shouldPrompt\n && !this.services.user.isAuthorized;\n }\n\n private _tryToShowPwaInstall = async () => {\n if (await this._shouldAutoPrompt()) {\n this.prompt().catch(err => {\n this.services.logger.error('Attempt to show PWA prompt failed', err);\n });\n }\n }\n\n prompt(): Promise {\n if (!this.isPWAInstallable) {\n return Promise.reject(\"Not a PWA\");\n }\n\n try {\n return this._onBeforeInstallEvent.prompt()\n .then(res => {\n this._unsubscribeFromMainScreenClick();\n this.services.analytics.sendOrbitUserFlowEvent(OrbitUserFlowAnalyticsCategory.PWA, 'Browser_Prompt', 'SHOW');\n this.services.logger.debug(`PWA prompt() success with outcome: ${res && res.outcome}`);\n return res;\n });\n }\n catch (err) {\n this.services.logger.error('Pwa exception caught', err);\n throw err;\n }\n }\n}\n","export const QA_ENV_URBAN_DEFAULT_SETTINGS = {\n defaultIcon: 'https://mirage-orbit-latest-eu.888casino.com/configurations/888casino_com/assets/images/888casinologo-mobile.svg',\n defaultTitle: '888Casino',\n defaultActionURL: 'https://mirage-orbit-latest-eu.888casino.com',\n appKey: '64FbuTbIS9aQUIwB0cWoMA',\n token: 'MTo2NEZidVRiSVM5YVFVSXdCMGNXb01BOkFVRXNxa2hEUE5rZUtTOW1DLVdvR3hwMHNjdHEtNF9xLXJ1M3ZGazVJWEU',\n vapidPublicKey: 'BJOvGd2nCaeEGqqKnsJJhWmJzMvJqO4t3wSCqzVJ6uhHWw3891tqJhs8muo958dtbggZe4vM122EtKE9HkvUf9U='\n};\n\nexport const PWA_PROMPT_EVENT = \"pwaPromptEvent\";\nexport const PWA_PROMPT_CALLBACK = \"pwaPromptCallback\";\nexport const PWA_INSTALLED_CALLBACK = \"pwaInstalledCallback\";\nexport const PWA_SHOULD_AUTO_POPUP_LOCAL_STORAGE_KEY = \"orbit-pwa-should-auto-popup\";\n\n"],"names":["ProgressiveWebAppService","observable","action","services","_clickSubscription","_tryToShowPwaInstall","_shouldAutoPrompt","prompt","catch","err","logger","error","makeObservable","pwaEvent","window","getGlobalProperty","PWA_PROMPT_EVENT","_init","setGlobalProperty","PWA_PROMPT_CALLBACK","PWA_INSTALLED_CALLBACK","_onAppInstalled","_subscribeReactions","_subscribeToMainScreenClick","device","isStandalone","browser","isSafari","isProgressiveWebApp","analytics","sendOrbitUserFlowEvent","OrbitUserFlowAnalyticsCategory","user","cid","Check","this","_onBeforeInstallEvent","cmsSegmentation","reaction","isAuthorized","isCstatus","isUKOrIrl","data","shouldAutoPopup","localStorage","setItem","PWA_SHOULD_AUTO_POPUP_LOCAL_STORAGE_KEY","fireImmediately","onBeforeInstallEvent","miniOrbit","isEnabled","hybrid","isHybrid","dom","subscribeTo","click","dispose","debug","shouldPrompt","getItem","isAppBannerUKorIRL","isPWAInstallable","Promise","reject","then","res","_unsubscribeFromMainScreenClick","outcome","ServiceBase","computed","QA_ENV_URBAN_DEFAULT_SETTINGS","defaultIcon","defaultTitle","defaultActionURL","appKey","token","vapidPublicKey"],"sourceRoot":""}