{"version":3,"file":"static/js/9491.df3e39e5.chunk.js","mappings":"gRAeIA,EAAAA,GAAcC,QAChB,iCAmBF,MAAM,qBAAEC,IAAyBC,EAAAA,EAAAA,IAC/B,IAAM,qLAGF,sBAAEC,IAA0BD,EAAAA,EAAAA,IAChC,IAAM,yKAGKE,EAAkBC,IAC7B,MAAMC,GAAWC,EAAAA,EAAAA,MACXC,GAAaC,EAAAA,EAAAA,IAAYC,EAAAA,IACzBC,GAAiBC,EAAAA,EAAAA,KACjBC,GAAaJ,EAAAA,EAAAA,KACjBK,EAAAA,EAAAA,IAA2BT,EAAMU,KAAKC,kBAAmB,WAGrDC,GAAmBC,EAAAA,EAAAA,cACtBC,IACCA,EAAEC,mBAEGZ,GAAcT,EAAAA,GAAcsB,8BAC/BC,EAAAA,EAAaC,SACXC,EAAAA,EAAAA,GAAe,UAAW,4BAC1BC,KAAKC,UAAUrB,EAAMU,OAEvBJ,KAEAL,GAASqB,EAAAA,EAAAA,KAAe,CAAEC,OAAQvB,EAAMU,KAAMc,SAAU,WAC1D,GAEF,CAACxB,EAAMU,KAAMP,IAGf,OACEsB,EAAAA,EAAAA,KAACC,EAAAA,EAAQ,CACPC,QAAS7B,EACT8B,OAAQhC,EACRiC,WAAY,IACP7B,EACHQ,aACAI,mBACAkB,eAAgB9B,EAAM8B,eACtBC,sBAAuB/B,EAAM+B,sBAC7BC,WAAYhC,EAAMgC,YAEpBC,UAAUR,EAAAA,EAAAA,KAACS,EAAAA,EAAsB,CAACC,aAAcnC,EAAMmC,gBACtD,C","sources":["newcomponents/Shared/casino/CasinoGameCard/index.tsx"],"sourcesContent":["import { MouseEvent, ReactElement, useCallback } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport LocalStorage from 'utils/bom-dom-manipulation/local-storage';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { lazy } from 'utils/generic/lazy';\nimport { storageKeyName } from 'utils/generic/storage-key-name';\nimport { NewCasinoGame } from 'interfaces/new-casino';\nimport { Viewport } from 'components/Viewport';\nimport { CasinoGameCardSkeleton } from 'newcomponents/Shared/casino/CasinoGameCard/Skeleton';\nimport { useOpenLoginPopup } from 'hooks/account/useOpenLoginPopup';\nimport { toggleFavorite } from 'store/actions';\nimport { getFavoriteActiveStateById } from 'store/selectors/fav-data';\nimport { getIsLoggedIn } from 'store/selectors/user-data';\nimport './index.less';\n\nif (SpringConfigs.IS_RTL) {\n import('./rtl.less');\n}\n\ntype Props = {\n game: NewCasinoGame;\n casinoPlayRealBtnSize?: string;\n casinoNameSize?: string;\n fromAccount?: boolean;\n index?: number;\n shouldStoreOffset?: boolean;\n scaleOut?: boolean;\n setVisible?: (arg: boolean) => void;\n hidePartials?: {\n name?: boolean;\n providerTitle?: boolean;\n favorite?: boolean;\n };\n};\n\nconst { CasinoGameCardMobile } = lazy(\n () => import(/* webpackChunkName: \"casino-game-card-mobile\" */ './Mobile')\n);\n\nconst { CasinoGameCardDesktop } = lazy(\n () => import(/* webpackChunkName: \"casino-game-card-desktop\" */ './Desktop')\n);\n\nexport const CasinoGameCard = (props: Props): ReactElement => {\n const dispatch = useDispatch();\n const isLoggedIn = useSelector(getIsLoggedIn);\n const openLoginPopup = useOpenLoginPopup();\n const isFavorite = useSelector(\n getFavoriteActiveStateById(props.game.extearnal_game_id, 'casino')\n );\n\n const onFavoriteToggle = useCallback(\n (e: MouseEvent<HTMLElement, MouseEvent>) => {\n e.stopPropagation();\n\n if (!isLoggedIn && SpringConfigs.USER_PERSONALIZATION_ENABLED) {\n LocalStorage.setItem(\n storageKeyName('account', 'UNSIGNED_FAV_CASINO_GAME'),\n JSON.stringify(props.game)\n );\n openLoginPopup();\n } else {\n dispatch(toggleFavorite({ entity: props.game, groupKey: 'casino' }));\n }\n },\n [props.game, isLoggedIn]\n );\n\n return (\n <Viewport\n desktop={CasinoGameCardDesktop}\n mobile={CasinoGameCardMobile}\n innerProps={{\n ...props,\n isFavorite,\n onFavoriteToggle,\n casinoNameSize: props.casinoNameSize,\n casinoPlayRealBtnSize: props.casinoPlayRealBtnSize,\n setVisible: props.setVisible\n }}\n fallback={<CasinoGameCardSkeleton hidePartials={props.hidePartials} />}\n />\n );\n};\n"],"names":["SpringConfigs","IS_RTL","CasinoGameCardMobile","lazy","CasinoGameCardDesktop","CasinoGameCard","props","dispatch","useDispatch","isLoggedIn","useSelector","getIsLoggedIn","openLoginPopup","useOpenLoginPopup","isFavorite","getFavoriteActiveStateById","game","extearnal_game_id","onFavoriteToggle","useCallback","e","stopPropagation","USER_PERSONALIZATION_ENABLED","LocalStorage","setItem","storageKeyName","JSON","stringify","toggleFavorite","entity","groupKey","_jsx","Viewport","desktop","mobile","innerProps","casinoNameSize","casinoPlayRealBtnSize","setVisible","fallback","CasinoGameCardSkeleton","hidePartials"],"sourceRoot":""}