{"version":3,"file":"async-module-casino-shared-i-dn.d.m.'DDIiaAv2'.js","sources":["../../../../../../src/modules/casino/components/CasinoGameIframeError/CasinoGameIframeError.vue","../../../../../../src/modules/egs/submodules/favorite-games/store/useEgsFavoriteGamesStore.ts","../../../../../../src/modules/casino/submodules/analytics/useCasinoAnalyticsStore.ts"],"sourcesContent":["\n\n\n \n \n \n \n\n\n\n","import { defineStore } from 'pinia';\nimport { watch } from 'vue';\n\nimport {\n addFavoriteGame,\n removeFavoriteGame,\n} from '@leon-hub/api-sdk';\n\nimport { useGraphqlClient } from '@core/app-rest-client';\nimport { useIsLoggedIn } from '@core/auth';\n\nimport type { EgsGame } from 'web/src/modules/egs/types';\nimport { useEgsGamesStore } from 'web/src/modules/egs/submodules/games/store';\nimport { useLobbyStore } from 'web/src/modules/lobby/store';\n\nconst useEgsFavoriteGamesStore = defineStore('egs-favorite-games', () => {\n const { isLoggedIn } = useIsLoggedIn();\n const api = useGraphqlClient();\n\n const gamesStore = useEgsGamesStore();\n const lobbyStore = useLobbyStore();\n let favoriteGamesToAdd: string[] = [];\n\n async function addFavoriteGames(ids: string[]): Promise {\n if (!isLoggedIn.value) {\n favoriteGamesToAdd.push(...ids);\n return;\n }\n\n gamesStore.setFavorite(ids, true);\n lobbyStore.setFavorite(ids, true);\n\n try {\n await addFavoriteGame(api, (node) => node.mutations.externalGames.favoriteGames.add, {\n options: {\n ids,\n },\n });\n } catch (error) {\n gamesStore.setFavorite(ids, false);\n lobbyStore.setFavorite(ids, false);\n\n throw error;\n }\n }\n\n async function removeFavoriteGames(ids: string[]): Promise {\n gamesStore.setFavorite(ids, false);\n lobbyStore.setFavorite(ids, false);\n\n try {\n await removeFavoriteGame(api, (node) => node.mutations.externalGames.favoriteGames.remove, {\n options: {\n ids,\n },\n });\n } catch (error) {\n gamesStore.setFavorite(ids, true);\n lobbyStore.setFavorite(ids, true);\n\n throw error;\n }\n }\n\n async function toggleFavoriteGame(game: EgsGame): Promise {\n if (game.isFavorite) {\n await removeFavoriteGames([game.id]);\n } else {\n await addFavoriteGames([game.id]);\n }\n }\n\n watch(isLoggedIn, (newValue) => {\n if (newValue && favoriteGamesToAdd.length) {\n void addFavoriteGames(favoriteGamesToAdd);\n favoriteGamesToAdd = [];\n }\n });\n\n return {\n addFavoriteGames,\n removeFavoriteGames,\n toggleFavoriteGame,\n };\n});\n\nexport default useEgsFavoriteGamesStore;\n","import { defineStore } from 'pinia';\n\nimport { Events as AnalyticsEvent } from '@leon-hub/yandex-metrika';\n\nimport { useAnalytics } from '@core/analytics';\n\nimport type { CasinoLobbyMetricsData } from 'web/src/modules/casino/types';\n\nconst useCasinoAnalyticsStore = defineStore('casino-analytics', () => {\n const analytics = useAnalytics();\n\n let lobbyMetricsData: CasinoLobbyMetricsData | undefined;\n\n function sendOpenGameLobbyMetrika(): void {\n if (!lobbyMetricsData) {\n return;\n }\n\n const {\n lobbyType,\n groupFilterName,\n categoryFilterName,\n section,\n vendorName,\n gameName,\n } = lobbyMetricsData;\n\n analytics.push(AnalyticsEvent.Z_OPEN_GAME_LOBBY, {\n gameVendorLobby: {\n [lobbyType]: {\n [groupFilterName]: {\n [categoryFilterName]: {\n [section]: {\n [vendorName]: gameName,\n },\n },\n },\n },\n },\n });\n\n lobbyMetricsData = undefined;\n }\n\n function setMetricsData(data: CasinoLobbyMetricsData): void {\n lobbyMetricsData = data;\n }\n\n return {\n setMetricsData,\n sendOpenGameLobbyMetrika,\n };\n});\n\nexport default useCasinoAnalyticsStore;\n"],"names":["props","__props","emits","__emit","icon","computed","IconName","image","useEgsFavoriteGamesStore","defineStore","isLoggedIn","useIsLoggedIn","api","useGraphqlClient","gamesStore","useEgsGamesStore","lobbyStore","useLobbyStore","favoriteGamesToAdd","addFavoriteGames","ids","addFavoriteGame","node","error","removeFavoriteGames","removeFavoriteGame","toggleFavoriteGame","game","watch","newValue","useCasinoAnalyticsStore","analytics","useAnalytics","lobbyMetricsData","sendOpenGameLobbyMetrika","lobbyType","groupFilterName","categoryFilterName","section","vendorName","gameName","AnalyticsEvent","setMetricsData","data"],"mappings":"qvBAkBA,MAAMA,EAAQC,EACRC,EAAQC,EAERC,EAAOC,EAAmC,IAAM,CAKpD,OAAQL,EAAM,KAAM,CAClB,IAAK,cACH,OAAOM,EAAS,WAClB,IAAK,iBACL,IAAK,aACH,OAAOA,EAAS,oBAClB,QACS,MAAA,CACX,CACD,EAEKC,EAAQF,EAAgC,IAAM,CAY3B,CACxB,40CCnCKG,GAA2BC,EAAY,qBAAsB,IAAM,CACjE,KAAA,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAC/BC,EAAMC,EAAiB,EAEvBC,EAAaC,EAAiB,EAC9BC,EAAaC,EAAc,EACjC,IAAIC,EAA+B,CAAC,EAEpC,eAAeC,EAAiBC,EAA8B,CACxD,GAAA,CAACV,EAAW,MAAO,CACFQ,EAAA,KAAK,GAAGE,CAAG,EAC9B,MAAA,CAGSN,EAAA,YAAYM,EAAK,EAAI,EACrBJ,EAAA,YAAYI,EAAK,EAAI,EAE5B,GAAA,CACI,MAAAC,EAAgBT,EAAMU,GAASA,EAAK,UAAU,cAAc,cAAc,IAAK,CACnF,QAAS,CACP,IAAAF,CAAA,CACF,CACD,QACMG,EAAO,CACH,MAAAT,EAAA,YAAYM,EAAK,EAAK,EACtBJ,EAAA,YAAYI,EAAK,EAAK,EAE3BG,CAAA,CACR,CAGF,eAAeC,EAAoBJ,EAA8B,CACpDN,EAAA,YAAYM,EAAK,EAAK,EACtBJ,EAAA,YAAYI,EAAK,EAAK,EAE7B,GAAA,CACI,MAAAK,EAAmBb,EAAMU,GAASA,EAAK,UAAU,cAAc,cAAc,OAAQ,CACzF,QAAS,CACP,IAAAF,CAAA,CACF,CACD,QACMG,EAAO,CACH,MAAAT,EAAA,YAAYM,EAAK,EAAI,EACrBJ,EAAA,YAAYI,EAAK,EAAI,EAE1BG,CAAA,CACR,CAGF,eAAeG,EAAmBC,EAA8B,CAC1DA,EAAK,WACP,MAAMH,EAAoB,CAACG,EAAK,EAAE,CAAC,EAEnC,MAAMR,EAAiB,CAACQ,EAAK,EAAE,CAAC,CAClC,CAGIC,OAAAA,EAAAlB,EAAamB,GAAa,CAC1BA,GAAYX,EAAmB,SAC5BC,EAAiBD,CAAkB,EACxCA,EAAqB,CAAC,EACxB,CACD,EAEM,CACL,iBAAAC,EACA,oBAAAK,EACA,mBAAAE,CACF,CACF,CAAC,EC5EKI,GAA0BrB,EAAY,mBAAoB,IAAM,CACpE,MAAMsB,EAAYC,EAAa,EAE3B,IAAAC,EAEJ,SAASC,GAAiC,CACxC,GAAI,CAACD,EACH,OAGI,KAAA,CACJ,UAAAE,EACA,gBAAAC,EACA,mBAAAC,EACA,QAAAC,EACA,WAAAC,EACA,SAAAC,CAAA,EACEP,EAEMF,EAAA,KAAKU,EAAe,kBAAmB,CAC/C,gBAAiB,CACf,CAACN,CAAS,EAAG,CACX,CAACC,CAAe,EAAG,CACjB,CAACC,CAAkB,EAAG,CACpB,CAACC,CAAO,EAAG,CACT,CAACC,CAAU,EAAGC,CAAA,CAChB,CACF,CACF,CACF,CACF,CACD,EAEkBP,EAAA,MAAA,CAGrB,SAASS,EAAeC,EAAoC,CACvCV,EAAAU,CAAA,CAGd,MAAA,CACL,eAAAD,EACA,yBAAAR,CACF,CACF,CAAC"}