{"version":3,"file":"async-module-casino-loyalty-program-i-dn.d.m.'Rlhnw6TZ'.js","sources":["../../../../../../src/modules/casino-loyalty-program/components/CasinoLoyaltyLobby/composables/useCasinoLoyaltyLobby.ts","../../../../../../src/modules/casino-loyalty-program/components/CasinoLoyaltyLobby/CasinoLoyaltyLobby.vue","../../../../../../src/modules/casino-loyalty-program/components/CasinoLoyaltyProgramList/composables/useCasinoLoyaltyProgramList.ts","../../../../../../src/modules/casino-loyalty-program/components/CasinoLoyaltyProgramList/CasinoLoyaltyProgramList.vue","../../../../../../src/modules/casino-loyalty-program/components/CasinoLoyaltyProgramNextLevelInfo/CasinoLoyaltyProgramNextLevelInfo.vue","../../../../../../src/modules/casino-loyalty-program/pages/CasinoLoyaltyProgramRoutePage/composables/utils/getBalanceProps.ts","../../../../../../src/modules/casino-loyalty-program/pages/CasinoLoyaltyProgramRoutePage/composables/utils/getDescriptionText.ts","../../../../../../src/modules/casino-loyalty-program/pages/CasinoLoyaltyProgramRoutePage/composables/utils/getHeaderProperties.ts","../../../../../../src/modules/casino-loyalty-program/pages/CasinoLoyaltyProgramRoutePage/composables/utils/getIconProps.ts","../../../../../../src/modules/casino-loyalty-program/pages/CasinoLoyaltyProgramRoutePage/composables/utils/getModalProps.ts","../../../../../../src/modules/casino-loyalty-program/pages/CasinoLoyaltyProgramRoutePage/composables/utils/getProgramListProperties.ts","../../../../../../src/modules/casino-loyalty-program/pages/CasinoLoyaltyProgramRoutePage/composables/utils/getTitleProps.ts","../../../../../../src/modules/casino-loyalty-program/pages/CasinoLoyaltyProgramRoutePage/composables/useCasinoLoyaltyProgramRoutePage.ts","../../../../../../src/modules/casino-loyalty-program/pages/CasinoLoyaltyProgramRoutePage/CasinoLoyaltyProgramRoutePage.vue","../../../../../../src/modules/casino-loyalty-program/components/LoyaltyProgramTopBarRouteComponent/LoyaltyProgramTopBarRouteComponent.vue","../../../../../../src/modules/casino-loyalty-program/prefetch/CasinoLoyaltyProgramPagePrefetch.ts","../../../../../../src/modules/casino-loyalty-program/pages/CasinoLoyaltyProgramInfoRoutePage/CasinoLoyaltyProgramInfoRoutePage.vue","../../../../../../src/modules/casino-loyalty-program/components/CasinoLoyaltyProgramLevelDoneModal/composables/useCasinoLoyaltyProgramLevelDoneModal.ts","../../../../../../src/modules/casino-loyalty-program/components/CasinoLoyaltyProgramLevelDoneModal/CasinoLoyaltyProgramLevelDoneModal.vue"],"sourcesContent":["import type { ComputedRef } from 'vue';\nimport { computed, toRef } from 'vue';\n\nimport type { ILobbyType } from '@leon-hub/api-sdk';\nimport { lobbyTypeLoyaltyProgram } from '@leon-hub/api-sdk';\nimport { Events as AnalyticsEvent } from '@leon-hub/yandex-metrika';\n\nimport { useAnalytics } from '@core/analytics';\nimport { useSiteConfigStore } from '@core/site-config';\n\nimport type { LobbySkeletonItem } from 'web/src/modules/lobby/types';\n\ninterface CasinoLoyaltyLobbyComposable {\n lobbyType: ILobbyType;\n skeletons: ComputedRef;\n gameClick(): void;\n}\n\nexport default function useCasinoLoyaltyLobby(): CasinoLoyaltyLobbyComposable {\n const lobbyType = lobbyTypeLoyaltyProgram;\n\n const siteConfigStore = useSiteConfigStore();\n const analytics = useAnalytics();\n const egsSkeletons = toRef(siteConfigStore, 'egsSkeletons');\n\n const skeletons = computed(() => egsSkeletons.value?.loyalty ?? []);\n\n function gameClick(): void {\n analytics.push(AnalyticsEvent.CLICK_MAP, { clickCounter: { loyaltyProgram: 'openGame' } });\n }\n\n return {\n lobbyType,\n skeletons,\n gameClick,\n };\n}\n","\n\n\n","import type { ComputedRef } from 'vue';\nimport { computed } from 'vue';\nimport { useRouter } from 'vue-router';\n\nimport type { BaseRouteName } from '@leon-hub/routing-config-names';\nimport { CasinoIconName, IconName } from '@leon-hub/icons';\nimport { CasinoRouteName, RouteName } from '@leon-hub/routing-config-names';\n\nimport { useI18n } from '@core/i18n';\nimport { useFormatMoney } from '@core/money';\n\nimport { ListType } from '@components/list';\n\nimport type { CasinoLoyaltyProgramListProps, CasinoLoyaltyProgramListType } from 'web/src/modules/casino-loyalty-program/components/CasinoLoyaltyProgramList/types';\nimport { useEgsNavigation } from 'web/src/modules/egs/submodules/navigation/composable';\n\nexport interface CasinoLoyaltyProgramListComposable {\n list: ComputedRef;\n clickEvent(to: BaseRouteName): void;\n listType: ComputedRef;\n}\n\nexport default function useCasinoLoyaltyProgramList(props: CasinoLoyaltyProgramListProps):\nCasinoLoyaltyProgramListComposable {\n const { $translate } = useI18n();\n const $formatMoney = useFormatMoney();\n const router = useRouter();\n const { navigateToGamePageById } = useEgsNavigation(router);\n // eslint-disable-next-line sonarjs/cognitive-complexity\n const list: ComputedRef = computed(() => {\n const result: CasinoLoyaltyProgramListType[] = [];\n\n if (!process.env.VUE_APP_FEATURE_SLOTT_STYLE_COMPONENTS_ENABLED && props.multiplier) {\n result.push({\n icon: CasinoIconName.CASINO_ROULETTE,\n label: $translate('WEB2_LOYALTY_PROGRAM_MULTIPLIER_TEXT').value,\n value: `${props.multiplier}x`,\n });\n }\n\n if (props.bonusAmount) {\n result.push({\n icon: process.env.VUE_APP_FEATURE_SLOTT_STYLE_COMPONENTS_ENABLED\n ? IconName.SLOTT_SACK_DOLLAR\n : IconName.COIN_USD,\n label: $translate('WEB2_LOYALTY_PROGRAM_BONUS_FOR_ACCOUNT_TEXT').value,\n value: $formatMoney(props.bonusAmount),\n });\n }\n\n if (props.freespin) {\n const buttonLabel = process.env.VUE_APP_FEATURE_SLOTT_STYLE_COMPONENTS_ENABLED\n ? $translate('WEB2_LOYALTY_PROGRAM_BUTTON_PLAY').value\n : $translate('WEB2_LOYALTY_PROGRAM_BONUS_OPEN_BTN').value;\n\n result.push({\n icon: process.env.VUE_APP_FEATURE_SLOTT_STYLE_COMPONENTS_ENABLED\n ? IconName.SLOTT_BULLSEYE\n : CasinoIconName.CASINO_SEVENS,\n label: $translate('WEB2_BONUSES_FREESPIN').value,\n value: `${props.freespin} ${$translate('WEB2_BONUSES_FREESPIN_COUNT').value}`,\n to: process.env.VUE_APP_FEATURE_SLOTT_STYLE_COMPONENTS_ENABLED ? undefined : RouteName.BONUSES,\n buttonLabel: props.freespinAvailable && props.freespinGameId ? buttonLabel : '',\n badgeLabel: props.freespinSpent ? $translate('WEB2_LOYALTY_PROGRAM_BONUS_RECEIVED').value : '',\n });\n }\n\n if (props.bonusPointsCount) {\n result.push({\n icon: process.env.VUE_APP_FEATURE_SLOTT_STYLE_COMPONENTS_ENABLED\n ? IconName.SLOTT_CROWN\n : IconName.LEONS,\n label: $translate('WEB2_LOYALTY_PROGRAM_BONUS_POINTS_TEXT').value,\n value: $formatMoney(props.bonusPointsCount, { currency: 'L' }),\n });\n }\n return result;\n });\n\n const listType = computed(() => {\n if (list.value.length > 1) {\n return ListType.GROUP;\n }\n return ListType.SEPARATE;\n });\n const clickEvent = (to: BaseRouteName) => {\n if (process.env.VUE_APP_FEATURE_SLOTT_STYLE_COMPONENTS_ENABLED && props.freespinGameId) {\n navigateToGamePageById(props.freespinGameId).catch(() => {\n void router.push({ name: CasinoRouteName.CASINO_LOBBY });\n });\n } else if (to) {\n void router.push({ name: to });\n }\n };\n return {\n list,\n clickEvent,\n listType,\n };\n}\n","\n\n\n\n\n","\n\n\n\n\n","import type { I18nFunctionReactive } from '@core/i18n';\nimport type { FormatMoneyFunc } from '@core/money';\n\nimport type { BonusLoyaltyProgramBalanceProps } from 'web/src/modules/bonuses/components/BonusLoyaltyProgramBalance/types';\nimport {\n CasinoLoyaltyProgramLevelStatus,\n} from 'web/src/modules/casino-loyalty-program/store/types';\n\nexport default function getBalanceProps(\n status: string | undefined,\n requiredPoints: number | undefined,\n currentPoints: number,\n $t: I18nFunctionReactive,\n formatMoney: FormatMoneyFunc,\n): BonusLoyaltyProgramBalanceProps {\n const requiredPointsFormatted = formatMoney(requiredPoints || 0, { currency: 'L' });\n const currentPointsFormatted = formatMoney(currentPoints || 0, {\n hideCurrency: true,\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n });\n\n let text = '';\n\n if (status === CasinoLoyaltyProgramLevelStatus.PROCESS\n || status === CasinoLoyaltyProgramLevelStatus.LOCK) {\n text = `${currentPointsFormatted} / ${requiredPointsFormatted}`;\n } else {\n text = $t('WEB2_LOYALTY_PROGRAM_LEVEL_FINISHED').value;\n }\n\n return { text };\n}\n","import { computed } from 'vue';\n\nimport type { I18nFunctionReactive } from '@core/i18n';\nimport type { FormatMoneyFunc } from '@core/money';\n\nimport type { CasinoLevelSettingWithStatus } from 'web/src/modules/casino-loyalty-program/store/types';\nimport {\n CasinoLoyaltyProgramLevelStatus,\n} from 'web/src/modules/casino-loyalty-program/store/types';\n\nexport default function getDescriptionText(\n name: string,\n selectedLevel: Optional,\n selectedLevelStatus: string | undefined,\n isLastLevel: boolean,\n $t: I18nFunctionReactive,\n formatMoney: FormatMoneyFunc,\n): string {\n const baseParams = computed(() => ({\n bonusValue: formatMoney(selectedLevel?.bonusAmount || 0),\n multiplier: `${selectedLevel?.multiplier}x`,\n freespinValue: `${selectedLevel?.freespinCount}`,\n }));\n\n if (selectedLevelStatus === CasinoLoyaltyProgramLevelStatus.SUCCESS) {\n if (isLastLevel) {\n return $t('WEB2_LOYALTY_PROGRAM_COMPLETED_FINAL_LEVEL_DESCR_V2', baseParams).value;\n }\n return $t('WEB2_LOYALTY_PROGRAM_COMPLETED_LEVEL_DESCR_V2', baseParams).value;\n }\n\n const params = computed(() => ({\n ...baseParams.value,\n pointsValue: formatMoney(selectedLevel?.requiredPoints || 0, { hideCurrency: true }),\n levelEGS: selectedLevel?.name || name,\n }));\n\n if (selectedLevelStatus === CasinoLoyaltyProgramLevelStatus.PROCESS) {\n return $t('WEB2_LOYALTY_PROGRAM_NOT_COMPLETED_LEVEL_DESCR_V2', params).value;\n }\n\n return $t('WEB2_LOYALTY_PROGRAM_LOCKED_LEVEL_DESCR_V2', params).value;\n}\n","import { ref } from 'vue';\n\nimport { IconName } from '@leon-hub/icons';\n\nimport type { I18nFunctionReactive } from '@core/i18n';\nimport { useDateLocalizers } from '@core/i18n';\n\nimport type { ModalWindowHeaderProps } from 'web/src/components/Modal/ModalWindowHeader/types';\n\nexport default function getHeaderProperties(\n $t: I18nFunctionReactive,\n): ModalWindowHeaderProps {\n return {\n title: process.env.VUE_APP_FEATURE_SLOTT_STYLE_COMPONENTS_ENABLED\n ? $t('WEB2_LOYALTY_PROGRAM_CURRENT_MONTH_REWARDS', ref({\n currentMonth: useDateLocalizers().toMediumLocaleDate(new Date(), 'MMMM'),\n })).value\n : $t('WEB2_LOYALTY_PROGRAM_CASINO_LEVEL').value,\n prefixIconName: process.env.VUE_APP_FEATURE_SLOTT_STYLE_COMPONENTS_ENABLED\n ? IconName.ANGLE_SMALL_LEFT\n : IconName.ARROW_LEFT,\n suffixIconName: !process.env.VUE_APP_FEATURE_SLOTT_STYLE_COMPONENTS_ENABLED && process.env.VUE_APP_LAYOUT_DESKTOP\n ? IconName.CROSS\n : undefined,\n type: process.env.VUE_APP_FEATURE_SLOTT_STYLE_COMPONENTS_ENABLED ? 'default' : 'transparent',\n };\n}\n","import type { CasinoLoyaltyProgramIconProperties } from 'web/src/modules/casino-loyalty-program/store/types';\nimport {\n CasinoLoyaltyProgramLevelStatus,\n} from 'web/src/modules/casino-loyalty-program/store/types';\n\nexport default function getIconProps(\n imageUrl: string | undefined,\n status: string | undefined,\n): CasinoLoyaltyProgramIconProperties {\n return {\n imageSrc: imageUrl,\n isInactive: status !== CasinoLoyaltyProgramLevelStatus.SUCCESS,\n };\n}\n","import type { DefaultModalProps } from '@components/dialogs';\nimport { ModalWidth } from '@components/dialogs';\n\nexport default function getModalProps(\n customBackground: string | undefined,\n): DefaultModalProps {\n return {\n width: ModalWidth.DEFAULT,\n isCentered: false,\n isOverlayCloseAllowed: !process.env.VUE_APP_LAYOUT_DESKTOP,\n isFullHeight: true,\n isFullHeightCentered: false,\n isOverlayVisible: false,\n customBackground: process.env.VUE_APP_FEATURE_SLOTT_STYLE_COMPONENTS_ENABLED ? undefined : customBackground,\n noBorderRadius: true,\n };\n}\n","import type {\n CasinoLevelSettingWithStatus,\n CasinoLoyaltyProgramListProperties,\n} from 'web/src/modules/casino-loyalty-program/store/types';\n\nexport default function getProgramListProperties(\n selectedLevel: Optional>,\n): CasinoLoyaltyProgramListProperties {\n return {\n bonusAmount: selectedLevel?.bonusAmount || 0,\n multiplier: selectedLevel?.multiplier || 0,\n freespin: selectedLevel?.freespinCount || 0,\n bonusPointsCount: selectedLevel?.bonusPointsCount || 0,\n status: selectedLevel?.status,\n freespinAvailable: selectedLevel?.freespinAvailable,\n freespinSpent: selectedLevel?.freespinSpent,\n freespinGameId: selectedLevel?.freespinGameId || undefined,\n freespinProvider: selectedLevel?.freespinProvider || undefined,\n };\n}\n","export default function getTitleProps(\n name: string | undefined,\n status: string | undefined,\n): Dictionary {\n return {\n label: name,\n status,\n };\n}\n","import type { ComputedRef, Ref } from 'vue';\nimport {\n computed,\n onMounted,\n ref,\n toRef,\n} from 'vue';\nimport { useRouter } from 'vue-router';\n\nimport type { ICasinoRouteName } from '@leon-hub/routing-config-names';\nimport { CasinoRouteName } from '@leon-hub/routing-config-names';\nimport { Events as AnalyticsEvent } from '@leon-hub/yandex-metrika';\n\nimport { useAnalytics } from '@core/analytics';\nimport { useI18n, useI18nStore } from '@core/i18n';\nimport { useFormatMoney } from '@core/money';\n\nimport type { DefaultModalProps } from '@components/dialogs';\n\nimport type { ModalWindowHeaderProps } from 'web/src/components/Modal/ModalWindowHeader/types';\nimport type {\n BonusLoyaltyProgramBalanceProps,\n} from 'web/src/modules/bonuses/components/BonusLoyaltyProgramBalance/types';\nimport type {\n CasinoLevelSettingWithStatus,\n CasinoLoyaltyLevelSetting,\n CasinoLoyaltyProgramCurrentLevelCardProperties,\n CasinoLoyaltyProgramIconProperties,\n CasinoLoyaltyProgramListProperties,\n CasinoLoyaltyProgramProgressProperties,\n} from 'web/src/modules/casino-loyalty-program/store/types';\nimport {\n CasinoLoyaltyProgramIconSizes,\n CasinoLoyaltyProgramLevelStatus,\n} from 'web/src/modules/casino-loyalty-program/store/types';\nimport useCasinoLoyaltyStore from 'web/src/modules/casino-loyalty-program/store/useCasinoLoyaltyStore';\nimport {\n getCurrentPointsToString,\n getProgressProps,\n getRemainingPoints,\n isLastLevel,\n levelSettingsById,\n} from 'web/src/modules/casino-loyalty-program/store/utils';\nimport { ModalSelector } from 'web/src/modules/core/enums';\n\nimport type { CasinoLoyaltyProgramRoutePageProps } from '../types';\nimport {\n getBalanceProps,\n getDescriptionText,\n getHeaderProperties,\n getIconProps,\n getModalProps,\n getProgramListProperties,\n getTitleProps,\n} from './utils';\n\nexport interface CasinoLoyaltyProgramRoutePageComposable {\n selectedId: Ref;\n clickCounter(): void;\n showLevelDescription(id: number): void;\n currentPointsToString: ComputedRef;\n remainingPoints: ComputedRef;\n progressProps(id: number): CasinoLoyaltyProgramProgressProperties;\n nextLevelId: ComputedRef;\n programListProperties(id: number): CasinoLoyaltyProgramListProperties;\n currentPoints: ComputedRef;\n casinoLoyaltyProgramInfoRouteName: ICasinoRouteName;\n modalSelector: ModalSelector;\n modalProps: ComputedRef;\n onClose(): void;\n headerProperties: ComputedRef;\n onCloseAll(): void;\n iconProps: ComputedRef;\n modalIconSize: ComputedRef;\n titleProps: ComputedRef>;\n balanceProps: ComputedRef;\n descriptionText(id: number): string;\n progressText(id: number): string;\n locale: Ref;\n currentLevelCardProperties: ComputedRef;\n currentLevelId: ComputedRef;\n levelSettingsWithStatus: ComputedRef;\n progress: Ref;\n}\n\nexport default function useCasinoLoyaltyProgramRoutePage(\n props: CasinoLoyaltyProgramRoutePageProps,\n): CasinoLoyaltyProgramRoutePageComposable {\n const locale = toRef(useI18nStore(), 'locale');\n const formatMoney = useFormatMoney();\n const router = useRouter();\n const { $translate } = useI18n();\n const analytics = useAnalytics();\n\n const casinoLoyaltyStore = useCasinoLoyaltyStore();\n\n const modalSelector = process.env.VUE_APP_LAYOUT_DESKTOP\n ? ModalSelector.DESKTOP_INNER_MODAL\n : ModalSelector.BODY;\n\n const casinoLoyaltyProgramInfoRouteName = CasinoRouteName.CASINO_LOYALTY_PROGRAM_INFO;\n\n const selectedId = ref(0);\n\n const currentPoints = computed(() => casinoLoyaltyStore.currentPoints);\n const name = computed(() => casinoLoyaltyStore.name);\n const currentLevelCardProperties = computed(() => casinoLoyaltyStore.currentLevelCardProperties);\n const currentLevelId = computed(() => casinoLoyaltyStore.currentLevelId);\n const levelSettingsWithStatus = computed(() => casinoLoyaltyStore.levelSettingsWithStatus);\n const nextLevelData = computed<\n CasinoLoyaltyLevelSetting | null\n >(() => casinoLoyaltyStore.nextLevelData);\n const nextLevelId = computed(() => casinoLoyaltyStore.nextLevelData?.id);\n const level = computed(() => levelSettingsById(selectedId.value, levelSettingsWithStatus.value));\n const levelSettings = computed(() => casinoLoyaltyStore.levelSettings);\n\n const modalProps = computed<\n DefaultModalProps\n >(() => getModalProps(level.value?.settingsBackground));\n\n const iconProps = computed<\n CasinoLoyaltyProgramIconProperties\n >(() => getIconProps(level.value?.imageUrl, level.value?.status));\n\n const titleProps = computed<\n Dictionary\n >(() => getTitleProps(level.value?.name, level.value?.status));\n\n const balanceProps = computed<\n BonusLoyaltyProgramBalanceProps\n >(() => getBalanceProps(level.value?.status, level.value?.requiredPoints, currentPoints.value, $translate, formatMoney));\n\n const headerProperties = computed<\n ModalWindowHeaderProps\n >(() => getHeaderProperties($translate));\n\n const remainingPoints = computed<\n string\n >(() => getRemainingPoints(nextLevelData.value?.requiredPoints, formatMoney));\n\n const currentPointsToString = computed<\n string\n >(() => getCurrentPointsToString(currentPoints.value, formatMoney));\n\n const progressProps = (id: number): CasinoLoyaltyProgramProgressProperties => {\n const selectedLevel = levelSettingsById(id, levelSettingsWithStatus.value);\n\n return getProgressProps(selectedLevel?.progress, selectedLevel?.imageUrl, selectedLevel?.status);\n };\n\n const programListProperties = (id: number): CasinoLoyaltyProgramListProperties => {\n const selectedLevel = levelSettingsById(id, levelSettingsWithStatus.value);\n\n return getProgramListProperties(selectedLevel);\n };\n\n const descriptionText = (id: number): string => {\n const selectedLevel = levelSettingsById(id, levelSettingsWithStatus.value);\n const selectedLevelStatus = selectedLevel?.status;\n const isLastLevelValue = isLastLevel(id, levelSettings.value);\n\n return getDescriptionText(name.value, selectedLevel, selectedLevelStatus, isLastLevelValue, $translate, formatMoney);\n };\n\n const progressText = (id: number): string => {\n const selectedLevel = levelSettingsById(id, levelSettingsWithStatus.value);\n const selectedLevelRequiredPoints = selectedLevel?.requiredPoints;\n const isLevelInProgress = selectedLevel?.status === CasinoLoyaltyProgramLevelStatus.PROCESS;\n\n const levelPoints = isLevelInProgress ? currentPoints.value : selectedLevelRequiredPoints;\n\n return isLevelInProgress\n ? `${levelPoints} / ${selectedLevelRequiredPoints} XP`\n : `${selectedLevelRequiredPoints} XP`;\n };\n\n const modalIconSize = computed(() => (level.value?.progress && level.value?.progress <= 100\n ? CasinoLoyaltyProgramIconSizes.SIZE_160\n : CasinoLoyaltyProgramIconSizes.SIZE_180));\n\n const progress = computed(() => level.value?.progress || 0);\n const onClose = (): void => {\n selectedId.value = 0;\n void router.replace({\n name: CasinoRouteName.CASINO_LOYALTY_PROGRAM,\n });\n };\n\n const onCloseAll = (): void => {\n if (process.env.VUE_APP_LAYOUT_PHONE) {\n onClose();\n } else {\n void router.closeModal();\n }\n };\n\n const showLevelDescription = (id: number): void => {\n selectedId.value = id;\n\n void router.push({\n name: CasinoRouteName.CASINO_LOYALTY_PROGRAM_ID,\n params: {\n id: String(id),\n },\n });\n };\n\n const clickCounter = (): void => {\n analytics.push(AnalyticsEvent.CLICK_MAP, { clickCounter: { loyaltyProgram: 'nDaysLeft' } });\n };\n\n onMounted(async () => {\n await casinoLoyaltyStore.fetchCasinoLoyaltyStatus();\n selectedId.value = Number.parseInt(props.id || '0', 10);\n });\n\n return {\n selectedId,\n clickCounter,\n showLevelDescription,\n currentPointsToString,\n remainingPoints,\n progressProps,\n nextLevelId,\n programListProperties,\n currentPoints,\n casinoLoyaltyProgramInfoRouteName,\n modalSelector,\n modalProps,\n onClose,\n headerProperties,\n onCloseAll,\n iconProps,\n modalIconSize,\n titleProps,\n balanceProps,\n descriptionText,\n progressText,\n locale,\n currentLevelCardProperties,\n currentLevelId,\n levelSettingsWithStatus,\n progress,\n };\n}\n","\n\n\n\n\n","\n\n\n \n \n \n \n \n\n","import { computed, toRef } from 'vue';\n\nimport { RouteName } from '@leon-hub/routing-config-names';\n\nimport type { AbstractPrefetchResult } from '@core/router';\nimport { AbstractPrefetch } from '@core/router';\n\nimport useCasinoLoyaltyStore from 'web/src/modules/casino-loyalty-program/store/useCasinoLoyaltyStore';\nimport useOnboarding from 'web/src/modules/onboarding/pages/composables/useOnboading';\nimport { OnboardingIdsEnum } from 'web/src/modules/onboarding/pages/enums';\n\nexport default class CasinoLoyaltyProgramPagePrefetch extends AbstractPrefetch {\n prefetch(): AbstractPrefetchResult {\n const onboarding = useOnboarding();\n const casinoLoyaltyStore = useCasinoLoyaltyStore();\n\n const hasOnboarding = computed(() => !!onboarding.getOnboardingById(OnboardingIdsEnum.EGS_LOYALTY_PROGRAM));\n const currentLevelId = toRef(() => casinoLoyaltyStore.currentLevelId);\n const hideCasinoLoyaltyOnboardingPage = toRef(() => casinoLoyaltyStore.hideCasinoLoyaltyOnboardingPage);\n\n if (\n currentLevelId.value > 0\n && !hideCasinoLoyaltyOnboardingPage.value\n && hasOnboarding.value\n ) {\n casinoLoyaltyStore.setHideCasinoLoyaltyOnBoardingPageState(true);\n\n return ({\n name: RouteName.ONBOARDING,\n params: { id: OnboardingIdsEnum.EGS_LOYALTY_PROGRAM },\n });\n }\n }\n}\n","\n\n\n\n\n","import type { Ref } from 'vue';\nimport { computed, toRef } from 'vue';\n\nimport { useI18n } from '@core/i18n';\nimport { useSiteConfigStore } from '@core/site-config';\n\nimport type { CasinoLoyaltyProgramProgressProps } from 'web/src/modules/casino-loyalty-program/components/CasinoLoyaltyProgramProgress/types';\nimport useCasinoLoyaltyStore from 'web/src/modules/casino-loyalty-program/store/useCasinoLoyaltyStore';\n\ninterface CasinoLoyaltyProgramLevelDoneModalComposable {\n title: Ref;\n counterLevels: Ref;\n progressProperties: Ref;\n isShowLevelDoneModal: Ref;\n close(): void;\n}\n\nexport default function useCasinoLoyaltyProgramLevelDoneModal(): CasinoLoyaltyProgramLevelDoneModalComposable {\n const { $translate } = useI18n();\n const loyaltyStatusStore = useCasinoLoyaltyStore();\n const siteConfigStore = useSiteConfigStore();\n const isEgsLoyaltyProgramLvlUpModelEnabled = toRef(siteConfigStore, 'isEgsLoyaltyProgramLvlUpModelEnabled');\n\n const currentLevelData = toRef(loyaltyStatusStore, 'currentLevelData');\n const name = computed(() => currentLevelData.value?.name);\n const currentLevelId = toRef(loyaltyStatusStore, 'currentLevelId');\n const levelSettingsWithStatus = toRef(loyaltyStatusStore, 'levelSettingsWithStatus');\n const imageSrc = computed(() => currentLevelData.value?.imageUrl);\n const isShowLevel = toRef(loyaltyStatusStore, 'isShowLevelDoneModal');\n const currentCompletedLevel = computed(() => ({ currentCompletedLevel: name.value || '' }));\n\n const title = computed(() => (name.value\n ? $translate('WEB2_LOYALTY_PROGRAM_LEVEL_DONE_TITLE', currentCompletedLevel).value\n : ''));\n\n const counterLevels = computed(() => {\n const currentIndex = levelSettingsWithStatus.value.findIndex((item) => item.id === currentLevelId.value) + 1;\n return `${currentIndex}/${levelSettingsWithStatus.value.length}`;\n });\n\n const progressProperties = computed(() => ({\n isHideProgress: true,\n imageSrc: imageSrc.value,\n }));\n\n const isShowLevelDoneModal = computed(() => isEgsLoyaltyProgramLvlUpModelEnabled.value && isShowLevel.value);\n\n const close = () => {\n loyaltyStatusStore.toggleShowLevelDoneModal();\n };\n\n return {\n title,\n counterLevels,\n progressProperties,\n isShowLevelDoneModal,\n close,\n };\n}\n","\n\nп\n\n\n\n"],"names":["useCasinoLoyaltyLobby","lobbyType","lobbyTypeLoyaltyProgram","siteConfigStore","useSiteConfigStore","analytics","useAnalytics","egsSkeletons","toRef","skeletons","computed","gameClick","AnalyticsEvent","useCasinoLoyaltyProgramList","props","$translate","useI18n","$formatMoney","useFormatMoney","router","useRouter","useEgsNavigation","list","result","CasinoIconName","IconName","buttonLabel","RouteName","listType","ListType","to","__props","clickEvent","bemClass","circleColor","CircleColor","getBalanceProps","status","requiredPoints","currentPoints","$t","formatMoney","requiredPointsFormatted","currentPointsFormatted","text","CasinoLoyaltyProgramLevelStatus","getDescriptionText","name","selectedLevel","selectedLevelStatus","isLastLevel","baseParams","params","getHeaderProperties","getIconProps","imageUrl","getModalProps","customBackground","ModalWidth","getProgramListProperties","getTitleProps","useCasinoLoyaltyProgramRoutePage","locale","useI18nStore","casinoLoyaltyStore","useCasinoLoyaltyStore","modalSelector","ModalSelector","casinoLoyaltyProgramInfoRouteName","CasinoRouteName","selectedId","ref","currentLevelCardProperties","currentLevelId","levelSettingsWithStatus","nextLevelData","nextLevelId","level","levelSettingsById","levelSettings","modalProps","iconProps","titleProps","balanceProps","headerProperties","remainingPoints","getRemainingPoints","currentPointsToString","getCurrentPointsToString","progressProps","id","getProgressProps","programListProperties","descriptionText","isLastLevelValue","progressText","selectedLevelRequiredPoints","isLevelInProgress","levelPoints","modalIconSize","CasinoLoyaltyProgramIconSizes","progress","onClose","onCloseAll","showLevelDescription","clickCounter","onMounted","infoButtonProperties","ButtonKind","IconSize","onClick","CasinoLoyaltyProgramPagePrefetch","AbstractPrefetch","onboarding","useOnboarding","hasOnboarding","OnboardingIdsEnum","hideCasinoLoyaltyOnboardingPage","onLoyaltyBlockClick","sectionName","useCasinoLoyaltyProgramLevelDoneModal","loyaltyStatusStore","isEgsLoyaltyProgramLvlUpModelEnabled","currentLevelData","imageSrc","isShowLevel","currentCompletedLevel","title","counterLevels","item","progressProperties","isShowLevelDoneModal","close"],"mappings":"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"}