{ "version": 3, "sources": ["src/app/core/services/tawk-to.service.ts"], "sourcesContent": ["import { inject, Injectable } from '@angular/core';\nimport { IdleCallbackService } from '@core/services/idle-callback.service';\nimport { ReplaySubject } from 'rxjs';\nimport { filter, map, shareReplay, switchMap } from 'rxjs/operators';\nimport { ScriptLoaderService } from './script-loader.service';\nimport { WINDOW } from './window.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TawkToService {\n private scriptUrl =\n 'https://embed.tawk.to/677d0d16af5bfec1dbe7cd56/1ih07m84i';\n\n private scriptLoaderService = inject(ScriptLoaderService);\n private window: any = inject(WINDOW);\n private idleCallbackService = inject(IdleCallbackService);\n\n private fullyLoaded = new ReplaySubject(1);\n\n private tawkToApi = this.idleCallbackService.firstIdleCallback().pipe(\n switchMap(() => this.scriptLoaderService.load(this.scriptUrl)),\n filter(data => !!data),\n switchMap(() => this.fullyLoaded.pipe(filter(loaded => loaded))),\n map(() => this.window.Tawk_API),\n shareReplay(1)\n );\n\n constructor() {\n if (this.window.Tawk_API) {\n this.window.Tawk_API.onBeforeLoad = () =>\n this.fullyLoaded.next(true);\n }\n }\n\n initialize(): void {\n this.tawkToApi.subscribe({\n next: () => {\n console.log('Tawk.to script loaded successfully');\n },\n error: error => {\n console.error('Failed to load Tawk.to script', error);\n },\n });\n }\n\n toggle(): void {\n this.tawkToApi.subscribe(tawkApi => tawkApi.toggle());\n }\n\n hideWidget(): void {\n this.tawkToApi.subscribe(tawkApi => tawkApi.hideWidget());\n }\n\n open(): void {\n this.tawkToApi.subscribe(tawkApi => tawkApi.maximize());\n }\n}\n"], "mappings": "8MAUA,IAAaA,GAAa,IAAA,CAApB,MAAOA,CAAa,CAkBtBC,aAAA,CAjBQ,KAAAC,UACJ,2DAEI,KAAAC,oBAAsBC,EAAOC,CAAmB,EAChD,KAAAC,OAAcF,EAAOG,CAAM,EAC3B,KAAAC,oBAAsBJ,EAAOK,CAAmB,EAEhD,KAAAC,YAAc,IAAIC,EAAuB,CAAC,EAE1C,KAAAC,UAAY,KAAKJ,oBAAoBK,kBAAiB,EAAGC,KAC7DC,EAAU,IAAM,KAAKZ,oBAAoBa,KAAK,KAAKd,SAAS,CAAC,EAC7De,EAAOC,GAAQ,CAAC,CAACA,CAAI,EACrBH,EAAU,IAAM,KAAKL,YAAYI,KAAKG,EAAOE,GAAUA,CAAM,CAAC,CAAC,EAC/DC,EAAI,IAAM,KAAKd,OAAOe,QAAQ,EAC9BC,EAAY,CAAC,CAAC,EAIV,KAAKhB,OAAOe,WACZ,KAAKf,OAAOe,SAASE,aAAe,IAChC,KAAKb,YAAYc,KAAK,EAAI,EAEtC,CAEAC,YAAU,CACN,KAAKb,UAAUc,UAAU,CACrBF,KAAMA,IAAK,CACPG,QAAQC,IAAI,oCAAoC,CACpD,EACAC,MAAOA,GAAQ,CACXF,QAAQE,MAAM,gCAAiCA,CAAK,CACxD,EACH,CACL,CAEAC,QAAM,CACF,KAAKlB,UAAUc,UAAUK,GAAWA,EAAQD,OAAM,CAAE,CACxD,CAEAE,YAAU,CACN,KAAKpB,UAAUc,UAAUK,GAAWA,EAAQC,WAAU,CAAE,CAC5D,CAEAC,MAAI,CACA,KAAKrB,UAAUc,UAAUK,GAAWA,EAAQG,SAAQ,CAAE,CAC1D,iDA9CSlC,EAAa,CAAA,iCAAbA,EAAamC,QAAbnC,EAAaoC,UAAAC,WAFV,MAAM,CAAA,CAAA,SAETrC,CAAa,GAAA", "names": ["TawkToService", "constructor", "scriptUrl", "scriptLoaderService", "inject", "ScriptLoaderService", "window", "WINDOW", "idleCallbackService", "IdleCallbackService", "fullyLoaded", "ReplaySubject", "tawkToApi", "firstIdleCallback", "pipe", "switchMap", "load", "filter", "data", "loaded", "map", "Tawk_API", "shareReplay", "onBeforeLoad", "next", "initialize", "subscribe", "console", "log", "error", "toggle", "tawkApi", "hideWidget", "open", "maximize", "factory", "\u0275fac", "providedIn"] }