{"version":3,"file":"static/js/virtual-sport.b9df4375.chunk.js","mappings":"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","sources":["elements/VirtualSport/VirtualIframes/VirtualSportMenu.tsx","elements/VirtualSport/VirtualIframes/style.ts","utils/constants/virtual-sports/virtual-sports-list.ts","elements/VirtualSport/VirtualIframes/VirtualSportBetconstruct/index.tsx","elements/VirtualSport/VirtualIframes/index.tsx","elements/VirtualSport/index.tsx"],"sourcesContent":["import { ReactElement, useCallback, useEffect, useState } from 'react';\nimport { useHistory } from 'react-router-dom';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { addQuery } from 'components/QueryRoute';\nimport { HorizontalMenu } from 'newcomponents/UI/HorizontalMenu';\nimport { useSearchParams } from 'hooks/useSearchParams';\n\ntype Props = {\n tabs: {\n key: string;\n title: string;\n gameId?: string;\n }[];\n secondLevel?: boolean;\n};\n\nexport const VirtualSportMenu: React.FC<Props> = ({\n tabs,\n secondLevel\n}): ReactElement => {\n const history = useHistory();\n\n const { key, sport, gameId } = useSearchParams();\n\n const initialKey = (key as string) || tabs[0].key;\n\n const initialSecond = (gameId as string) || tabs[0]?.gameId;\n\n const [selectedTab, setSelectedTab] = useState(initialKey);\n const [secondSelected, setSecondSelected] = useState(initialSecond);\n\n const tabClickHandler = useCallback((key: string) => {\n if (secondLevel) {\n history.push(addQuery({ gameId: key }));\n setSecondSelected(key);\n } else {\n history.push(addQuery({ key: key, gameId: undefined, id: undefined }));\n setSelectedTab(key);\n }\n }, []);\n\n useEffect(() => {\n if (sport != '188' && !SpringConfigs.MOCKED_DATA) {\n history.push(addQuery({ key: initialKey, gameId: initialSecond }));\n }\n }, []);\n\n useEffect(() => {\n setSelectedTab(initialKey);\n }, [key]);\n\n return (\n <HorizontalMenu\n selectedKey={secondLevel ? secondSelected || '' : selectedTab}\n onChange={tabClickHandler}\n size=\"small\"\n items={tabs}\n />\n );\n};\n","import styled from 'styled-components';\n\nexport const IFrameWrapper = styled.div`\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const Iframe = styled.iframe`\n border: none;\n width: 100%;\n display: block;\n`;\n","import i18n from 'i18next';\n\nexport const virtualSportList = [\n {\n key: 'betconstruct',\n title: i18n.t('virtualsports.betconstruct'),\n id: 1,\n auth: false\n },\n {\n key: 'golden-race',\n title: i18n.t('virtualsports.goldenRace'),\n gameId: '400002',\n id: 2,\n auth: true\n },\n {\n key: 'kiron',\n title: i18n.t('virtualsports.kiron'),\n id: 3,\n auth: false\n },\n {\n key: 'inbet',\n title: i18n.t('virtualsports.inbet'),\n gameId: '220108',\n id: 4,\n auth: false\n },\n {\n key: 'leap-gaming',\n title: i18n.t('virtualsports.leapGaming'),\n gameId: '4000235',\n id: 5,\n auth: false\n },\n {\n key: 'edge-gaming',\n title: i18n.t('virtualsports.edgeGaming'),\n gameId: '155000',\n id: 6,\n auth: false\n },\n {\n key: 'leap-instant-gaming',\n title: i18n.t('virtualsports.leapInstantGaming'),\n gameId: '400037034',\n id: 7,\n auth: false\n },\n {\n key: 'globalbet',\n title: i18n.t('virtualsports.globalbet'),\n gameId: '3510000',\n id: 8,\n auth: true\n },\n {\n key: 'komplexbet',\n title: i18n.t('virtualsports.komplexbet'),\n gameId: '400040250',\n id: 9,\n auth: true\n },\n {\n key: 'pragmatic-play',\n title: i18n.t('virtualsports.pragmaticPlay'),\n gameId: '3510029',\n id: 10,\n auth: true\n },\n {\n key: 'betradar',\n title: i18n.t('virtualsports.betradar'),\n gameId: '40004211',\n id: 11,\n auth: true\n },\n {\n key: 'nsoft',\n title: i18n.t('virtualsports.nsoft'),\n gameId: '400040302',\n id: 12,\n auth: true\n },\n {\n key: 'dsVirtual',\n title: i18n.t('virtualsports.dsVirtual'),\n gameId: '420019754',\n id: 13,\n auth: false\n },\n {\n key: 'pascalGaming',\n title: i18n.t('virtualsports.pascalGaming'),\n gameId: '420018576',\n id: 14,\n auth: false\n },\n {\n key: 'virtualGeneration',\n title: i18n.t('virtualsports.virtualGeneration'),\n gameId: '220143',\n id: 15,\n auth: true\n },\n {\n key: '1x2Gaming',\n title: i18n.t('virtualsports.1x2Gaming'),\n gameId: '4000210',\n id: 16,\n auth: false\n }\n];\n","import { FC, useEffect, useRef } from 'react';\nimport { useSelector } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\nimport LocalStorage from 'utils/bom-dom-manipulation/local-storage';\nimport { ODD_FORMATS } from 'utils/constants/betslip/odd-formats';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { CommandNames } from 'utils/constants/swarm/swarm-command-names';\nimport { getDomain } from 'utils/generic/get-domain';\nimport { storageKeyName } from 'utils/generic/storage-key-name';\nimport { isMobile } from 'utils/is-mobile';\nimport { addQuery, saveCurrentLocation } from 'components/QueryRoute';\nimport { useSearchParams } from 'hooks/useSearchParams';\nimport { getOddFormat } from 'store/selectors/betslip';\nimport { getUser } from 'store/selectors/user-data';\nimport { Iframe } from '../style';\n\ntype Props = {\n contentHeight: string;\n};\n\nexport const VirtualSportBetconstruct: FC<Props> = ({ contentHeight }) => {\n const history = useHistory();\n const { accounts, id } = useSearchParams();\n const iframeRef = useRef<HTMLIFrameElement>(null);\n const openedAccount = useRef<'' | 'login' | 'register'>('');\n const targetIframe = useRef<Window>();\n const isInitialized = useRef(false);\n const isLogined = useRef(false);\n const user = useSelector(getUser);\n const oddFormat = useSelector(getOddFormat);\n const mainDomain = getDomain();\n\n const IFRAME_SOURCE = isMobile()\n ? `https://mvs.${mainDomain}`\n : `https://vs.${mainDomain}`;\n\n useEffect(() => {\n if (!user.pending) {\n window.addEventListener('message', messageEventHandler);\n\n return () => window.removeEventListener('message', messageEventHandler);\n }\n }, [user.pending]);\n\n useEffect(() => {\n if (!accounts && openedAccount) {\n postSlider(false);\n }\n }, [accounts]);\n\n window.addEventListener('message', message => {\n if (message?.data?.location?.game) {\n history.push(\n addQuery({ key: 'betconstruct', id: `${message.data.location?.game}` })\n );\n }\n });\n\n useEffect(() => {\n postRestoreLogin();\n\n if (!user.id && isLogined.current) {\n postMessage('logout');\n }\n }, [user.id]);\n\n const messageEventHandler = (event: MessageEvent) => {\n if (event.origin !== IFRAME_SOURCE) {\n return;\n }\n\n if (event.data.action == 'appReady' && !isInitialized.current) {\n isInitialized.current = true;\n targetIframe.current = event.source as Window;\n\n postMessage('initialConfig', {\n site_id: SpringConfigs.PARTNER_ID,\n lang: SpringConfigs.LANGUAGE_PREFIX || 'eng',\n oddType:\n ODD_FORMATS.find(format => format.id === oddFormat)?.id || 'decimal',\n cmsBaseHost: window.location.host\n });\n\n postMessage('setRouteState', { game: id as string });\n postRestoreLogin();\n } else if (event.data.action == 'openSlider') {\n saveCurrentLocation();\n history.push(addQuery({ accounts: '*', [event.data.tab]: '*' }));\n openedAccount.current = event.data.tab;\n postSlider(true);\n }\n };\n\n const postMessage = (\n action: string,\n data?: Record<string, string | number | boolean>\n ) => {\n targetIframe.current?.postMessage(\n {\n action,\n data\n },\n IFRAME_SOURCE\n );\n };\n\n const postSlider = (isOpen: boolean) => {\n postMessage('slider', {\n content: openedAccount.current,\n isOpen\n });\n };\n\n const postRestoreLogin = () => {\n if (user.id && isInitialized.current) {\n const auth_data_x = JSON.parse(\n LocalStorage.getItem(storageKeyName('account', 'AUTH_DATA'))\n );\n\n const token = auth_data_x?.auth_token;\n\n isLogined.current = true;\n postMessage(CommandNames.RESTORE_LOGIN, {\n user_id: user.id,\n auth_token: token\n });\n }\n };\n\n return !user.pending ? (\n <Iframe\n src={IFRAME_SOURCE}\n ref={iframeRef}\n style={{ minHeight: contentHeight, height: contentHeight }}\n />\n ) : null;\n};\n","import { ReactElement, Suspense } from 'react';\nimport { lazy } from 'utils/generic/lazy';\nimport { VirtualSportBetconstruct } from './VirtualSportBetconstruct';\nimport { FallbackContainer } from 'components/UI/Containers/FallbackContainer';\nimport { useSearchParams } from 'hooks/useSearchParams';\n\nconst { VirtualKiron } = lazy(\n () => import(/* webpackChunkName: \"virtual-kiron\" */ './VirtualKiron')\n);\n\nconst { VirtualLeapInstantGaming } = lazy(\n () =>\n import(\n /* webpackChunkName: \"virtual-leap-instant-gaming\" */ './VirtualLeapInstantGaming'\n )\n);\n\nconst { VirtualSportContent } = lazy(\n () =>\n import(\n /* webpackChunkName: \"virtual-sport-content\" */ './VirtualSportContent'\n )\n);\n\nconst { VirtualLeapGaming } = lazy(\n () =>\n import(/* webpackChunkName: \"virtual-leap-gaming\" */ './VirtualLeapGaming')\n);\n\nexport type Props = {\n contentHeight: string;\n data: {\n key: string;\n title: string;\n gameId?: string;\n }[];\n gamesData?: {\n key: string;\n title: string;\n gameId?: string;\n }[];\n};\n\nexport const VirtualSportByKey = ({\n contentHeight,\n gamesData,\n data\n}: Props): ReactElement => {\n const { key } = useSearchParams();\n let sportToShow;\n\n switch (key) {\n case 'betconstruct':\n sportToShow = <VirtualSportBetconstruct contentHeight={contentHeight} />;\n break;\n case 'kiron':\n sportToShow = (\n <Suspense fallback={<FallbackContainer considerTabs />}>\n <VirtualKiron\n contentHeight={contentHeight}\n data={data}\n gamesData={gamesData}\n />\n </Suspense>\n );\n break;\n case 'leap-gaming':\n sportToShow = (\n <Suspense fallback={<FallbackContainer considerTabs />}>\n <VirtualLeapGaming\n data={data}\n contentHeight={contentHeight}\n gamesData={gamesData}\n />\n </Suspense>\n );\n break;\n case 'leap-instant-gaming':\n sportToShow = (\n <Suspense fallback={<FallbackContainer considerTabs />}>\n <VirtualLeapInstantGaming\n contentHeight={contentHeight}\n data={data}\n gamesData={gamesData}\n />\n </Suspense>\n );\n break;\n default:\n sportToShow = (\n <Suspense fallback={<FallbackContainer considerTabs />}>\n <VirtualSportContent\n contentHeight={contentHeight}\n data={data}\n gamesData={gamesData}\n />\n </Suspense>\n );\n }\n\n return sportToShow;\n};\n","import { FC, ReactElement, useMemo } from 'react';\nimport SpringConfigs, {\n srcEnvVariable\n} from 'utils/constants/swarm/spring-configs';\nimport { virtualSportList } from 'utils/constants/virtual-sports/virtual-sports-list';\nimport { isMobile } from 'utils/is-mobile';\nimport { VirtualSportByKey } from './VirtualIframes';\nimport { VirtualSportMenu } from './VirtualIframes/VirtualSportMenu';\nimport { useContentHeight } from 'hooks/useContentHeight';\n\ntype Props = {\n configs?: {\n vsOrderedTabs: string;\n };\n};\n\ntype TabTypes = {\n key: string;\n title: string;\n gameId?: string | undefined;\n id: number;\n auth: boolean;\n};\n\nexport const VirtualSport: FC<Props> = ({ configs }): ReactElement => {\n const contentHeight = useContentHeight();\n const configOrderedTabs =\n configs && configs.vsOrderedTabs ? JSON.parse(configs.vsOrderedTabs) : [];\n\n const orderedTabs = useMemo(() => {\n if (configOrderedTabs.length) {\n const tabsArr: TabTypes[] = [];\n\n configOrderedTabs.map((item: number) => {\n const tab = virtualSportList.find(tab => tab.id === item);\n tab && tabsArr.push(tab);\n });\n\n return tabsArr;\n } else {\n return virtualSportList;\n }\n }, []);\n\n return SpringConfigs.MOCKED_DATA ? (\n <>\n <VirtualSportMenu tabs={orderedTabs} />\n <img\n src={`${\n process.env[srcEnvVariable]\n }/images/virtual-sports/mock-data-bg-img${\n isMobile() ? '-mobile' : ''\n }.png`}\n width=\"100%\"\n loading=\"lazy\"\n />\n </>\n ) : (\n <>\n <VirtualSportMenu tabs={orderedTabs} />\n <VirtualSportByKey contentHeight={contentHeight} data={orderedTabs} />\n </>\n );\n};\n"],"names":["VirtualSportMenu","_ref","_tabs$","tabs","secondLevel","history","useHistory","key","sport","gameId","useSearchParams","initialKey","initialSecond","selectedTab","setSelectedTab","useState","secondSelected","setSecondSelected","tabClickHandler","useCallback","push","addQuery","undefined","id","useEffect","SpringConfigs","MOCKED_DATA","_jsx","HorizontalMenu","selectedKey","onChange","size","items","IFrameWrapper","styled","div","withConfig","displayName","componentId","Iframe","iframe","virtualSportList","title","i18n","auth","VirtualSportBetconstruct","contentHeight","accounts","iframeRef","useRef","openedAccount","targetIframe","isInitialized","isLogined","user","useSelector","getUser","oddFormat","getOddFormat","mainDomain","getDomain","IFRAME_SOURCE","isMobile","pending","window","addEventListener","messageEventHandler","removeEventListener","postSlider","message","_message$data","_message$data$locatio","_message$data$locatio2","data","location","game","postRestoreLogin","current","postMessage","event","_ODD_FORMATS$find","origin","action","saveCurrentLocation","tab","source","site_id","PARTNER_ID","lang","LANGUAGE_PREFIX","oddType","ODD_FORMATS","find","format","cmsBaseHost","host","_targetIframe$current","isOpen","content","auth_data_x","JSON","parse","LocalStorage","getItem","storageKeyName","token","auth_token","CommandNames","RESTORE_LOGIN","user_id","src","ref","style","minHeight","height","VirtualKiron","lazy","VirtualLeapInstantGaming","VirtualSportContent","VirtualLeapGaming","VirtualSportByKey","gamesData","sportToShow","Suspense","fallback","FallbackContainer","considerTabs","children","VirtualSport","configs","useContentHeight","configOrderedTabs","vsOrderedTabs","orderedTabs","useMemo","length","tabsArr","map","item","_jsxs","_Fragment","process","srcEnvVariable","width","loading"],"sourceRoot":""}