{"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":""}