{"version":3,"file":"static/js/casino-categories.c42e5387.chunk.js","mappings":"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","sources":["newelements/Casino/Categories/__partials/layouts/HorizontalDesktop/Skeleton.tsx","newelements/Casino/Categories/__partials/layouts/HorizontalMobile/Skeleton.tsx","newelements/Casino/Categories/__partials/layouts/Vertical/Skeleton.tsx","newelements/Casino/Categories/index.tsx","newelements/Casino/hooks/useCasinoRedirect.ts","services/casino/casino-fetch-games-query.ts"],"sourcesContent":["import { ReactElement } from 'react';\nimport cc from 'classcat';\nimport { EIconSize } from 'utils/constants/app/ui';\nimport { createArray } from 'utils/helpers/create-fake-array';\nimport { Skeleton } from 'newcomponents/UI/Skeleton';\nimport { SwiperSlider } from 'newcomponents/UI/SwiperSlider';\nimport './index.less';\n\nconst CATEGORIES_SKELETON_COUNT = 10;\n\nexport const CategoriesHorizontalDesktopSkeleton = ({\n  namesOnly\n}: {\n  namesOnly: boolean;\n}): ReactElement => {\n  return (\n    <div className=\"categoriesHorizontalDesktopWrapper\">\n      <div\n        className={cc([\n          'horizontalMenuWrapper horizontalMenuWrapper__skeleton',\n          {\n            horizontalMenuWrapper__namesOnly: namesOnly\n          }\n        ])}\n        style={{ width: '100%' }}\n      >\n        <div className=\"menu\" style={{ width: '100%', display: 'block' }}>\n          <SwiperSlider\n            sliderWrapperClassName={\n              namesOnly ? 'casinoCategories__namesOnly__slider' : ''\n            }\n            activeSlide={0}\n            headerTitle={\n              namesOnly ? (\n                <Skeleton\n                  title={{\n                    style: {\n                      height: 24,\n                      width: 150,\n                      margin: '8px 0',\n                      position: 'relative'\n                    }\n                  }}\n                  paragraph={false}\n                  active\n                />\n              ) : undefined\n            }\n            bodyArrows={!namesOnly}\n            alwaysShowArrows={namesOnly}\n            headerArrows={namesOnly}\n            style={{ width: '100%' }}\n            drawableTabs={createArray(CATEGORIES_SKELETON_COUNT).map(key => (\n              <div className=\"menuItem\" key={key}>\n                {!namesOnly && <Skeleton.Avatar size={EIconSize._40} active />}\n                <span\n                  className={cc([\n                    {\n                      name: !namesOnly,\n                      nameOnly: namesOnly\n                    }\n                  ])}\n                >\n                  <Skeleton\n                    title={{\n                      style: {\n                        height: namesOnly ? EIconSize._14 : EIconSize._10,\n                        width: 70,\n                        margin: '3px 10px',\n                        position: 'relative'\n                      }\n                    }}\n                    paragraph={false}\n                    active\n                  />\n                </span>\n              </div>\n            ))}\n          />\n        </div>\n      </div>\n    </div>\n  );\n};\n","import { ReactElement } from 'react';\nimport cc from 'classcat';\nimport { EIconSize } from 'utils/constants/app/ui';\nimport { createArray } from 'utils/helpers/create-fake-array';\nimport { Skeleton } from 'newcomponents/UI/Skeleton';\nimport './index.less';\n\nconst CATEGORIES_SKELETON_COUNT = 4;\n\nexport const CategoriesHorizontalMobileSkeleton = ({\n  namesOnly\n}: {\n  namesOnly: boolean;\n}): ReactElement => {\n  return (\n    <div\n      className={cc([\n        'categoriesHorizontalMobile__container',\n        {\n          categoriesHorizontalMobile__container__namesOnly: namesOnly\n        }\n      ])}\n    >\n      {namesOnly && (\n        <div className=\"categoriesHorizontalMobile__title\">\n          <Skeleton\n            title={{\n              style: { height: 14, width: 100, margin: '3px 0' }\n            }}\n            paragraph={false}\n            active\n          />\n        </div>\n      )}\n      <div className=\"categoriesHorizontalMobile__container__wrapper\">\n        <div className=\"categoriesHorizontalMobile__container__wrapper__menu\">\n          {createArray(CATEGORIES_SKELETON_COUNT).map(key => (\n            <div\n              key={key}\n              className=\"categoriesHorizontalMobile__container__wrapper__menu__item\"\n            >\n              {!namesOnly && <Skeleton.Avatar size={EIconSize._24} active />}\n              <div className=\"categoriesHorizontalMobile__container__wrapper__menu__item__name\">\n                <Skeleton\n                  title={{\n                    style: {\n                      height: namesOnly ? EIconSize._12 : EIconSize._10,\n                      width: 70,\n                      margin: namesOnly ? '4px 10px' : '3px 10px'\n                    }\n                  }}\n                  paragraph={false}\n                  active\n                />\n              </div>\n            </div>\n          ))}\n        </div>\n      </div>\n    </div>\n  );\n};\n","import { ReactElement } from 'react';\nimport cc from 'classcat';\nimport { EIconSize } from 'utils/constants/app/ui';\nimport { createArray } from 'utils/helpers/create-fake-array';\nimport { Skeleton } from 'newcomponents/UI/Skeleton';\nimport './index.less';\n\nconst CATEGORIES_VERTICAL_COUNT = 10;\n\nexport const CategoriesVerticalSkeleton = ({\n  fromSideBar,\n  namesOnly,\n  gamesCount\n}: {\n  fromSideBar?: boolean;\n  namesOnly: boolean;\n  gamesCount: boolean;\n}): ReactElement => {\n  return (\n    <div className=\"categoriesVertical__wrapper\">\n      {!fromSideBar ? (\n        <h4 className=\"categoriesVertical__title\">\n          <Skeleton\n            title={{\n              style: {\n                height: 16,\n                width: 125,\n                margin: '4px 0px'\n              }\n            }}\n            paragraph={false}\n            active\n          />\n        </h4>\n      ) : null}\n      <div\n        className={cc([\n          'categoriesVertical__items__container',\n          {\n            'categoriesVertical__items__container--fromSidebar': fromSideBar\n          }\n        ])}\n      >\n        {createArray(CATEGORIES_VERTICAL_COUNT).map(key => (\n          <div\n            className=\"categoriesVertical__item categoriesVertical__item--noHover\"\n            key={key}\n          >\n            <div\n              className={cc([\n                'categoriesVertical__item__info',\n                { 'casino-sidebar-skeleton': fromSideBar }\n              ])}\n            >\n              {!namesOnly && (\n                <span className=\"categoriesVertical__item__icon\">\n                  <Skeleton.Avatar size={EIconSize._24} active />\n                </span>\n              )}\n              <div className=\"categoriesVertical__item__label\">\n                <Skeleton\n                  title={{\n                    style: {\n                      height: 12,\n                      width: 125,\n                      margin: '2px 0'\n                    }\n                  }}\n                  paragraph={false}\n                  active\n                />\n              </div>\n            </div>\n            {gamesCount && (\n              <div className=\"categoriesVertical__item__count\">\n                <Skeleton\n                  title={{\n                    style: {\n                      height: 12,\n                      width: 20,\n                      margin: '0',\n                      float: 'right'\n                    }\n                  }}\n                  paragraph={false}\n                  active\n                />\n              </div>\n            )}\n          </div>\n        ))}\n      </div>\n    </div>\n  );\n};\n","import {\n  ReactElement,\n  useCallback,\n  useEffect,\n  useId,\n  useLayoutEffect,\n  useMemo\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Route, useHistory, useLocation } from 'react-router-dom';\nimport { DEBOUNCE_DELAY } from 'utils/constants/app/magic-numbers-app';\nimport { FAVORITE } from 'utils/constants/casino/casino-element-names';\nimport { CUSTOM_CATEGORIES } from 'utils/constants/casino/custom-categories';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { GLOBALS } from 'utils/generic/global-variables';\nimport { lazy } from 'utils/generic/lazy';\nimport {\n  getCasinoParams,\n  mountPoint,\n  sbRedirect\n} from 'utils/generic/route-manipulation';\nimport { isMobile } from 'utils/is-mobile';\nimport { TCasinoCategoryItems } from 'interfaces/casino-data';\nimport {\n  ENewCasinoGamesFetchingParamsKey,\n  NewCasinoCategory,\n  TNewCasinoDataWithCounts\n} from 'interfaces/new-casino';\nimport { AFTER_SIGN_IN_ACTION_TYPES, AfterSignIn } from 'services/afterSignIn';\nimport { getCasinoGames } from 'services/casino/casino-fetch-games-query';\nimport { CategoriesHorizontalDesktopSkeleton } from './__partials/layouts/HorizontalDesktop/Skeleton';\nimport { CategoriesHorizontalMobileSkeleton } from './__partials/layouts/HorizontalMobile/Skeleton';\nimport { CategoriesVerticalSkeleton } from './__partials/layouts/Vertical/Skeleton';\nimport { saveCurrentLocation } from 'components/QueryRoute';\nimport { Viewport } from 'components/Viewport';\nimport { useOpenLoginPopup } from 'hooks/account/useOpenLoginPopup';\nimport { useDebounce } from 'hooks/useDebounce';\nimport { useSbRouteMatch } from 'newhooks/generic/useSbRouteMatch';\nimport { setSelectedCasinoCategoryId } from 'store/actions/casino-data';\nimport {\n  setCasinoOriginalCategoriesSet,\n  setCasinoOriginalCategoriesSetLeftSideBar,\n  setCategoryCustomIds,\n  setCategoryProviderIds,\n  setLastPlayedCatSettings,\n  setTotalCount\n} from 'store/actions/new-casino';\nimport {\n  getCasinoOriginalCategories,\n  getEnhancedParams,\n  getGamesConfigs,\n  getLastPlayedCatSettings\n} from 'store/selectors/new-casino';\nimport { getIsLoggedIn } from 'store/selectors/user-data';\nimport { useCasinoRedirect } from '../hooks/useCasinoRedirect';\nimport { useOptions } from '../hooks/useOptions';\n\nif (SpringConfigs.IS_RTL) {\n  import('./rtl.less');\n}\n\nconst { CategoriesDesktop } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"casino-categories-desktop\" */ './__partials/views/Desktop'\n    )\n);\n\nconst { CategoriesMobile } = lazy(\n  () =>\n    import(\n      /* webpackChunkName: \"casino-categories-mobile\" */ './__partials/views/Mobile'\n    )\n);\n\ntype TCasinoCategoriesProps = {\n  configs: {\n    isFirstCasinoElement?: boolean;\n    categoryIds?: string;\n    categoryCustomIds?: string;\n    providerIds?: string;\n    layout: 'horizontal' | 'vertical';\n    gamesCount?: boolean;\n    moduleId?: number;\n    categoryItems?: TCasinoCategoryItems;\n    lastPlayed?: boolean;\n    lastPlayedCatType?: number;\n    namesOnly: boolean;\n  };\n  fromSideBar?: boolean;\n  isOpen?: boolean;\n};\n\nconst casinoCategoriesDefaultProps: TCasinoCategoriesProps = {\n  configs: {\n    categoryIds: '',\n    layout: 'horizontal',\n    isFirstCasinoElement: true,\n    gamesCount: true,\n    categoryItems: {},\n    lastPlayed: true,\n    lastPlayedCatType: 0,\n    namesOnly: false\n  }\n};\n\nconst THEME = 'colored';\nconst ENHANCED_PARAMS_CORRECT_KEYS_LENGTH = 3;\nconst CATEGORY_IDS: string[] = [];\n\nexport const CasinoCategories = ({\n  configs: {\n    categoryIds,\n    layout,\n    isFirstCasinoElement,\n    providerIds,\n    gamesCount,\n    categoryItems,\n    lastPlayed,\n    lastPlayedCatType,\n    categoryCustomIds,\n    namesOnly\n  },\n  fromSideBar,\n  isOpen\n}: TCasinoCategoriesProps = casinoCategoriesDefaultProps): ReactElement => {\n  const categoryElementId = useId();\n  useOptions({\n    shouldFetch: isFirstCasinoElement,\n    providerIdsForCategories: providerIds\n  });\n  useCasinoRedirect(true, fromSideBar);\n  const { t } = useTranslation();\n  const categories = useSelector(getCasinoOriginalCategories);\n  const lastPlayedCatSettings = useSelector(getLastPlayedCatSettings);\n  const enhancedParams = useSelector(getEnhancedParams);\n  const gamesConfigs = useSelector(getGamesConfigs);\n  const isLoggedIn = useSelector(getIsLoggedIn);\n  const openLoginPopup = useOpenLoginPopup();\n\n  const history = useHistory();\n  const location = useLocation();\n  const dispatch = useDispatch();\n  const routeMatch = useSbRouteMatch(\n    `${mountPoint(location.pathname, false, true)}/:category?`\n  );\n\n  useLayoutEffect(() => {\n    CATEGORY_IDS.push(categoryElementId);\n\n    return () => {\n      const index = CATEGORY_IDS.indexOf(categoryElementId);\n\n      if (index >= 0) {\n        CATEGORY_IDS.splice(index, 1);\n      }\n    };\n  }, [categoryElementId]);\n\n  useEffect(() => {\n    if (CATEGORY_IDS[0] !== categoryElementId) {\n      return;\n    }\n\n    if (!routeMatch?.params?.category) {\n      return;\n    }\n\n    if (!categories) {\n      return;\n    }\n\n    const dataSpotCategories = categories.find(category => {\n      return category.id === routeMatch.params.category;\n    });\n\n    dataSpotCategories &&\n      window.__dataspot__?.trackCategory?.([dataSpotCategories.name]);\n  }, [categories?.length, routeMatch?.params?.category, categoryElementId]);\n\n  const LAYOUTS_SKELETON = useMemo(() => {\n    return {\n      horizontal: (\n        <Viewport\n          desktop={CategoriesHorizontalDesktopSkeleton}\n          mobile={CategoriesHorizontalMobileSkeleton}\n          innerProps={{ namesOnly }}\n        />\n      ),\n      vertical: (\n        <CategoriesVerticalSkeleton\n          fromSideBar={fromSideBar}\n          namesOnly={namesOnly}\n          gamesCount={!!gamesCount}\n        />\n      )\n    };\n  }, [fromSideBar]);\n\n  const SkeletonLayout = useMemo(() => {\n    return LAYOUTS_SKELETON[layout];\n  }, []);\n\n  useEffect(() => {\n    GLOBALS.casino.isCasinoCategoriesMounted = true;\n\n    dispatch(\n      setLastPlayedCatSettings({\n        lastPlayed: lastPlayed ?? true,\n        lastPlayedCatType: lastPlayedCatType ?? 0\n      })\n    );\n  }, []);\n\n  useLayoutEffect(() => {\n    dispatch(setCategoryProviderIds(providerIds || ''));\n  }, [providerIds]);\n\n  const onCategoryClick = useCallback(\n    (category: NewCasinoCategory) => {\n      const handleCategoryClick = () => {\n        return new Promise(resolve => {\n          dispatch(setSelectedCasinoCategoryId(category.id));\n\n          if (\n            fromSideBar &&\n            SpringConfigs.PAGE_URLS.casino &&\n            !`${window.location.href}/`.includes(\n              `${SpringConfigs.PAGE_URLS.casino}/`\n            )\n          ) {\n            sbRedirect(\n              `${SpringConfigs.PAGE_URLS.casino}/${\n                SpringConfigs.CASINO_MOUNT_PATH\n              }/${category.id}${\n                category.id === FAVORITE ? '?provider=all' : ''\n              }`,\n              false,\n              true\n            );\n            saveCurrentLocation();\n\n            resolve(true);\n          } else {\n            history.push({\n              pathname: `${mountPoint(window.location.pathname, false, true)}/${\n                category.id\n              }`,\n              search: window.location.search\n            });\n            saveCurrentLocation();\n\n            resolve(true);\n          }\n        });\n      };\n\n      if (\n        SpringConfigs.USER_PERSONALIZATION_ENABLED &&\n        category.id === CUSTOM_CATEGORIES.favorite.id &&\n        !isLoggedIn\n      ) {\n        openLoginPopup();\n        const afterSignIn = new AfterSignIn();\n\n        const afterSigninAction = () => {\n          return new Promise(resolve => {\n            handleCategoryClick().finally(() => {\n              resolve(true);\n            });\n          });\n        };\n\n        afterSignIn.appendAction(\n          AFTER_SIGN_IN_ACTION_TYPES.NAVIGATE_TO_MY_CASINO,\n          afterSigninAction\n        );\n      } else {\n        handleCategoryClick();\n      }\n    },\n    [history, isLoggedIn]\n  );\n\n  const showGamesCount = useMemo(() => {\n    return gamesCount || gamesCount === undefined;\n  }, [gamesCount]);\n\n  const isNotInCasinoPageAndInSidebar = useMemo(() => {\n    return (\n      fromSideBar &&\n      SpringConfigs.PAGE_URLS.casino &&\n      !window.location.href.includes(SpringConfigs.PAGE_URLS.casino)\n    );\n  }, [fromSideBar, window.location.href]);\n\n  useEffect(() => {\n    /** Updates \"category\" to \"all\", if it is not set **/\n    const { categoryId } = getCasinoParams();\n\n    const isShouldRedirectWithMountPoint =\n      !isNotInCasinoPageAndInSidebar &&\n      !window.location.href.includes(\n        mountPoint(SpringConfigs.PAGE_URLS.casino, false, true)\n      );\n\n    if (\n      !SpringConfigs.MOCKED_DATA &&\n      !categoryId &&\n      (!fromSideBar || isShouldRedirectWithMountPoint)\n    ) {\n      history.push({\n        pathname: `${mountPoint(window.location.pathname, false, true)}/${\n          CUSTOM_CATEGORIES.all.id\n        }`,\n        search: window.location.search\n      });\n    }\n    /** **/\n\n    /** Sets category ids in redux store, if provided for element **/\n\n    const catIds = categoryIds ? categoryIds.split(',') : [];\n    const customCatIds = categoryCustomIds ? categoryCustomIds.split(',') : [];\n\n    let categories =\n      (catIds.length || customCatIds.length) && categoryIds !== 'all'\n        ? [\n            CUSTOM_CATEGORIES.favorite.id,\n            CUSTOM_CATEGORIES.all.id,\n            CUSTOM_CATEGORIES.lastPlayed.id,\n            ...customCatIds,\n            ...catIds\n          ]\n        : [];\n\n    if (!lastPlayedCatSettings.lastPlayed) {\n      categories = categories.filter(\n        elem => elem != CUSTOM_CATEGORIES.lastPlayed.id\n      );\n    }\n\n    const categoriesSet = categories;\n    dispatch(\n      setCategoryCustomIds([\n        CUSTOM_CATEGORIES.favorite.id,\n        CUSTOM_CATEGORIES.all.id,\n        CUSTOM_CATEGORIES.lastPlayed.id,\n        ...customCatIds\n      ])\n    );\n\n    isMobile() || !fromSideBar\n      ? dispatch(setCasinoOriginalCategoriesSet(categoriesSet))\n      : dispatch(setCasinoOriginalCategoriesSetLeftSideBar(categoriesSet));\n    /** **/\n  }, [lastPlayedCatSettings, isNotInCasinoPageAndInSidebar]);\n\n  useDebounce(\n    () => {\n      if (\n        !enhancedParams ||\n        !gamesConfigs?.bindWithCategories ||\n        !gamesCount ||\n        GLOBALS.casino.allGamesCountFetched ||\n        fromSideBar\n      ) {\n        return;\n      }\n\n      //need more data in enhancedParams to initiate correct call\n      if (\n        Object.keys(enhancedParams).length <=\n        ENHANCED_PARAMS_CORRECT_KEYS_LENGTH\n      ) {\n        return;\n      }\n\n      getCasinoGames<TNewCasinoDataWithCounts>({\n        ...enhancedParams,\n        offset: 0,\n        limit: 1,\n        by_key: ENewCasinoGamesFetchingParamsKey.Id,\n        category: enhancedParams._all_categories,\n        provider: undefined\n      }).then(data => {\n        GLOBALS.casino.allGamesCountFetched = true;\n\n        if (Number(data.data.status) === -1) {\n          return;\n        }\n\n        let totalCount = 0;\n\n        if (data.data.total_count === undefined) {\n          totalCount = Object.values(data.data.games || {}).reduce(\n            (acc, item) => {\n              return acc + Number(item.count);\n            },\n            0\n          );\n        } else {\n          totalCount = Number(data.data.total_count);\n        }\n\n        dispatch(setTotalCount(totalCount.toString()));\n      });\n    },\n    DEBOUNCE_DELAY._500,\n    [JSON.stringify(enhancedParams)]\n  );\n\n  if (SpringConfigs.MOCKED_DATA) {\n    return (\n      <Viewport\n        mobile={CategoriesMobile}\n        desktop={CategoriesDesktop}\n        innerProps={{\n          layout,\n          gamesCount: showGamesCount,\n          namesOnly\n        }}\n      />\n    );\n  }\n\n  return categories === null ? (\n    SkeletonLayout\n  ) : !categories.length ? (\n    <div>{t('casino.noCategories')}</div>\n  ) : (\n    <Route\n      path={\n        isNotInCasinoPageAndInSidebar\n          ? ''\n          : `${mountPoint(location.pathname, false, true)}/:category?`\n      }\n    >\n      <div\n        className=\"casino-categories-block\"\n        {...(!fromSideBar && {\n          'data-testid': 'casino-categories-block'\n        })}\n      >\n        <Viewport\n          mobile={CategoriesMobile}\n          desktop={CategoriesDesktop}\n          innerProps={{\n            theme: THEME,\n            onCategoryClick,\n            layout,\n            gamesCount: showGamesCount,\n            fromSideBar,\n            isOpen,\n            categoryItems,\n            namesOnly\n          }}\n          fallback={SkeletonLayout}\n        />\n      </div>\n    </Route>\n  );\n};\n","import { useLayoutEffect } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { mountPoint } from 'utils/generic/route-manipulation';\n\nexport const useCasinoRedirect = (\n  shouldFetch = false,\n  noCasinoMonthPath = false\n): void => {\n  const location = window.location;\n  const history = useHistory();\n\n  useLayoutEffect(() => {\n    if (SpringConfigs.MOCKED_DATA || !shouldFetch) {\n      return;\n    }\n\n    const [shouldRedirect, redirectPath] = mountPoint(\n      location.pathname,\n      true,\n      true,\n      noCasinoMonthPath\n    );\n\n    shouldRedirect && history.push(redirectPath);\n  }, []);\n};\n","import axios, { AxiosResponse } from 'axios';\nimport { CasinoCommandNames } from 'utils/constants/casino/casino-command-names';\nimport { CASINO_LANG_EXCEPTIONS } from 'utils/constants/languages/language-format';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { GLOBALS } from 'utils/generic/global-variables';\nimport { isMobile } from 'utils/is-mobile';\nimport {\n  IGetCasinoGamesResponse,\n  NewCasinoGamesFetchingParams\n} from 'interfaces/new-casino';\n\nconst lang = SpringConfigs.CURRENT_LANGUAGE;\n\nconst fetchLang =\n  GLOBALS.languageConfigs.casinoLangPrefix ||\n  CASINO_LANG_EXCEPTIONS[lang] ||\n  CASINO_LANG_EXCEPTIONS[lang.slice(0, 2)] ||\n  SpringConfigs.LANGUAGE_PREFIX;\n\nconst defaultParams: Partial<NewCasinoGamesFetchingParams> = {\n  partner_id: SpringConfigs.PARTNER_ID,\n  is_mobile: Number(isMobile()),\n  lang: fetchLang,\n  use_webp: Number(SpringConfigs.IS_WEBP_SUPPORTED),\n  offset: 0,\n  country: SpringConfigs.CURRENT_COUNTRY_CODE\n};\n\nexport const getCasinoGames = async <T = IGetCasinoGamesResponse>(\n  _params: Partial<NewCasinoGamesFetchingParams>\n) => {\n  const url = SpringConfigs.DECENTRALIZED_CASINO_URL\n    ? `${SpringConfigs.DECENTRALIZED_CASINO_URL}${CasinoCommandNames.GET_DECENTRALIZED_GAMES}`\n    : `${SpringConfigs.CASINO_URL}/${CasinoCommandNames.GET_GAMES}`;\n\n  const params = SpringConfigs.DECENTRALIZED_CASINO_URL\n    ? {\n        partnerId: SpringConfigs.DECENTRALIZED_CASINO_PARTNER_ID,\n        lang: defaultParams.lang,\n        categoryId: _params.category?.includes(',')\n          ? undefined\n          : _params.category,\n        offset: _params.offset || 0,\n        limit: _params.limit || SpringConfigs.CASINO_GAMES_FETCH_COUNT\n      }\n    : { ...defaultParams, ..._params, _all_categories: undefined };\n\n  return await axios.get<T, AxiosResponse<T>>(url, { params });\n};\n\nexport const getPromotedCasinoGames = async <T = IGetCasinoGamesResponse>(\n  _params: Partial<NewCasinoGamesFetchingParams>\n) => {\n  const url = `${SpringConfigs.CASINO_URL}/${CasinoCommandNames.GET_PROMOTED_GAMES}`;\n\n  const params = { ...defaultParams, ..._params };\n\n  return await axios.get<T, AxiosResponse<T>>(url, { params });\n};\n"],"names":["CategoriesHorizontalDesktopSkeleton","_ref","namesOnly","_jsx","className","children","cc","horizontalMenuWrapper__namesOnly","style","width","display","SwiperSlider","sliderWrapperClassName","activeSlide","headerTitle","Skeleton","title","height","margin","position","paragraph","active","undefined","bodyArrows","alwaysShowArrows","headerArrows","drawableTabs","createArray","map","key","_jsxs","Avatar","size","EIconSize","_40","name","nameOnly","_14","_10","CategoriesHorizontalMobileSkeleton","categoriesHorizontalMobile__container__namesOnly","_24","_12","CategoriesVerticalSkeleton","fromSideBar","gamesCount","float","SpringConfigs","IS_RTL","CategoriesDesktop","lazy","CategoriesMobile","casinoCategoriesDefaultProps","configs","categoryIds","layout","isFirstCasinoElement","categoryItems","lastPlayed","lastPlayedCatType","CATEGORY_IDS","CasinoCategories","_routeMatch$params2","providerIds","categoryCustomIds","isOpen","arguments","length","categoryElementId","useId","useOptions","shouldFetch","providerIdsForCategories","noCasinoMonthPath","location","window","history","useHistory","useLayoutEffect","MOCKED_DATA","shouldRedirect","redirectPath","mountPoint","pathname","push","useCasinoRedirect","t","useTranslation","categories","useSelector","getCasinoOriginalCategories","lastPlayedCatSettings","getLastPlayedCatSettings","enhancedParams","getEnhancedParams","gamesConfigs","getGamesConfigs","isLoggedIn","getIsLoggedIn","openLoginPopup","useOpenLoginPopup","useLocation","dispatch","useDispatch","routeMatch","useSbRouteMatch","index","indexOf","splice","useEffect","_routeMatch$params","_window$__dataspot__","_window$__dataspot__$","params","category","dataSpotCategories","find","id","__dataspot__","trackCategory","call","LAYOUTS_SKELETON","useMemo","horizontal","Viewport","desktop","mobile","innerProps","vertical","SkeletonLayout","GLOBALS","casino","isCasinoCategoriesMounted","setLastPlayedCatSettings","setCategoryProviderIds","onCategoryClick","useCallback","handleCategoryClick","Promise","resolve","setSelectedCasinoCategoryId","PAGE_URLS","href","includes","sbRedirect","CASINO_MOUNT_PATH","FAVORITE","saveCurrentLocation","search","USER_PERSONALIZATION_ENABLED","CUSTOM_CATEGORIES","favorite","afterSigninAction","finally","AfterSignIn","appendAction","AFTER_SIGN_IN_ACTION_TYPES","NAVIGATE_TO_MY_CASINO","showGamesCount","isNotInCasinoPageAndInSidebar","categoryId","getCasinoParams","isShouldRedirectWithMountPoint","all","catIds","split","customCatIds","filter","elem","categoriesSet","setCategoryCustomIds","isMobile","setCasinoOriginalCategoriesSet","setCasinoOriginalCategoriesSetLeftSideBar","useDebounce","bindWithCategories","allGamesCountFetched","Object","keys","getCasinoGames","offset","limit","by_key","ENewCasinoGamesFetchingParamsKey","Id","_all_categories","provider","then","data","Number","status","totalCount","total_count","values","games","reduce","acc","item","count","setTotalCount","toString","DEBOUNCE_DELAY","_500","JSON","stringify","Route","path","theme","fallback","lang","CURRENT_LANGUAGE","fetchLang","languageConfigs","casinoLangPrefix","CASINO_LANG_EXCEPTIONS","slice","LANGUAGE_PREFIX","defaultParams","partner_id","PARTNER_ID","is_mobile","use_webp","IS_WEBP_SUPPORTED","country","CURRENT_COUNTRY_CODE","async","_params$category","url","DECENTRALIZED_CASINO_URL","CasinoCommandNames","GET_DECENTRALIZED_GAMES","CASINO_URL","GET_GAMES","partnerId","DECENTRALIZED_CASINO_PARTNER_ID","_params","CASINO_GAMES_FETCH_COUNT","axios","getPromotedCasinoGames","GET_PROMOTED_GAMES"],"sourceRoot":""}