{"version":3,"file":"async-module-casino-groups-i-dn.d.m.'CCMSX0l1'.js","sources":["../../../../../../src/modules/casino/submodules/groups/views/CasinoGroupsTopBarRouteComponent/composables/useCasinoGroupsTopBarRouteComponent.ts","../../../../../../src/modules/casino/submodules/groups/views/CasinoGroupsTopBarRouteComponent/CasinoGroupsTopBarRouteComponent.vue","../../../../../../src/modules/casino/submodules/groups/pages/CasinoGroupsRoutePage/composables/useCasinoGroupsRoutePage.ts","../../../../../../src/modules/casino/submodules/groups/pages/CasinoGroupsRoutePage/CasinoGroupsRoutePage.vue","../../../../../../src/modules/casino/submodules/groups/prefetch/CasinoGroupsPagePrefetch.ts"],"sourcesContent":["import type { ComputedRef } from 'vue';\nimport { computed, toRef } from 'vue';\n\nimport { BadgeKind } from '@components/badge';\n\nimport { useEgsGroupsStore } from 'web/src/modules/egs/submodules/groups/store';\n\ninterface CasinoGroupsTopBarRouteComponentComposable {\n badgeKind: BadgeKind;\n counter: ComputedRef;\n}\n\nexport default function useCasinoGroupsTopBarRouteComponent(): CasinoGroupsTopBarRouteComponentComposable {\n const badgeKind = BadgeKind.DEFAULT;\n const currentGroups = toRef(useEgsGroupsStore(), 'currentGroups');\n\n const counter = computed(() => (currentGroups.value.length > 0 ? String(currentGroups.value.length) : ''));\n\n return {\n badgeKind,\n counter,\n };\n}\n","\n\n\n","import type {\n Ref,\n} from 'vue';\nimport {\n computed,\n nextTick,\n onBeforeMount,\n ref,\n toRef,\n} from 'vue';\n\nimport { LobbyGameType } from '@leon-hub/api-sdk';\nimport { nextAnimationFrame } from '@leon-hub/html-utils';\nimport { Events as AnalyticsEvent } from '@leon-hub/yandex-metrika';\n\nimport { useAnalytics } from '@core/analytics';\n\nimport type { EgsGroup } from 'web/src/modules/egs/types';\nimport { useScrollIntoView } from 'web/src/modules/core/composables/scroll';\nimport { useEgsGroupsStore } from 'web/src/modules/egs/submodules/groups/store';\nimport { EgsRouterParametersHandler } from 'web/src/modules/egs/submodules/navigation/utils';\nimport { getGroupByUrl } from 'web/src/modules/egs/utils';\nimport { useLobbySearchGroups } from 'web/src/modules/lobby/composables';\n\ninterface CasinoGroupsRoutePageComposable {\n list: Ref;\n selectedId: Ref;\n searchText: Ref;\n isSearchInProgress: Ref;\n isNoSearchResults: Ref;\n onSearchInput(value: string): void;\n onProviderSelect(egsGroup: EgsGroup): void;\n onSelectedItemLoaded(element: HTMLElement): Promise;\n onSearchClear(): void;\n}\n\nexport default function useCasinoGroupsRoutePage(): CasinoGroupsRoutePageComposable {\n const selectedGroupUrl = ref();\n\n const analytics = useAnalytics();\n const { scrollIntoView } = useScrollIntoView();\n const currentGroups = toRef(useEgsGroupsStore(), 'currentGroups');\n\n const group = computed(() => (selectedGroupUrl.value ? getGroupByUrl(currentGroups.value, selectedGroupUrl.value) : undefined));\n const selectedId = computed(() => group.value?.id || '');\n\n onBeforeMount(() => {\n selectedGroupUrl.value = EgsRouterParametersHandler.getSelectedGroup();\n EgsRouterParametersHandler.setSelectedGroup(undefined);\n });\n\n const {\n searchText,\n isSearchInProgress,\n isNoSearchResults,\n list,\n onSearchInput,\n onSearchClear,\n } = useLobbySearchGroups();\n\n function onProviderSelect(egsGroup: EgsGroup): void {\n analytics.push(AnalyticsEvent.Z_SEARCH_BY_PROVIDER, {\n searchDetails: {\n providers: {\n [egsGroup?.type === LobbyGameType.LIVE\n ? 'live'\n : 'slots']: egsGroup?.name || 'all',\n },\n },\n });\n }\n\n async function onSelectedItemLoaded(element: HTMLElement): Promise {\n await nextTick();\n await nextAnimationFrame();\n await nextTick();\n\n scrollIntoView(element);\n }\n\n return {\n list,\n selectedId,\n searchText,\n isSearchInProgress,\n isNoSearchResults,\n onSearchInput,\n onProviderSelect,\n onSelectedItemLoaded,\n onSearchClear,\n };\n}\n","\n\n\n\n\n","import type { AbstractPrefetchResult } from '@core/router';\nimport { AbstractPrefetch } from '@core/router';\n\nimport { useEgsGroupsStore } from 'web/src/modules/egs/submodules/groups/store';\n\nexport default class CasinoGroupsPagePrefetch extends AbstractPrefetch {\n prefetch(): AbstractPrefetchResult {\n const { loadGroups } = useEgsGroupsStore();\n void loadGroups().then();\n }\n}\n"],"names":["useCasinoGroupsTopBarRouteComponent","badgeKind","BadgeKind","currentGroups","toRef","useEgsGroupsStore","counter","computed","useCasinoGroupsRoutePage","selectedGroupUrl","ref","analytics","useAnalytics","scrollIntoView","useScrollIntoView","group","getGroupByUrl","selectedId","onBeforeMount","EgsRouterParametersHandler","searchText","isSearchInProgress","isNoSearchResults","list","onSearchInput","onSearchClear","useLobbySearchGroups","onProviderSelect","egsGroup","AnalyticsEvent","LobbyGameType","onSelectedItemLoaded","element","nextTick","nextAnimationFrame","CasinoGroupsPagePrefetch","AbstractPrefetch","loadGroups"],"mappings":"suBAYA,SAAwBA,GAAkF,CACxG,MAAMC,EAAYC,EAAU,QACtBC,EAAgBC,EAAMC,EAAkB,EAAG,eAAe,EAE1DC,EAAUC,EAAS,IAAOJ,EAAc,MAAM,OAAS,EAAI,OAAOA,EAAc,MAAM,MAAM,EAAI,EAAG,EAElG,MAAA,CACL,UAAAF,EACA,QAAAK,CACF,CACF,+DChBM,KAAA,CACJ,UAAAL,EACA,QAAAK,GACEN,EAAoC,iTC2BxC,SAAwBQ,GAA4D,CAClF,MAAMC,EAAmBC,EAAY,EAE/BC,EAAYC,EAAa,EACzB,CAAE,eAAAC,CAAe,EAAIC,EAAkB,EACvCX,EAAgBC,EAAMC,EAAkB,EAAG,eAAe,EAE1DU,EAAQR,EAAS,IAAOE,EAAiB,MAAQO,EAAcb,EAAc,MAAOM,EAAiB,KAAK,EAAI,MAAU,EACxHQ,EAAaV,EAAS,IAAMQ,EAAM,OAAO,IAAM,EAAE,EAEvDG,EAAc,IAAM,CACDT,EAAA,MAAQU,EAA2B,iBAAiB,EACrEA,EAA2B,iBAAiB,MAAS,CAAA,CACtD,EAEK,KAAA,CACJ,WAAAC,EACA,mBAAAC,EACA,kBAAAC,EACA,KAAAC,EACA,cAAAC,EACA,cAAAC,GACEC,EAAqB,EAEzB,SAASC,EAAiBC,EAA0B,CACxCjB,EAAA,KAAKkB,EAAe,qBAAsB,CAClD,cAAe,CACb,UAAW,CACT,CAACD,GAAU,OAASE,EAAc,KAC9B,OACA,OAAO,EAAGF,GAAU,MAAQ,KAAA,CAClC,CACF,CACD,CAAA,CAGH,eAAeG,EAAqBC,EAAqC,CACvE,MAAMC,EAAS,EACf,MAAMC,EAAmB,EACzB,MAAMD,EAAS,EAEfpB,EAAemB,CAAO,CAAA,CAGjB,MAAA,CACL,KAAAT,EACA,WAAAN,EACA,WAAAG,EACA,mBAAAC,EACA,kBAAAC,EACA,cAAAE,EACA,iBAAAG,EACA,qBAAAI,EACA,cAAAN,CACF,CACF,oDCrFM,KAAA,CACJ,KAAAF,EACA,WAAAN,EACA,WAAAG,EACA,mBAAAC,EACA,kBAAAC,EACA,cAAAE,EACA,iBAAAG,EACA,qBAAAI,EACA,cAAAN,GACEjB,EAAyB,6iCCX7B,MAAqB2B,WAAiCC,CAAiB,CACrE,UAAmC,CAC3B,KAAA,CAAE,WAAAC,CAAW,EAAIhC,EAAkB,EACpCgC,IAAa,KAAK,CAAA,CAE3B"}