{"version":3,"file":"static/chunks/32514-55bbb20aaf40b236.js","sources":["webpack://_N_E/./src/LegacyApp/hooks/app/useNoSleep.ts","webpack://_N_E/./src/common/components/auth/AuthActionButton.tsx","webpack://_N_E/./src/common/components/storeControllers/SlotsStoreController.tsx","webpack://_N_E/./src/common/icons/slots/FullScreenIcon.tsx","webpack://_N_E/./src/common/icons/slots/WideIcon.tsx","webpack://_N_E/./src/common/icons/slots/favorite.tsx","webpack://_N_E/./src/modules/slots/hooks/useUserGameWebsockets.ts","webpack://_N_E/./src/LegacyApp/methods/user/getUserIdFromAuth.ts","webpack://_N_E/./src/modules/slots/components/GameIframe.tsx","webpack://_N_E/./src/modules/slots/components/SessionExpiredContainer.styled.ts","webpack://_N_E/./src/modules/slots/components/SessionExpired.tsx","webpack://_N_E/./src/modules/slots/components/GameWindow.tsx","webpack://_N_E/./src/modules/slots/components/GameWindowWrapper.tsx","webpack://_N_E/./src/modules/slots/components/PlayContainer.styled.tsx","webpack://_N_E/./src/modules/slots/components/SlotPageInfo.tsx","webpack://_N_E/./src/modules/slots/components/RecommendedSlotsSection.tsx","webpack://_N_E/./src/modules/sports/components/Menu/Menu.styled.js","webpack://_N_E/./src/modules/slots/components/FavoriteSlot.tsx","webpack://_N_E/./src/modules/slots/hooks/useFetchFavoriteGame.ts","webpack://_N_E/./src/modules/slots/components/Fullscreen.tsx","webpack://_N_E/./src/modules/slots/components/SlotDetails.tsx","webpack://_N_E/./src/modules/slots/components/GameDesktop.tsx","webpack://_N_E/./src/modules/slots/components/GameMobile.tsx","webpack://_N_E/./src/modules/slots/components/CategoryTiles.tsx","webpack://_N_E/./src/modules/slots/layouts/Slot.layout.tsx"],"sourceRoot":"","sourcesContent":["import NoSleep from 'nosleep.js';\nimport { useCallback, useEffect, useMemo } from 'react';\n\nexport const useNoSleep = (element) => {\n\tconst noSleep = useMemo(() => {\n\t\treturn process.browser ? new NoSleep() : null;\n\t}, []);\n\n\tconst toggle = useCallback(() => {\n\t\t// @ts-expect-error invalid name in package\n\t\tif (!noSleep?.enabled) {\n\t\t\tnoSleep.enable().catch(() => null);\n\t\t}\n\t}, [noSleep]);\n\n\tuseEffect(\n\t\tfunction () {\n\t\t\tif (!noSleep || !element) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\telement.addEventListener('click', toggle, false);\n\n\t\t\treturn () => {\n\t\t\t\telement.removeEventListener('click', toggle, false);\n\t\t\t\tnoSleep.disable();\n\t\t\t};\n\t\t},\n\t\t[element, noSleep, toggle],\n\t);\n};\n","import { FC, PropsWithChildren } from 'react';\nimport { Button, ButtonProps } from '@ui/button';\nimport { Trans } from '@legacyApp/client/modules/translation/translate';\nimport { openModal } from '@modules/modals/store/modal.actions';\nimport { useAppDispatch } from '@legacyApp/hooks/store/useAppDispatch';\nimport { MODAL_ID } from '@common/constants/modal/ids.modal.constants';\nimport { useUserIsLogged } from '@common/selectors/user.selectors';\n\nexport const AuthActionButton: FC<\n\tPropsWithChildren<{\n\t\tlabelText?: string;\n\t\tprops?: ButtonProps;\n\t}>\n> = ({ labelText, children, props }) => {\n\tconst isLogged = useUserIsLogged();\n\tconst dispatch = useAppDispatch();\n\n\tif (!isLogged || !children) {\n\t\treturn (\n\t\t\t}\n\t\t\t\tonClick={() =>\n\t\t\t\t\tdispatch(openModal(MODAL_ID.NEW_ACCOUNT, 'auth_action_button'))\n\t\t\t\t}\n\t\t\t\tname={'submit-not-auth'}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn <>{children};\n};\n","import { FC } from 'react';\nimport { enhanceComponent } from '@legacyApp/client/wrappers/enhanceComponent';\n// import { PackageType } from '../../../LegacyApp/client/store/registry/registry.constants';\n\nconst SlotsStoreController: FC = () => null;\n\n// export const slotsStoreProps = {\n// \tasyncReducers: [],\n// \tasyncEpics: [],\n// \tasyncPackage: PackageType.SLOTS,\n// };\n\nexport default enhanceComponent({\n\tSlotsStoreController,\n\t// props: slotsStoreProps,\n});\n","import { Svg } from '@legacyApp/client/components/svg/Svg';\n\nexport const FullScreenIcon = () =>\n\tSvg({\n\t\tcontent: (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t),\n\t\twidth: 15,\n\t\theight: 15,\n\t});\n","import { Svg } from '@legacyApp/client/components/svg/Svg';\n\nexport const WideIcon = () =>\n\tSvg({\n\t\tcontent: (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\n\t\t),\n\t\twidth: 18,\n\t\theight: 12,\n\t});\n","import { Svg } from '@legacyApp/client/components/svg/Svg';\n\ninterface FavoriteIconProps {\n\twidth?: number;\n\theight?: number;\n\tisActive?: boolean;\n\tcolor?: string;\n\tviewBox?: string;\n}\n\nconst FavoriteIcon = ({\n\twidth,\n\theight,\n\tisActive = false,\n\tcolor,\n\tviewBox,\n}: FavoriteIconProps) =>\n\tSvg({\n\t\tcontent: (\n\t\t\t\n\t\t),\n\t\tviewBox: viewBox || '0 0 17.212 16.519',\n\t\twidth: width || 17.212,\n\t\theight: height || 16.519,\n\t});\n\nexport default FavoriteIcon;\n","import { useContext, useEffect } from 'react';\nimport { getUserIdFromAuth } from '@legacyApp/methods/user/getUserIdFromAuth';\nimport { unbindSocketChannel } from '@legacyApp/client/store/websocket/websocket.actions';\nimport {\n\tuseUserActiveCurrency,\n\tuseUserTokenValue,\n} from '@common/selectors/user.selectors';\nimport { useAppDispatch } from '@legacyApp/hooks/store/useAppDispatch';\nimport { bindSocketChannelEventThunk } from '@legacyApp/client/store/websocket/thunks/bindSocketChannelEvent.thunk';\nimport {\n\tWebsocketChannelType,\n\tWebsocketEventType,\n} from '@legacyApp/client/store/websocket/websocket.constants';\nimport { SlotsGameContext } from '../context/SlotsGameContext';\n\nexport const useUserGameWebsockets = ({\n\teventName,\n\teventCallback,\n}: {\n\teventName: WebsocketEventType;\n\teventCallback: () => void;\n}) => {\n\tconst dispatch = useAppDispatch();\n\tconst { game } = useContext(SlotsGameContext);\n\tconst { game_id, operator_id } = game || {};\n\n\tconst currency = useUserActiveCurrency();\n\tconst token = useUserTokenValue();\n\n\tuseEffect(() => {\n\t\tconst userId = token ? getUserIdFromAuth(token) : null;\n\t\tconst channel =\n\t\t\t`${currency}${userId}${operator_id}${game_id}` as WebsocketChannelType;\n\t\tif (token) {\n\t\t\tdispatch(\n\t\t\t\tbindSocketChannelEventThunk(\n\t\t\t\t\tchannel as WebsocketChannelType,\n\t\t\t\t\teventName,\n\t\t\t\t\t() => {\n\t\t\t\t\t\teventCallback();\n\t\t\t\t\t},\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\n\t\treturn () => {\n\t\t\tdispatch(unbindSocketChannel(channel, eventName));\n\t\t};\n\t}, [\n\t\tcurrency,\n\t\tdispatch,\n\t\teventCallback,\n\t\teventName,\n\t\tgame_id,\n\t\toperator_id,\n\t\ttoken,\n\t]);\n};\n","// eslint-disable-next-line import/named\nimport jwt_decode, { JwtPayload } from 'jwt-decode';\n\nexport const getUserIdFromAuth = (token) => {\n\t// console.log({ token });\n\tconst jwtDecoded: JwtPayload = jwt_decode(token);\n\treturn jwtDecoded?.sub;\n};\n","import { FC, PropsWithChildren, useCallback } from 'react';\nimport { useAppDispatch } from '@legacyApp/hooks/store/useAppDispatch';\nimport { showAlert } from '@legacyApp/client/store/alerts/alerts.actions';\nimport { WEBSOCKET_EVENTS } from '@legacyApp/client/store/websocket/websocket.constants';\nimport { useUserGameWebsockets } from '../hooks/useUserGameWebsockets';\n\nexport const GameIframe: FC<\n\tPropsWithChildren<{ code: string; style: string }>\n> = ({ code, style, children }) => {\n\tconst dispatch = useAppDispatch();\n\n\tconst eventCallback = useCallback(() => {\n\t\tdispatch(showAlert('error', 'Exceeds max bet amount for this game'));\n\t}, [dispatch]);\n\n\tuseUserGameWebsockets({\n\t\teventName: WEBSOCKET_EVENTS.SLOTS_BET_AMOUNT_LIMIT,\n\t\teventCallback,\n\t});\n\n\treturn