{"version":3,"file":"static/js/46103.d7d1f2a6.chunk.js","mappings":"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","sources":["components/FavoriteButton/FavoriteButtonMarket.tsx","components/FavoriteButton/FavoriteButtonGame.tsx","components/GameDetails/AdditionalStatistics/AdditionalStatisticsFilter/AdditionalStatisticsFilterSkeleton.tsx","components/GameDetails/AdditionalStatistics/CounterStrikeStatistics/Skeleton/CounterStrikeStatisticsScoresSkeleton.tsx","components/GameDetails/AdditionalStatistics/MOBAGames/Skeleton/MOBAGamesStatisticsScoresSkeleton.tsx","components/GameDetails/AdditionalStatistics/index.tsx","components/GameDetails/AdditionalStatistics/CounterStrikeStatistics/Skeleton/index.tsx","components/GameDetails/Simple/style.ts","components/MarketsList/MarketsListOnlySkeleton.tsx","components/MatchHeader/Prematch/MatchHeaderSkelton.tsx","components/MatchHeader/Prematch/style.ts","components/MatchInfoCard/skeleton.tsx","components/MatchInfoCard/style.ts","components/Odds/EmptyOdd.tsx","components/Odds/EmptyOddGroup.tsx","components/Odds/OddButton.tsx","components/Odds/OddPopover.tsx","components/Odds/Odd.tsx","components/Odds/index.tsx","components/Recaptcha/types.ts","components/Shared/SportsbookSingleGame/Banner/style.ts","components/TeamCaption/style.ts","components/TeamCaption/index.tsx","utils/constants/logos/index.tsx","components/TeamLogo/index.tsx","hooks/usePrevious.ts","interfaces/match-statistic.ts","newcomponents/Shared/sportsbook/GameHeader/GameHeaderSkeleton.tsx","newcomponents/Shared/sportsbook/MatchStatistic/index.tsx","newcomponents/Shared/sportsbook/MatchStatisticPopover/__partials/Header/Skeleton.tsx","newcomponents/Shared/sportsbook/MatchStatisticPopover/__partials/TeamInfo/Skeleton.tsx","newcomponents/Shared/sportsbook/MatchStatisticPopover/__partials/History/Skeleton.tsx","newcomponents/Shared/sportsbook/MatchStatisticPopover/__partials/LastGames/Skeleton.tsx","newcomponents/Shared/sportsbook/MatchStatisticPopover/__partials/LeagueResults/Skeleton.tsx","newcomponents/Shared/sportsbook/MatchStatisticPopover/Skeleton.tsx","newcomponents/Shared/sportsbook/MatchStreaming/Skeleton/Details/StreamCourtSkeleton/index.tsx","newcomponents/Shared/sportsbook/OddIndicator/index.tsx","newelements/Sportsbook/__partials/SingleGameView/SingleGameViewSkeleton.tsx","newelements/Sportsbook/__partials/SingleGameView/index.tsx","newelements/Sportsbook/layouts/advanced/__partials/AdvancedMainContent/__partials/AdvancedHeaderBreadcrumb/index.tsx","newhooks/sportsbook/matchStreaming/useStreamPlaceHolderStyles.ts","store/selectors/e-sport-data.ts","store/selectors/match-streaming.ts","utils/constants/sportsbook/magic-numbers.ts","utils/constants/sportsbook/match-tracker-sports.ts","utils/generic/show-toast-warning.ts","utils/constants/moba-games/dota-2.ts","utils/constants/moba-games/league-of-legends.ts","utils/helpers/moba-games-statistics-options.ts","utils/sportsbook/calculate-boosted-odds.ts","utils/sportsbook/get-inidcator-position.ts","utils/sportsbook/live-games-helper.ts","utils/sportsbook/match-statistic.ts","utils/sportsbook/order-correct-score-market.ts","utils/sportsbook/set-missing-market-group-name-other.ts"],"sourcesContent":["import { ReactElement, useMemo } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport LocalStorage from 'utils/bom-dom-manipulation/local-storage';\nimport { EIconSize } from 'utils/constants/app/ui';\nimport { MAIN_MARKETS_TYPE } from 'utils/constants/sportsbook/data-fields';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { storageKeyName } from 'utils/generic/storage-key-name';\nimport { MarketGroupItem } from 'interfaces/sportsbook-data-levels';\nimport { EventAction } from 'components/EventAction';\nimport { GlobalIcon } from 'components/GlobalIcon';\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';\n\ntype Props = {\n group?: MarketGroupItem;\n isMainMarket?: boolean;\n className?: string;\n};\n\nexport const FavoriteButtonMarket = ({\n group,\n isMainMarket,\n className\n}: Props): ReactElement => {\n const dispatch = useDispatch();\n const openLoginPopup = useOpenLoginPopup();\n const isLoggedIn = useSelector(getIsLoggedIn);\n\n const groupName = useMemo(() => {\n if (isMainMarket) {\n return MAIN_MARKETS_TYPE;\n }\n\n return `${group?.markets?.[0]?.type || ''}-${\n group?.markets?.[0]?.name || ''\n }`;\n }, [isMainMarket, group]);\n\n const active = useSelector(getFavoriteActiveStateById(groupName, 'markets'));\n\n const handleFavGroup = (e: UIEvent) => {\n e.stopPropagation();\n\n if (!isLoggedIn && SpringConfigs.USER_PERSONALIZATION_ENABLED) {\n LocalStorage.setItem(\n storageKeyName('account', 'UNSIGNED_FAV_MARKET'),\n groupName\n );\n openLoginPopup();\n } else {\n dispatch(toggleFavorite({ groupKey: 'markets', entity: groupName }));\n }\n };\n\n return (\n \n }\n className={className}\n onClick={handleFavGroup}\n />\n );\n};\n","import { ReactElement, SyntheticEvent } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport LocalStorage from 'utils/bom-dom-manipulation/local-storage';\nimport { EContainerIconSize, EIconSize } from 'utils/constants/app/ui';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { storageKeyName } from 'utils/generic/storage-key-name';\nimport {\n Game,\n IToggleSportMatchAction\n} from 'interfaces/sportsbook-data-levels';\nimport { EventAction } from 'components/EventAction';\nimport { GlobalIcon } from 'components/GlobalIcon';\nimport { useOpenLoginPopup } from 'hooks/account/useOpenLoginPopup';\nimport { toggleFavorite } from 'store/actions/fav-data';\nimport {\n getFavoriteActiveStateById,\n getFavoriteMatchIds\n} from 'store/selectors/fav-data';\nimport { getIsLoggedIn } from 'store/selectors/user-data';\nimport './index.less';\n\ntype Props = {\n game: Pick;\n size?: EIconSize._16 | EIconSize._20;\n ghost?: boolean;\n className?: string;\n iconMargin?: 'left' | 'right' | null;\n iconContainerSize?:\n | EContainerIconSize.SMALL\n | EContainerIconSize.MIDDLE\n | EContainerIconSize.LARGE;\n externalCallback?: () => void;\n};\n\nexport const FavoriteButtonGame = ({\n game,\n size,\n className,\n iconMargin = 'left',\n ghost,\n iconContainerSize,\n externalCallback\n}: Props): ReactElement | null => {\n const { id } = game;\n const dispatch = useDispatch();\n const favoriteMatchIds = useSelector(getFavoriteMatchIds);\n const isLoggedIn = useSelector(getIsLoggedIn);\n const openLoginPopup = useOpenLoginPopup();\n\n const gameType = (\n game.type === 1 ? 'live' : 'prematch'\n ) as IToggleSportMatchAction['gameType'];\n\n const favoriteSelectorOptions: Omit = {\n gameType,\n groupKey: favoriteMatchIds.esport[gameType].includes(id)\n ? 'esport'\n : 'sportsbook'\n };\n\n const active = useSelector(\n getFavoriteActiveStateById(game.id, favoriteSelectorOptions.groupKey)\n );\n\n const handleFavGame = (e: SyntheticEvent) => {\n e.stopPropagation();\n e.preventDefault();\n\n if (!isLoggedIn && SpringConfigs.USER_PERSONALIZATION_ENABLED) {\n LocalStorage.setItem(\n storageKeyName('account', 'UNSIGNED_FAV_SPORT_GAME'),\n JSON.stringify({\n groupKey: favoriteSelectorOptions.groupKey,\n gameType,\n id\n })\n );\n openLoginPopup();\n } else {\n dispatch(toggleFavorite({ ...favoriteSelectorOptions, entity: id }));\n }\n\n externalCallback?.();\n };\n\n return (\n \n }\n />\n );\n};\n","import { ReactElement } from 'react';\nimport { isMobile } from 'utils/is-mobile';\nimport { Skeleton } from 'newcomponents/UI/Skeleton';\n\ntype TAdditionalStatisticsFilterSkeletonProps = {\n block?: boolean;\n};\n\nexport const AdditionalStatisticsFilterSkeleton = ({\n block\n}: TAdditionalStatisticsFilterSkeletonProps): ReactElement => {\n return (\n \n );\n};\n","import { ReactElement } from 'react';\nimport cc from 'classcat';\nimport { createArray } from 'utils/helpers/create-fake-array';\nimport { Skeleton } from 'newcomponents/UI/Skeleton';\nimport './index.less';\nimport '../index.less';\n\nconst COUNTER_STRIKE_STATISTICS_COLUMN_LENGTH = 20;\n\nexport const CounterStrikeStatisticsScoresSkeleton = (): ReactElement => {\n return (\n
\n {createArray(2).map(index => (\n
\n \n {createArray(COUNTER_STRIKE_STATISTICS_COLUMN_LENGTH).map(key => (\n \n \n
\n ))}\n
\n \n ))}\n \n );\n};\n","import { ReactElement } from 'react';\nimport cc from 'classcat';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { createArray } from 'utils/helpers/create-fake-array';\nimport { isMobile } from 'utils/is-mobile';\nimport { Skeleton } from 'newcomponents/UI/Skeleton';\nimport '../index.less';\n\nif (SpringConfigs.IS_RTL) {\n import('../rtl.less');\n}\n\ntype TProps = {\n className?: string;\n};\n\nconst TEAM_SCORE_SKELETON_COUNT = 5;\n\nexport const MOBAGamesStatisticsScoresSkeleton = ({\n className = ''\n}: TProps): ReactElement => {\n return (\n \n \n \n {isMobile() && (\n \n \n -\n \n )}\n
\n {createArray(TEAM_SCORE_SKELETON_COUNT).map(key => (\n \n \n \n \n \n
\n ))}\n \n \n {!isMobile() && (\n
\n VS\n \n \n \n
\n )}\n \n {isMobile() && (\n \n \n -\n \n )}\n
\n {createArray(TEAM_SCORE_SKELETON_COUNT).map(key => (\n \n \n \n \n \n
\n ))}\n \n \n \n \n );\n};\n","import {\n Dispatch,\n ReactElement,\n SetStateAction,\n Suspense,\n useEffect,\n useMemo,\n useState\n} from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport cc from 'classcat';\nimport { SCORE_MULTIPLIER } from 'utils/constants/app/magic-numbers-app';\nimport { ColSizes, EIconSize } from 'utils/constants/app/ui';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { lazy as lazyImport } from 'utils/generic/lazy';\nimport {\n ESPORTS_ADDITIONAL_DATA,\n isESportMOBAGames\n} from 'utils/helpers/moba-games-statistics-options';\nimport { isMobile } from 'utils/is-mobile';\nimport {\n Game,\n GameInfoAdditionalDataMap\n} from 'interfaces/sportsbook-data-levels';\nimport { AdditionalStatisticsFilterSkeleton } from './AdditionalStatisticsFilter/AdditionalStatisticsFilterSkeleton';\nimport { MOBAGamesStatisticsScoresSkeleton } from './MOBAGames/Skeleton/MOBAGamesStatisticsScoresSkeleton';\nimport { CounterStrikeStatisticsSkeleton } from 'components/GameDetails/AdditionalStatistics/CounterStrikeStatistics/Skeleton';\nimport { GlobalIcon } from 'components/GlobalIcon';\nimport { TeamCaption } from 'components/TeamCaption';\nimport { Col } from 'newcomponents/UI/Col';\nimport { Row } from 'newcomponents/UI/Row';\nimport { Skeleton } from 'newcomponents/UI/Skeleton';\nimport { useSearchParams } from 'hooks/useSearchParams';\nimport { useSbRouteMatch } from 'newhooks/generic/useSbRouteMatch';\nimport { setAdditionalStatisticsData } from 'store/actions';\nimport { getAdditionalStatisticsData } from 'store/selectors/e-sport-data';\nimport '../Simple/index.less';\nimport { Logo, Score, TeamInfo } from '../Simple/style';\nimport './index.less';\n\nconst { CounterStrikeStatistics } = lazyImport(\n () =>\n import(\n /* webpackChunkName: \"counter-strike-statistics\" */ 'components/GameDetails/AdditionalStatistics/CounterStrikeStatistics'\n )\n);\n\nconst { MOBAGamesStatistics } = lazyImport(\n () =>\n import(\n /* webpackChunkName: \"moba-games-statistics\" */ 'components/GameDetails/AdditionalStatistics/MOBAGames'\n )\n);\n\nconst { AdditionalStatisticsFilter } = lazyImport(\n () =>\n import(\n /* webpackChunkName: \"additional-statistics-filter\" */ 'components/GameDetails/AdditionalStatistics/AdditionalStatisticsFilter'\n )\n);\n\nexport const ADDITIONAL_STATISTICS_LAYOUTS = new Proxy(\n {\n [ESPORTS_ADDITIONAL_DATA.CounterStrike.alias]: {\n view: CounterStrikeStatistics,\n skeleton: CounterStrikeStatisticsSkeleton\n },\n MOBAGames: {\n view: MOBAGamesStatistics,\n skeleton: MOBAGamesStatisticsScoresSkeleton\n }\n },\n {\n get: function (target, prop) {\n if (isESportMOBAGames(prop as string)) {\n return target.MOBAGames;\n }\n\n return target[prop as string];\n }\n }\n);\n\ntype TAdditionalStatisticsProps = {\n game: Game;\n isLive: boolean;\n};\n\nexport const AdditionalStatistics = ({\n game,\n isLive\n}: TAdditionalStatisticsProps): ReactElement => {\n const dispatch = useDispatch();\n const { type } = useSearchParams();\n const {\n params: { sport }\n } = useSbRouteMatch();\n\n const additionalStatisticsData = useSelector(getAdditionalStatisticsData);\n\n const isLivePage = type === 'live' || isLive;\n const isOuthright = game.show_type === 'OUTRIGHT';\n const teamCaptionSize = isMobile() ? 'sm' : 'lg';\n const currentMapData = ESPORTS_ADDITIONAL_DATA[game.sport_alias || sport];\n\n const isMOBAGames = isESportMOBAGames(game.sport_alias || sport);\n\n const [isOpenStatistics, setIsOpenStatistics] = useState(\n isLivePage && Object.keys(ESPORTS_ADDITIONAL_DATA).includes(sport)\n );\n\n useEffect(() => {\n const maps = game.info?.additional_data?.[currentMapData.maps];\n const selected =\n additionalStatisticsData.selected === -1\n ? game.info?.additional_data?.[currentMapData.current] || -1\n : additionalStatisticsData.selected;\n\n const map: GameInfoAdditionalDataMap | undefined = (maps || []).find(\n map => Number(map[currentMapData.number]) === Number(selected)\n );\n\n if (maps?.length) {\n maps[maps.length - 1].timers = game.info?.additional_data?.timers || [];\n }\n\n dispatch(setAdditionalStatisticsData({ maps, selected, map }));\n }, [game.info?.additional_data, currentMapData]);\n\n useEffect(() => {\n return () => {\n dispatch(\n setAdditionalStatisticsData({\n selected: -1,\n map: undefined,\n maps: undefined\n })\n );\n };\n }, []);\n\n const Layout = useMemo(() => {\n return ADDITIONAL_STATISTICS_LAYOUTS[game.sport_alias || sport];\n }, [game.sport_alias, sport]);\n\n const [team1Color, team2Color] = useMemo(() => {\n const teamColors = additionalStatisticsData.map?.isHomeBlue\n ? ['blue', 'red']\n : ['red', 'blue'];\n\n if (SpringConfigs.IS_RTL) {\n teamColors.reverse();\n }\n\n return teamColors;\n }, [additionalStatisticsData.map?.isHomeBlue]);\n\n const gameTextInfo = () => {\n const mapsData = additionalStatisticsData.maps || [];\n const team1ClassColor = `eSportGame__team1__mobaGames--${team1Color}`;\n const team2ClassColor = `eSportGame__team1__mobaGames--${team2Color}`;\n\n let text = `${game.info?.score1 || 0}:${game.info?.score2 || 0}`;\n\n let teams: {\n [key: number]: number;\n } = {};\n\n mapsData.forEach(map => {\n teams = { 1: 0, 2: 0 };\n\n Object.values(map[currentMapData.outcome] || []).forEach(\n (round, index) => {\n if (typeof round === 'number') {\n teams[index + 1] = round;\n } else {\n teams[round.wonSide] += 1;\n }\n }\n );\n\n text += `, ( ${teams[1]}:${teams[2]} )`;\n });\n\n return text;\n };\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n {!isOuthright && (\n \n \n {game.info?.score1} : {game.info?.score2}\n \n \n \n \n \n \n \n \n )}\n {isLivePage ? (\n \n {game.info ? (\n
\n ) : (\n \n )}\n\n \n \n ) : null}\n\n {isMobile() && isOpenStatistics ? (\n \n {isLivePage && !game.text_info?.length && (\n
\n \n
\n )}\n\n
\n \n
\n
\n }\n >\n \n }\n >\n \n \n \n ) : null}\n
\n }>\n \n \n \n );\n};\n\ntype TAdditionalStatisticsArrowIcon = {\n isOpenStatistics: boolean;\n setIsOpenStatistics: Dispatch>;\n};\n\nconst AdditionalStatisticsArrowIcon = ({\n isOpenStatistics,\n setIsOpenStatistics\n}: TAdditionalStatisticsArrowIcon): ReactElement => {\n return (\n
\n setIsOpenStatistics(prev => !prev)}\n className={cc([\n `eSportGame__filter-caret ${\n SpringConfigs.IS_RTL ? 'expanded-flip' : ''\n }`,\n {\n 'eSportGame__filter-caret--mobile': !isMobile(),\n 'eSportGame__filter-caret-expanded': isOpenStatistics\n }\n ])}\n />\n
\n );\n};\n","import { ReactElement } from 'react';\nimport cc from 'classcat';\nimport { isMobile } from 'utils/is-mobile';\nimport { CounterStrikeStatisticsScoresSkeleton } from './CounterStrikeStatisticsScoresSkeleton';\nimport { Skeleton } from 'newcomponents/UI/Skeleton';\nimport './index.less';\nimport '../index.less';\n\ntype TCounterStrikeStatisticsSkeletonProps = {\n className?: string;\n};\n\nexport const CounterStrikeStatisticsSkeleton = ({\n className = ''\n}: TCounterStrikeStatisticsSkeletonProps): ReactElement => {\n return (\n \n \n
\n \n \n \n {!isMobile() && (\n \n \n \n )}\n
\n\n
\n \n \n \n {!isMobile() && (\n \n \n \n )}\n
\n \n \n \n );\n};\n","import styled from 'styled-components';\nimport { isMobile } from 'utils/is-mobile';\n\nexport const Score = styled.div`\n color: var(--v3-text-color);\n left: 0;\n top: 16px;\n font-size: 16px;\n font-weight: 600;\n position: absolute;\n letter-spacing: 0.64px;\n transform: translateX(-50%);\n ${!isMobile() &&\n `\n top: 5px;\n line-height: 24px;\n font-size: 24px;\n `}\n`;\n\nconst PADDING_INCREMENT = 30;\n\nexport const TeamInfo = styled.div<{\n paddingLeft?: number;\n paddingRight?: number;\n}>`\n display: flex;\n flex-direction: ${isMobile() ? 'column' : 'row'};\n justify-content: center;\n align-items: center;\n text-align: center;\n padding: ${isMobile() ? '12px' : '8px 16px'};\n ${props =>\n !isMobile() &&\n `\n ${\n props.paddingLeft !== undefined\n ? `padding-left: ${props.paddingLeft + PADDING_INCREMENT}px;`\n : ''\n }\n ${\n props.paddingRight !== undefined\n ? `padding-right: ${props.paddingRight + PADDING_INCREMENT}px;`\n : ''\n }\n padding-top: 0;\n padding-bottom: 0;\n line-height: 24px;\n `}\n`;\n\nexport const Logo = styled.div<{ isFirstLogo?: boolean }>`\n height: 32px;\n width: 32px;\n ${props => !isMobile() && props.isFirstLogo && 'order: 2;'};\n border-radius: 50%;\n background: rgba(185, 185, 185, 0.15);\n display: flex;\n padding: 4px;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n`;\n","import { ReactElement } from 'react';\nimport { ColSizes, ROW_GUTTER } from 'utils/constants/app/ui';\nimport { createArray } from 'utils/helpers/create-fake-array';\nimport { ESportsbookLayoutTypes } from 'interfaces/sportsbook-configs';\nimport { Col } from 'newcomponents/UI/Col';\nimport { Row } from 'newcomponents/UI/Row';\nimport { Skeleton } from 'newcomponents/UI/Skeleton';\nimport { useSportsbookConfigs } from 'hooks/sportsbook/useSportsbookConfigs';\nimport './index.less';\n\nconst MARKET_GROUPS_LENGTH = 3;\nconst EVENTS_DEFAULT_COUNT = 9;\nconst MARKETS_GROUPS_COUNT = 10;\nconst MARKETS_SKELETON_WIDTH = 50;\n\nexport const MarketsListOnlySkeleton = ({\n eventsSkeletonCount = EVENTS_DEFAULT_COUNT\n}: {\n eventsSkeletonCount?: number;\n}): ReactElement => {\n const configs = useSportsbookConfigs();\n const isEuropeanLayout =\n configs.spbLayoutType === ESportsbookLayoutTypes.EUROPEAN;\n\n return (\n <>\n
\n {createArray(MARKETS_GROUPS_COUNT).map(index => (\n \n ))}\n
\n {createArray(MARKET_GROUPS_LENGTH).map(index => (\n \n \n \n \n \n \n \n \n \n \n {createArray(eventsSkeletonCount).map(key => (\n \n \n \n ))}\n \n \n ))}\n \n );\n};\n","import { ReactElement } from 'react';\nimport { Header } from './style';\nimport { Skeleton } from 'newcomponents/UI/Skeleton';\nimport './index.less';\n\nexport const MatchHeaderSkeleton = (): ReactElement => {\n return (\n
\n \n \n \n
\n );\n};\n","import styled from 'styled-components';\nimport { innerWidthThreshold } from 'utils/constants/app/magic-numbers-app';\n\nexport const Header = styled.div`\n height: 120px;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: space-around;\n position: relative;\n overflow: hidden;\n border-radius: 6px;\n margin-bottom: 8px;\n flex-shrink: 0;\n background: var(--v3-black-0);\n`;\n\nexport const StyledImg = styled.img`\n object-fit: cover;\n width: 100%;\n height: 100%;\n border-radius: 6px;\n`;\n\nexport const Content = styled.div`\n width: 100%;\n margin-top: -2%;\n height: 54%;\n display: flex;\n position: absolute;\n align-items: center;\n justify-content: space-around;\n padding: 0\n ${window.innerWidth > innerWidthThreshold.WINDOW_WIDTH_THRESHOLD_1520\n ? '15%'\n : '10%'};\n font-size: 16px;\n`;\n\nexport const TeamFlag = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n max-height: 44px;\n max-width: 44px;\n\n & img {\n height: 100%;\n width: auto;\n }\n`;\n\nexport const Flag = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: var(--v3-black-0);\n color: var(--v3-text-color);\n border-radius: 50%;\n font-size: 16px;\n`;\n\nexport const MatchDetails = styled.div<{ $isOneGame: boolean }>`\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n padding: 1% 0;\n font-weight: 400;\n line-height: 1;\n text-align: center;\n color: var(--v3-white);\n padding: 0\n ${window.innerWidth > innerWidthThreshold.WINDOW_WIDTH_THRESHOLD_1350\n ? '10%'\n : '5%'};\n ${props =>\n !props.$isOneGame &&\n 'border-left: 2px solid var(--v3-white); margin-top: 20px; text-align: start; padding: 0 0 0 24px;'}\n`;\n\nexport const CompetitionName = styled.div`\n cursor: default;\n font-size: 14px;\n line-height: 20px;\n`;\n\nexport const StartDay = styled.div`\n font-weight: 600;\n cursor: default;\n line-height: 24px;\n`;\n\nexport const StartTime = styled.div`\n cursor: default;\n font-size: 14px;\n line-height: 20px;\n`;\n\nexport const TeamName = styled.div`\n font-weight: 600;\n cursor: default;\n color: var(--v3-white);\n text-align: center;\n position: absolute;\n bottom: -27%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n width: 10vw;\n line-height: 24px;\n`;\n\nexport const SportImageOverlay = styled.div`\n background: rgb(0, 0, 0, 0.5);\n width: 100%;\n height: 100%;\n position: absolute;\n border-radius: 6px;\n`;\n\nexport const Avatar = styled.div`\n color: var(--v3-text-color);\n background-color: var(--v3-black-6);\n font-size: 16px;\n width: 44px;\n height: 44px;\n border-radius: 100%;\n display: flex;\n line-height: 1;\n align-items: center;\n justify-content: center;\n`;\n","import { ReactElement } from 'react';\nimport cc from 'classcat';\nimport { EIconSize } from 'utils/constants/app/ui';\nimport { isMobile } from 'utils/is-mobile';\nimport { CardWrapper } from './style';\nimport { Skeleton } from 'newcomponents/UI/Skeleton';\nimport './index.less';\n\ntype TProps = {\n sportAlias?: string;\n};\n\nconst matchInfoNameSports = [\n 'PistolShooting',\n 'PistolHead2Head',\n 'ArcheryH2H',\n 'CompoundArchery',\n 'Archery',\n 'BasketballShots'\n];\n\nexport const MatchInfoCardSkeleton = (props: TProps): ReactElement => {\n return (\n <>\n \n \n \n \n \n {isMobile() && matchInfoNameSports.includes(props.sportAlias || '') && (\n
\n
\n \n\n \n \n \n
\n
\n )}\n \n );\n};\n","import styled from 'styled-components';\nimport { isMobile } from 'utils/is-mobile';\nimport { TeamLogo as TeamLogoComponent } from 'components/TeamLogo';\n\nexport const CardWrapper = styled.div<{\n $bgImageSrc?: string;\n}>`\n background: var(--v3-black-0);\n ${props =>\n props.$bgImageSrc &&\n `background: url(${props.$bgImageSrc}) rgba(0, 0, 0, 0.5) no-repeat center center;`}\n background-blend-mode: multiply;\n background-size: cover;\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n ${isMobile() ? 'margin: 8px 12px 12px' : 'margin-bottom: 8px'};\n height: ${isMobile() ? '162px' : '128px'};\n border-radius: 6px;\n color: var(--v3-black-0);\n padding: 12px;\n`;\n\nexport const CardHeader = styled.div`\n color: var(--v3-black-0);\n flex: 0.0000001;\n display: flex;\n justify-content: space-between;\n align-items: flex-end;\n margin-bottom: 6px;\n`;\n\nexport const CardBody = styled.div`\n color: var(--v3-black-0);\n border-top: 1px solid #919191;\n padding-top: 3px;\n flex: 1;\n display: flex;\n justify-content: space-between;\n`;\n\nexport const CardFooter = styled.div`\n color: white;\n border-top: 1px solid #919191;\n font-size: 12px;\n flex: 0.0000001;\n padding-top: 6px;\n line-height: 100%;\n`;\n\nexport const TimestampIndicator = styled.div`\n color: white;\n background: var(--v3-red-5);\n border-radius: 4px;\n padding: 3px 8px;\n font-size: 12px;\n line-height: 12px;\n white-space: nowrap;\n`;\n\nexport const LocationExtra = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-grow: 1;\n`;\n\nexport const CompetitionName = styled.div`\n color: white;\n font-size: 13px;\n margin-left: 10px;\n`;\n\nexport const CardBodyTeams = styled.div<{\n $alignment?: string;\n}>`\n display: flex;\n flex-direction: column;\n ${props =>\n `justify-content: ${props.$alignment ? props.$alignment : 'flex-end'};`}\n white-space: nowrap;\n overflow: hidden;\n`;\n\nexport const TeamLogo = styled(TeamLogoComponent)<{\n $sizeByPixels?: number;\n}>`\n ${props =>\n `width: ${props.$sizeByPixels ? `${props.$sizeByPixels}px` : '24px'};\n height: ${props.$sizeByPixels ? `${props.$sizeByPixels}px` : '24px'};`}\n font-size: 11px;\n line-height: 11px;\n`;\n\nexport const TeamName = styled.div`\n font-size: 12px;\n line-height: 12px;\n flex: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n color: white;\n`;\n\nexport const TeamCredentialsWrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: flex-start;\n gap: ${isMobile() ? '8px' : '10px'};\n margin-bottom: 4px;\n height: ${isMobile() ? '20px' : '24px'};\n\n & img {\n width: 24px;\n height: 24px;\n font-size: 11px;\n line-height: 11px;\n }\n`;\n\nexport const Spacer = styled.div`\n flex: 1;\n`;\n","import React from 'react';\nimport cc from 'classcat';\nimport './index.less';\n\ntype Props = {\n size?: 'default' | 'large';\n className?: string;\n emptyOddStyle?: boolean;\n colorVariables?: Record;\n};\n\nexport const EmptyOdd = React.memo(\n ({ size, className = '', emptyOddStyle, colorVariables }: Props) => {\n return (\n e.stopPropagation()}\n style={\n colorVariables && {\n background: colorVariables.oddsBgColor,\n border: `1px solid ${colorVariables.oddBorderColor}`\n }\n }\n >\n \n -\n \n {emptyOddStyle ?
-
: null}\n \n );\n }\n);\n","import { memo } from 'react';\nimport { useSelector } from 'react-redux';\nimport { isMobile } from 'utils/is-mobile';\nimport { EmptyOdd } from 'components/Odds/EmptyOdd';\nimport { getColCount } from 'store/selectors/app-data';\n\ntype Props = {\n size?: 'default' | 'large';\n isExpanded?: boolean;\n sportName?: string;\n colorVariables?: Record;\n};\n\nconst ODDS_GROUP_COUNTS = {\n two: 2,\n three: 3\n};\n\nexport const EmptyOddGroup = memo(\n ({ size, sportName, isExpanded, colorVariables }: Props) => {\n const colCount =\n useSelector(getColCount) ||\n (!isExpanded && isMobile() && sportName?.toLocaleLowerCase() !== 'soccer'\n ? ODDS_GROUP_COUNTS.two\n : ODDS_GROUP_COUNTS.three);\n\n if (!colCount) {\n return null;\n }\n\n return (\n <>\n {new Array(colCount).fill('').map((_, id) => (\n \n ))}\n \n );\n }\n);\n","import {\n forwardRef,\n ReactElement,\n Ref,\n SyntheticEvent,\n useId,\n useMemo\n} from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport cc from 'classcat';\nimport { convert } from 'utils/betslip/odd-formats-helper';\nimport { EIconSize } from 'utils/constants/app/ui';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { fireEvent } from 'utils/generic/event-bus';\nimport { isMobile } from 'utils/is-mobile';\nimport { calculateBoostedOdds } from 'utils/sportsbook/calculate-boosted-odds';\nimport { getIndicatorPosition } from 'utils/sportsbook/get-inidcator-position';\nimport { FULL_WIDTH_PERCENTAGE } from './index';\nimport { GlobalIcon } from 'components/GlobalIcon';\nimport { ERecaptchaEventBusActionTypes } from 'components/Recaptcha/types';\nimport { OddIndicator } from 'newcomponents/Shared/sportsbook/OddIndicator';\nimport { usePrevious } from 'hooks/usePrevious';\nimport { useEventbus } from 'newhooks/generic/useEventbus';\nimport { setQuickBetSelectedEventId } from 'store/actions';\nimport { EBoostType } from 'store/reducers/sport-data';\nimport { getRecaptchaEnabled } from 'store/selectors/app-data';\nimport {\n getQuickBetEnabled,\n getQuickBetSelectedEventId,\n getQuickBetStake,\n getShouldShowQuickBetInfoPopover\n} from 'store/selectors/betslip';\nimport { getBoostedOdds } from 'store/selectors/sport-data';\nimport type { TOddProps } from './Odd';\n\nexport const OddButton = forwardRef(\n (\n {\n size,\n visible,\n parent,\n handicap,\n name,\n value,\n style,\n isBlocked,\n fullName,\n marketType,\n type1,\n base,\n gameId,\n noBoosted,\n coeficient,\n oddFormat,\n isLive,\n oddTextColor,\n isUsaSinglePage\n }: TOddProps & { visible: boolean },\n buttonRef\n ): ReactElement => {\n //we cant use eventId as there can be odds with same id in same page (like in classic sportsbook when single view is open and same odd exist in games list)\n const uniqueId = useId();\n const dispatch = useDispatch();\n\n const quickBetStake = useSelector(getQuickBetStake);\n const quickBetSelectedEventId = useSelector(getQuickBetSelectedEventId);\n const boostedOdds = useSelector(getBoostedOdds);\n const prevCoefficient = usePrevious(coeficient);\n const recaptchaEnabled = useSelector(getRecaptchaEnabled);\n const isQuickBetEnabled = useSelector(getQuickBetEnabled);\n const shouldShowQuickBetInfoPopover = useSelector(\n getShouldShowQuickBetInfoPopover\n );\n\n const isOddActive =\n parent.value.includes(value) || uniqueId === quickBetSelectedEventId;\n\n const handleClickRecaptchaWrapper = (event: SyntheticEvent) => {\n event?.stopPropagation();\n\n if (!coeficient || coeficient === Infinity) {\n return;\n }\n\n if (isBlocked) {\n return;\n }\n\n if (isQuickBetEnabled && quickBetStake) {\n dispatch(setQuickBetSelectedEventId(uniqueId));\n }\n\n if (\n isQuickBetEnabled &&\n !shouldShowQuickBetInfoPopover &&\n recaptchaEnabled\n ) {\n fireEvent({\n key: ERecaptchaEventBusActionTypes.Validate,\n payload: uniqueId\n });\n\n return;\n }\n\n handleClick();\n };\n\n const handleClick = (): void => {\n if (isOddActive) {\n parent.onChange(value);\n } else {\n parent.onChange(value, coeficient);\n }\n };\n\n useEventbus(\n {\n [ERecaptchaEventBusActionTypes.Verified]: ({\n payload\n }: {\n payload: string;\n }) => {\n if (payload === uniqueId) {\n handleClick();\n }\n }\n },\n [parent.onChange]\n );\n\n const isBoostedOdd =\n !noBoosted &&\n boostedOdds?.[gameId]?.[value] &&\n (boostedOdds?.[gameId]?.[value].type === EBoostType.ALL ||\n boostedOdds?.[gameId]?.[value].type ===\n (isLive ? EBoostType.LIVE : EBoostType.PREMATCH));\n\n const getCanShowHandicaps = () => {\n if (isMobile() || parent.showHandicaps) {\n if (parent.hideHandicapName && typeof base !== 'number') {\n return false;\n }\n\n return true;\n }\n\n return false;\n };\n\n const indicatorValue = useMemo(() => {\n return getIndicatorPosition(prevCoefficient, coeficient);\n }, [coeficient, prevCoefficient]);\n\n return (\n }\n className={cc([\n 'xOddButton',\n {\n 'xOddButton--colCount': parent.marketColCount,\n 'xOddButton--active': isOddActive,\n 'xOddButton--justifyBetween':\n !!handicap || (isMobile() && !!name) || getCanShowHandicaps(),\n 'xOddButton--disabled': !!isBlocked,\n 'xOddButton--large': size === 'large',\n 'xOddButton--whiteText': parent.whiteText,\n oddOverflow: isBoostedOdd,\n 'xOddButton--defaultHover':\n !isMobile() && !isOddActive && !parent.whiteText && !isBlocked,\n usaOdds: isUsaSinglePage,\n [`x-odd__btn--${indicatorValue}`]: isUsaSinglePage && indicatorValue\n }\n ])}\n >\n {!!handicap && (\n \n {handicap}\n \n )}\n {getCanShowHandicaps() && (\n \n {!parent.hideHandicapName\n ? (marketType && marketType.includes('Handicap')\n ? type1\n : name) || ''\n : ''}\n {typeof base === 'number' && ` (${base})`}\n \n )}\n \n {isBlocked ? (\n \n ) : isBoostedOdd ? (\n
\n \n \n {convert(coeficient, oddFormat)}\n {+SpringConfigs.PREVIOUS_BOOSTED_ODDS ? (\n \n {convert(calculateBoostedOdds(coeficient), oddFormat)}\n \n ) : null}\n \n
\n ) : (\n convert(coeficient, oddFormat)\n )}\n {prevCoefficient && (\n \n )}\n \n \n );\n }\n);\n","import { Popover } from 'antd';\nimport cc from 'classcat';\nimport { isMobile } from 'utils/is-mobile';\nimport { ButtonPositionType, TPopover } from 'interfaces/betslip';\nimport { ConfirmationPopover } from 'components/Shared/ConfirmationPopover/ConfirmationPopover';\n\ntype TOddPopoverProps = PropsWithChildren & {\n visible: boolean;\n getButtonPosition: () => ButtonPositionType;\n hidePopover: () => void;\n popover?: TPopover;\n};\n\nexport const OddPopover = ({\n children,\n popover,\n hidePopover,\n visible,\n getButtonPosition\n}: TOddPopoverProps) => {\n return (\n }\n placement={getButtonPosition()}\n trigger=\"click\"\n visible={visible}\n onVisibleChange={visible => !visible && hidePopover()}\n overlayClassName={cc([\n 'quick-bet-confirmation-popover',\n {\n 'quick-bet-confirmation-popover-right':\n isMobile() && getButtonPosition() === 'topRight',\n 'quick-bet-confirmation-popover-hide': popover?.validateRecaptcha\n }\n ])}\n destroyTooltipOnHide\n {...(isMobile()\n ? {\n getPopupContainer: () =>\n document.querySelector('.advancedMatchCardInLineWrapper') ||\n document.querySelector('.single-game-markets') ||\n document.querySelector('.markets__body-container') ||\n document.body\n }\n : {})}\n >\n {children}\n \n );\n};\n","import { CSSProperties, memo, ReactElement } from 'react';\nimport { TPopover } from 'interfaces/betslip';\nimport { OddButton } from './OddButton';\nimport { OddPopover } from './OddPopover';\nimport { ConfirmationPopover } from 'components/Shared/ConfirmationPopover/ConfirmationPopover';\nimport { useOddButtonPosition } from 'newhooks/sportsbook/useOddButtonPosition';\n\nexport type TOddProps = {\n parent: {\n value: string[];\n onChange: Function;\n marketColCount: number;\n whiteText?: boolean;\n showHandicaps?: boolean;\n hideHandicapName?: boolean;\n popover?: TPopover;\n hidePopover: () => void;\n };\n value: string;\n coeficient: number;\n oddFormat: number;\n handicap?: string;\n name?: string;\n base?: string | number;\n marketType?: string;\n type1?: string;\n gameId: number | string;\n size: 'default' | 'large';\n style?: CSSProperties;\n noBoosted?: boolean;\n fullName?: boolean;\n isBlocked?: number;\n isLive?: boolean;\n oddTextColor?: string;\n isUsaSinglePage?: boolean;\n};\n\nexport const Odd = memo(\n ({\n parent,\n value,\n coeficient,\n oddFormat,\n name,\n base,\n marketType,\n type1,\n handicap,\n fullName,\n gameId,\n noBoosted,\n size,\n style,\n isBlocked,\n isLive,\n oddTextColor,\n isUsaSinglePage\n }: TOddProps): ReactElement => {\n const visible = Boolean(parent.popover?.id && parent.popover?.id === value);\n\n const { buttonRef, getButtonPosition } = useOddButtonPosition();\n\n if (parent?.popover?.validateRecaptcha && visible) {\n return (\n <>\n \n \n \n );\n }\n\n return (\n \n \n \n );\n }\n);\n","import { CSSProperties, memo, ReactElement, useMemo } from 'react';\nimport cc from 'classcat';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { createArray } from 'utils/helpers/create-fake-array';\nimport { orderOptions } from 'utils/sportsbook/order-correct-score-market';\nimport { TPopover } from 'interfaces/betslip';\nimport { EmptyOddGroup } from './EmptyOddGroup';\nimport { Odd } from './Odd';\nimport { EmptyOdd } from 'components/Odds/EmptyOdd';\n// eslint-disable-next-line import/order\nimport './oddButtonStyles.less';\n\nexport const FULL_WIDTH_PERCENTAGE = 100;\n\nconst TWO_COLUMN_MARKET = [\n 'CorrectScore',\n 'SetCorrectScore',\n 'GameCorrectScore'\n];\n\nexport type TOddOptions = {\n value: string;\n coeficient: number;\n handicap?: string;\n}[];\n\ntype TProps = {\n marketType?: string;\n value?: string[] | string;\n options?: TOddOptions;\n onChange?: Function;\n size?: 'default' | 'large';\n gameId?: number | string;\n marketColCount?: number;\n noBoosted?: boolean;\n whiteText?: boolean;\n showHandicaps?: boolean;\n hideHandicapName?: boolean;\n fullName?: boolean;\n popover?: TPopover;\n hidePopover?: () => void;\n isCorrectScoreOrdered?: boolean;\n isBlocked?: number;\n isLive?: boolean;\n emptyOddStyle?: boolean;\n style?: CSSProperties;\n oddTextColor?: string;\n colorVariables?: Record;\n isUsaSinglePage?: boolean;\n oddFormat: number;\n};\n\nif (SpringConfigs.IS_RTL) {\n import('./rtl.less');\n}\n\nconst MARKET_COL_COUNT_DEFAULT = 3;\nexport const Odds = memo((props: TProps): ReactElement => {\n const isCorrectScore = props.marketType?.includes('CorrectScore');\n\n const isTwoColumnMarket = TWO_COLUMN_MARKET.includes(props.marketType || '');\n\n const size = props.size || 'default';\n\n const marketColCount = isCorrectScore\n ? isTwoColumnMarket\n ? props.marketColCount\n : MARKET_COL_COUNT_DEFAULT\n : props.marketColCount;\n\n const options = useMemo(() => {\n let result: TOddOptions | undefined;\n\n if (isCorrectScore) {\n let correctScoreOptions: TOddOptions | undefined;\n\n if (!props.isCorrectScoreOrdered) {\n correctScoreOptions = props.options && orderOptions(props.options);\n } else {\n correctScoreOptions = props.options;\n }\n\n result = correctScoreOptions?.filter(option =>\n isTwoColumnMarket ? !!option : true\n );\n } else {\n result = props.options;\n }\n\n return result;\n }, [\n props.options,\n props.isCorrectScoreOrdered,\n isCorrectScore,\n isTwoColumnMarket\n ]);\n\n const additionalEmptyMarketsCount =\n Math.ceil((options?.length || 1) / (marketColCount || 1)) *\n (marketColCount || 1) -\n (options?.length || 1);\n\n return options?.length ? (\n <>\n {options.map((option, index) =>\n !option ? (\n \n -\n \n ) : (\n void;\n }\n }\n {...option}\n style={props.style}\n oddTextColor={props.oddTextColor}\n />\n )\n )}\n {createArray(additionalEmptyMarketsCount).map(i => (\n \n ))}\n \n ) : (\n \n );\n});\n","export enum ERecaptchaEventBusActionTypes {\n Validate = 'validateRecaptcha',\n Verified = 'recaptchaVerified'\n}\n","import styled from 'styled-components';\n\nconst matchResultColors: { [key: string]: string } = {\n D: 'var(--v3-yellow-7)',\n W: 'var(--v3-cyan-base)',\n L: 'var(--v3-red-base)'\n};\n\nexport const StatisticsBanner = styled.div<{\n bgImageSrc?: string;\n fullHeight?: boolean;\n $loading?: boolean;\n}>`\n ${props =>\n !props.$loading &&\n `background: url(${props.bgImageSrc}) rgba(0, 0, 0, 0.5) no-repeat center center;`}\n background-blend-mode: multiply;\n background-size: cover;\n height: 140px;\n margin: 8px 8px;\n border-radius: 4px;\n color: var(--v3-black-0);\n padding: 12px;\n`;\nexport const Header = styled.div`\n display: flex;\n justify-content: space-between;\n font-size: 12px;\n color: var(--v3-black-15);\n`;\nexport const GameWrapper = styled.div<{\n fullHeight?: boolean;\n}>`\n color: var(--v3-black-0);\n display: flex;\n justify-content: space-between;\n margin-top: ${props => (props.fullHeight ? '2px' : '12px')};\n align-items: center;\n`;\nexport const Result = styled.span<{ resultKey: string }>`\n color: ${props => matchResultColors[props.resultKey]};\n background-color: var(--v3-black-100);\n border-radius: 2px;\n width: 16px;\n height: 16px;\n text-align: center;\n font-size: 11px;\n margin: 1px;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const GameInfo = styled.p`\n font-size: 11px;\n color: var(--v3-white);\n padding-left: 13px;\n margin-bottom: 5px;\n`;\n","import styled from 'styled-components';\n\nexport const Logo = styled.span<{ hasImage: boolean }>`\n color: var(--v3-text-color);\n ${props => !props.hasImage && 'background: var(--v3-black-6);'}\n border-radius: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n\nexport const Name = styled.span<{ whiteText?: boolean }>`\n line-height: 16px;\n height: 20px;\n display: flex;\n align-items: center;\n color: var(--v3-${props => (props.whiteText ? 'white' : 'text-color')});\n`;\n\nexport const Container = styled.span<{\n reverse: boolean;\n size: 'sm' | 'md' | 'lg';\n}>`\n flex-direction: ${props => (props.reverse ? 'row-reverse' : 'row')};\n display: inline-flex;\n align-items: center;\n flex: 1;\n ${props => {\n const dir = props.reverse ? 'right' : 'left';\n\n switch (props.size) {\n case 'lg':\n return `\n ${Logo} {\n width: 36px;\n height: 36px;\n font-size: 10px;\n line-height: 10px;\n }\n ${Name} {\n font-size: 16px;\n margin-${dir}: 11px;\n font-weight: 400;\n }\n `;\n case 'md':\n return `\n ${Logo} {\n width: 20px;\n min-width: 20px;\n height: 20px;\n font-size: 11px;\n line-height: 11px;\n }\n ${Name} {\n font-size: 12px;\n margin-${dir}: 8px;\n font-weight: 400;\n }\n `;\n case 'sm':\n default:\n return `\n ${Logo} {\n width: 18px;\n height: 18px; \n font-size: 11px;\n line-height: 11px;\n }\n ${Name} {\n font-size: 12px;\n margin-${dir}: 4px;\n }\n `;\n }\n }};\n`;\n","import { ReactElement, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport cc from 'classcat';\nimport { CSSProperties } from 'styled-components';\nimport { Container, Logo, Name } from './style';\nimport { GameInfo } from 'components/Shared/SportsbookSingleGame/Banner/style';\nimport { TeamLogo } from 'components/TeamLogo';\nimport './index.less';\n\ntype Props = {\n name?: string;\n logo?: boolean;\n size?: 'sm' | 'md' | 'lg';\n reverse?: boolean;\n nameStyle?: CSSProperties;\n teamId?: number;\n competition?: boolean;\n dontShowTitle?: boolean;\n whiteText?: boolean;\n entry?: {\n EntityId: number | string;\n GeneralInfoWDL?: Array;\n Position?: number;\n Points?: number;\n };\n className?: string;\n};\n\nexport const TeamCaption = (props: Props): ReactElement => {\n const [hasImage, setHasImage] = useState(false);\n const { t } = useTranslation();\n\n return (\n \n {props.logo && (\n \n \n \n {props.name ? String(props.name).substr(0, 2).toUpperCase() : '-'}\n \n \n \n )}\n
\n {!props.dontShowTitle && (\n \n {props.name}\n \n )}\n {(props.entry?.Position || props.entry?.Points) && (\n \n {`${\n props.entry?.Position &&\n `${t('sportsbook.position')}: ${props.entry?.Position} |`\n } ${\n props.entry?.Points &&\n `${t('sportsbook.point(s)')}: ${props.entry?.Points}`\n }`}\n \n )}\n
\n \n );\n};\n","import { GLOBALS } from 'utils/generic/global-variables';\n\nconst LINK =\n GLOBALS.appConfigs.statisticsLinkLogoV3 ||\n 'https://statistics.betconstruct.com';\n\nexport const TEAM_LOGO_LINK = `${LINK}/images/e/`;\nexport const COMPETITION_LOGO_LINK = `${LINK}/images/c/`;\n","import { useEffect, useState } from 'react';\nimport { SkeletonAvatarSize } from 'utils/constants/app/ui';\nimport { COMPETITION_LOGO_LINK, TEAM_LOGO_LINK } from 'utils/constants/logos';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { Skeleton } from 'newcomponents/UI/Skeleton';\nimport { useMounted } from 'hooks/useMounted';\nimport './index.less';\n\ntype Props = {\n teamId?: number;\n children?: JSX.Element;\n size: 'sm' | 'md' | 'lg';\n setHasImage?: (hasImage: boolean) => void;\n competition?: boolean;\n imageLoadingType?: 'lazy' | 'eager';\n sizeByPixels?: number;\n};\n\nconst TEAM_ID_DIVISOR = 2000;\n\nexport const TeamLogo = ({\n teamId,\n children,\n size,\n setHasImage,\n competition,\n imageLoadingType = 'lazy',\n sizeByPixels\n}: Props): JSX.Element | null => {\n const [imageSrc, setImageSrc] = useState();\n const [loading, setLoading] = useState(!!teamId);\n const [onLoaded, setOnLoaded] = useState(false);\n const imageSizeVar = size === 'sm' ? 's' : size === 'md' ? 'm' : 'b';\n const { mounted } = useMounted();\n\n useEffect(() => {\n if (!teamId) {\n return;\n }\n\n if (!SpringConfigs.TEAM_LOGOS) {\n setLoading(false);\n setHasImage?.(false);\n\n return;\n }\n\n const img = new Image();\n img.src = `${\n competition ? COMPETITION_LOGO_LINK : TEAM_LOGO_LINK\n }${imageSizeVar}/${Math.floor(teamId / TEAM_ID_DIVISOR)}/${teamId}.webp`;\n\n img.onload = () => {\n if (!mounted) {\n return;\n }\n\n setImageSrc(img.src);\n setLoading(false);\n setHasImage?.(true);\n };\n\n img.onerror = () => {\n if (!mounted) {\n return;\n }\n\n setImageSrc('');\n setHasImage?.(false);\n setLoading(false);\n };\n }, [teamId]);\n\n if (loading && SpringConfigs.TEAM_LOGOS) {\n return (\n \n );\n }\n\n if (imageSrc && SpringConfigs.TEAM_LOGOS) {\n return (\n <>\n {!onLoaded && (\n \n )}\n
\n setOnLoaded(true)}\n />\n
\n \n );\n }\n\n return children || null;\n};\n","import { useRef } from 'react';\n\nexport const usePrevious = (value: T, initial?: T): T | undefined => {\n const ref = useRef({ target: value, previous: initial });\n\n if (JSON.stringify(ref.current.target) !== JSON.stringify(value)) {\n // The value changed.\n ref.current.previous = ref.current.target;\n ref.current.target = value;\n }\n\n return ref.current.previous as T;\n};\n","export enum EMatchStatuses {\n lose = 'lose',\n draw = 'draw',\n win = 'win'\n}\n\nexport type TPopoverPositions =\n | 'bottomLeft'\n | 'bottomRight'\n | 'topLeft'\n | 'topRight';\n\nexport type TPoint = `${number | string}` | '-';\n\nexport type TTeam = {\n id: number;\n name: string;\n};\n\nexport type TMatch = {\n id: number;\n score: string;\n status: EMatchStatuses;\n teams?: string;\n};\n\nexport type TStatistic = {\n HomeTeam: TTeam[];\n AwayTeam: TTeam[];\n Id: number;\n CompetitionId: number;\n Date: string;\n HomeScore: number;\n AwayScore: number;\n CompetitionName: string;\n};\n\nexport type TStatisticTable = {\n EntityId: number;\n EntityName: string;\n PointsTotal: number;\n PositionTotal: number;\n PlayedTotal: number;\n};\n\ntype TStatisticCurrentMatch = {\n Id: number;\n Date: string;\n HomeTeamName: string;\n AwayTeamName: string;\n CompetitionId: number;\n CompetitionName: string;\n HomeScore: number;\n AwayScore: number;\n};\n\nexport type TMatchStatisticResponse = {\n HomeTeamId: number;\n AwayTeamId: number;\n H2HMatches: TStatistic[];\n UpcomingMatchesEnt1: TStatistic[];\n UpcomingMatchesEnt2: TStatistic[];\n PlayedMatchesEnt1: TStatistic[];\n PlayedMatchesEnt2: TStatistic[];\n H2HleagueTable: TStatisticTable[];\n CurrentMatch: TStatisticCurrentMatch;\n};\n\nexport type TMatchStatistic = {\n competition: {\n id: number;\n name: string;\n };\n\n h2h: {\n team: TTeam;\n matches: TMatch[];\n all: TPoint;\n h: TPoint;\n a: TPoint;\n it: TPoint;\n gt?: TPoint;\n }[];\n\n leagueResults: {\n team: TTeam;\n pos: TPoint;\n pld: TPoint;\n pts: TPoint;\n nextMatch: TPoint;\n }[];\n\n lastGames: {\n team: TTeam;\n matches: TMatch[];\n it: TPoint;\n gt: TPoint;\n }[];\n};\n","import { ReactElement } from 'react';\nimport cc from 'classcat';\nimport { isRtl } from 'utils/constants/app/rtl';\nimport { EIconSize } from 'utils/constants/app/ui';\nimport { isMobile } from 'utils/is-mobile';\nimport { ESportsbookLayoutTypes } from 'interfaces/sportsbook-configs';\nimport { Skeleton } from 'newcomponents/UI/Skeleton';\nimport { useSportsbookConfigs } from 'hooks/sportsbook/useSportsbookConfigs';\nimport './index.less';\n\ntype TGameHeaderSkeletonProps = {\n customArrow?: boolean;\n esport?: boolean;\n};\n\nexport const GameHeaderSkeleton = ({\n esport\n}: TGameHeaderSkeletonProps): ReactElement => {\n const configs = useSportsbookConfigs();\n const isEuropeanLayout =\n configs.spbLayoutType === ESportsbookLayoutTypes.EUROPEAN;\n\n return (\n \n
\n \n \n \n \n {!isMobile() && esport && (\n
\n \n \n
\n )}\n
\n \n \n );\n};\n","import {\n memo,\n ReactElement,\n Suspense,\n SyntheticEvent,\n useCallback,\n useEffect,\n useMemo,\n useState\n} from 'react';\nimport { Popover } from 'antd';\nimport cc from 'classcat';\nimport { EContainerIconSize, EIconSize } from 'utils/constants/app/ui';\nimport { MILLISECONDS_IN_SECOND } from 'utils/constants/dateInfo/time-numbers';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { lazy } from 'utils/generic/lazy';\nimport { isMobile } from 'utils/is-mobile';\nimport { getPopoverPlacement } from 'utils/sportsbook/match-statistic';\nimport { TPopoverPositions } from 'interfaces/match-statistic';\nimport { EventAction } from 'components/EventAction';\nimport { GlobalIcon } from 'components/GlobalIcon';\nimport { useMounted } from 'hooks/useMounted';\nimport { MatchStatisticPopoverSkeleton } from '../MatchStatisticPopover/Skeleton';\nimport './index.less';\n\nconst { MatchStatisticPopover } = lazy(\n () =>\n import(\n /* webpackChunkName: \"match-statistic-popover\" */ '../MatchStatisticPopover'\n )\n);\n\ntype TProps = {\n matchId: number;\n showStatisticInPopover?: boolean;\n size?: EIconSize._16 | EIconSize._20;\n iconContainerSize?:\n | EContainerIconSize.SMALL\n | EContainerIconSize.MIDDLE\n | EContainerIconSize.LARGE\n | 0;\n className?: string;\n};\n\nexport const MatchStatistic = memo(\n ({\n matchId,\n showStatisticInPopover = true,\n size,\n iconContainerSize,\n className = ''\n }: TProps): ReactElement => {\n const [triggerId] = useState(\n `popover-trigger-${Math.floor(Math.random() * MILLISECONDS_IN_SECOND)}`\n );\n\n const [placement, setPLacement] = useState(null);\n\n const { mounted } = useMounted();\n\n useEffect(() => {\n if (showStatisticInPopover && !isMobile() && mounted.current) {\n const handleSetPlacement = () => {\n setPLacement(getPopoverPlacement(triggerId));\n };\n\n handleSetPlacement();\n\n window.addEventListener('scroll', handleSetPlacement);\n\n return () => {\n window.removeEventListener('scroll', handleSetPlacement);\n };\n }\n }, [mounted.current]);\n\n useEffect(() => {\n return () => {\n setPLacement(null);\n };\n }, []);\n\n const handleRedirect = useCallback(\n (event: SyntheticEvent) => {\n event.stopPropagation();\n\n window.open(\n `${SpringConfigs.STATISTICS_URL}/#/${SpringConfigs.STATISTICS_LANG_PREFIX}/external/page/redirect/${matchId}`\n );\n },\n []\n );\n\n const icon = useMemo(() => {\n return (\n \n }\n />\n );\n }, []);\n\n if (!showStatisticInPopover || isMobile() || !placement) {\n return icon;\n }\n\n return (\n }>\n \n \n }\n >\n {icon}\n \n );\n }\n);\n","import { ReactElement } from 'react';\nimport { Skeleton } from 'newcomponents/UI/Skeleton';\n\nexport const MatchStatisticHeaderSkeleton = (): ReactElement => {\n return (\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n );\n};\n","import { ReactElement } from 'react';\nimport { Skeleton } from 'newcomponents/UI/Skeleton';\n\nexport const TeamInfoSkeleton = (): ReactElement => {\n return (\n <>\n
\n \n
\n\n \n \n );\n};\n","import { ReactElement } from 'react';\nimport { createArray } from 'utils/helpers/create-fake-array';\nimport { Skeleton } from 'newcomponents/UI/Skeleton';\nimport { TeamInfoSkeleton } from '../TeamInfo/Skeleton';\n\nconst MATCH_STATISTIC_HISTORY_COUNT_3 = 3;\nconst MATCH_STATISTIC_HISTORY_COUNT_5 = 5;\n\nexport const MatchStatisticHistorySkeleton = (): ReactElement => {\n return (\n <>\n
\n
\n \n
\n
\n
\n {createArray(MATCH_STATISTIC_HISTORY_COUNT_5).map(key => (\n
\n \n
\n ))}\n
\n
\n\n {createArray(2).map(key => (\n \n
\n \n
\n\n
\n {createArray(MATCH_STATISTIC_HISTORY_COUNT_5).map(key => (\n
\n \n
\n ))}\n
\n\n
\n {createArray(MATCH_STATISTIC_HISTORY_COUNT_3).map(key => (\n
\n \n
\n ))}\n\n
\n
\n \n
\n
\n\n {key === 0 && (\n
\n
\n \n
\n
\n )}\n
\n
\n ))}\n \n );\n};\n","import { ReactElement } from 'react';\nimport { createArray } from 'utils/helpers/create-fake-array';\nimport { Skeleton } from 'newcomponents/UI/Skeleton';\nimport { TeamInfoSkeleton } from '../TeamInfo/Skeleton';\n\nconst MATCH_STATISTIC_LAST_GAMES_COUNT = 5;\n\nexport const MatchStatisticLastGamesSkeleton = (): ReactElement => {\n return (\n <>\n
\n
\n \n
\n
\n \n
\n
\n {createArray(2).map(key => (\n
\n \n
\n ))}\n
\n
\n\n {createArray(2).map(key => (\n \n
\n \n
\n\n
\n {createArray(MATCH_STATISTIC_LAST_GAMES_COUNT).map(key => (\n
\n \n
\n ))}\n
\n\n
\n {createArray(2).map(key => (\n
\n \n
\n ))}\n
\n \n ))}\n \n );\n};\n","import { ReactElement } from 'react';\nimport { createArray } from 'utils/helpers/create-fake-array';\nimport { Skeleton } from 'newcomponents/UI/Skeleton';\nimport { TeamInfoSkeleton } from '../TeamInfo/Skeleton';\n\nconst MATCH_STATISTIC_RESULTS_COUNT = 3;\n\nexport const MatchStatisticLeagueResultsSkeleton = (): ReactElement => {\n return (\n <>\n
\n
\n \n
\n
\n\n
\n
\n \n
\n
\n {createArray(MATCH_STATISTIC_RESULTS_COUNT).map(key => (\n
\n \n
\n ))}\n
\n
\n \n
\n
\n\n {createArray(2).map(key => (\n \n
\n \n
\n\n
\n {createArray(MATCH_STATISTIC_RESULTS_COUNT).map(key => (\n
\n \n
\n ))}\n
\n\n
\n \n
\n \n ))}\n \n );\n};\n","import { ReactElement } from 'react';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { MatchStatisticHeaderSkeleton } from './__partials/Header/Skeleton';\nimport { MatchStatisticHistorySkeleton } from './__partials/History/Skeleton';\nimport { MatchStatisticLastGamesSkeleton } from './__partials/LastGames/Skeleton';\nimport { MatchStatisticLeagueResultsSkeleton } from './__partials/LeagueResults/Skeleton';\nimport './index.less';\n\nif (SpringConfigs.IS_RTL) {\n import('./rtl.less');\n}\n\nexport const MatchStatisticPopoverSkeleton = (): ReactElement => {\n return (\n <>\n \n \n \n \n \n );\n};\n","import { ReactElement } from 'react';\nimport { Skeleton } from 'newcomponents/UI/Skeleton';\nimport { useStreamPlaceHolderStyles } from 'newhooks/sportsbook/matchStreaming/useStreamPlaceHolderStyles';\nimport './index.less';\n\ntype TStreamCourtSkeletonProps = {\n classNames?: string;\n};\n\nexport const StreamCourtSkeleton = ({\n classNames\n}: TStreamCourtSkeletonProps): ReactElement | null => {\n const streamPlaceHolderStyles = useStreamPlaceHolderStyles();\n\n return (\n
\n
\n \n
\n
\n );\n};\n","import React, { ReactElement } from 'react';\nimport cc from 'classcat';\nimport {\n DEFAULT_LAYOUT_ICON_SIZE,\n USA_LAYOUT_ICON_SIZE\n} from 'utils/constants/sportsbook/magic-numbers';\nimport { GlobalIcon } from 'components/GlobalIcon';\nimport './index.less';\n\ntype Props = {\n withBase?: boolean;\n isEvent?: boolean;\n isUsaLayout?: boolean;\n indicatorValue?: string;\n};\n\nexport const OddIndicator = ({\n indicatorValue,\n withBase,\n isEvent,\n isUsaLayout = false\n}: Props): ReactElement => {\n return (\n \n );\n};\n","import { ReactElement } from 'react';\nimport cc from 'classcat';\nimport { MATCH_TRACKER_AVAILABLE_SPORTS } from 'utils/constants/sportsbook/match-tracker-sports';\nimport { isMobile } from 'utils/is-mobile';\nimport {\n ESportsbookLayoutTypes,\n ESportsbookPageTypes\n} from 'interfaces/sportsbook-configs';\nimport { AdvancedHeaderBreadcrumb } from 'newelements/Sportsbook/layouts/advanced/__partials/AdvancedMainContent/__partials/AdvancedHeaderBreadcrumb';\nimport { ADDITIONAL_STATISTICS_LAYOUTS } from 'components/GameDetails/AdditionalStatistics';\nimport { MarketsListOnlySkeleton } from 'components/MarketsList/MarketsListOnlySkeleton';\nimport { MatchHeaderSkeleton } from 'components/MatchHeader/Prematch/MatchHeaderSkelton';\nimport { MatchInfoCardSkeleton } from 'components/MatchInfoCard/skeleton';\nimport { GameHeaderSkeleton } from 'newcomponents/Shared/sportsbook/GameHeader/GameHeaderSkeleton';\nimport { StreamCourtSkeleton } from 'newcomponents/Shared/sportsbook/MatchStreaming/Skeleton/Details/StreamCourtSkeleton';\nimport { HorizontalMenu } from 'newcomponents/UI/HorizontalMenu';\nimport { Skeleton } from 'newcomponents/UI/Skeleton';\nimport { useSportsbookConfigs } from 'hooks/sportsbook/useSportsbookConfigs';\nimport { useSbRouteMatch } from 'newhooks/generic/useSbRouteMatch';\nimport './index.less';\n\nexport const SingleGameViewSkeleton = ({\n isLive,\n onBack,\n showGoBack,\n showAdvancedHeader,\n hasAdditionalStatistics\n}: {\n isLive: boolean;\n onBack?: () => void;\n showGoBack?: boolean;\n hasAdditionalStatistics?: boolean;\n showAdvancedHeader?: boolean;\n}): ReactElement => {\n const { params } = useSbRouteMatch();\n const configs = useSportsbookConfigs();\n\n const AdditionalLayoutSkeleton =\n ADDITIONAL_STATISTICS_LAYOUTS[params.sport]?.skeleton;\n\n const isLivePage = configs.pageType === ESportsbookPageTypes.live;\n const isEuropeanLayout =\n configs.spbLayoutType === ESportsbookLayoutTypes.EUROPEAN;\n\n return (\n \n {showAdvancedHeader && }\n {((isMobile() && onBack) || showGoBack) && }\n\n {isMobile() || isLive || isLivePage ? (\n \n \n \n ) : (\n \n )}\n\n {isLivePage ? (\n !isMobile() ? (\n hasAdditionalStatistics ? (\n \n ) : null\n ) : MATCH_TRACKER_AVAILABLE_SPORTS.includes(params.sport) || isLive ? (\n \n ) : null\n ) : null}\n\n {isMobile() &&\n (isLive || isLivePage) &&\n configs.spbLayoutType !== ESportsbookLayoutTypes.ADVANCED && (\n {}}\n items={[\n {\n key: 'markets',\n title: (\n \n )\n },\n {\n key: 'matches',\n title: (\n \n )\n }\n ]}\n />\n )}\n \n \n );\n};\n","import {\n memo,\n ReactElement,\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useState\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n getSportsbookSingleGameRelations,\n PAYOUT_AVAILABLE_SPORTS,\n PREMATCH_GAME_TYPE_FOR_SWARM\n} from 'utils/constants/sportsbook/data-fields';\nimport { GAME_TYPE_LIVE } from 'utils/constants/sportsbook/generic';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { GLOBALS } from 'utils/generic/global-variables';\nimport { lazy } from 'utils/generic/lazy';\nimport { getMountPath, mountPoint } from 'utils/generic/route-manipulation';\nimport { showToastWarning } from 'utils/generic/show-toast-warning';\nimport { ESPORTS_ADDITIONAL_DATA } from 'utils/helpers/moba-games-statistics-options';\nimport { isMobile } from 'utils/is-mobile';\nimport { setMissingMarketGroupNameOther } from 'utils/sportsbook/set-missing-market-group-name-other';\nimport RidGenerator from 'utils/swarm/rid-generator';\nimport { ENotRealSports } from 'interfaces/not-real-sports';\nimport {\n ESportsbookLayoutTypes,\n ESportsbookPageTypes,\n TSportsbookConfigs\n} from 'interfaces/sportsbook-configs';\nimport {\n GameInfoAdditionalDataMap,\n Sport\n} from 'interfaces/sportsbook-data-levels';\nimport { executeCommand, unsubscribeCommand } from 'services/get-data-level';\nimport { SingleGameViewSkeleton } from './SingleGameViewSkeleton';\nimport { addQuery, getSavedLocation } from 'components/QueryRoute';\nimport { Viewport } from 'components/Viewport';\nimport { useSportsbookConfigs } from 'hooks/sportsbook/useSportsbookConfigs';\nimport { useScrollToTop } from 'hooks/useScrollToTop';\nimport { useSearchParams } from 'hooks/useSearchParams';\nimport { useCustomHistory } from 'newhooks/generic/useCustomHistory';\nimport { useSbRouteMatch } from 'newhooks/generic/useSbRouteMatch';\nimport { setAdditionalStatisticsData } from 'store/actions';\nimport { resetMatchStreamingState } from 'store/actions/match-streaming';\nimport {\n setAllMetaData,\n setCompetitionMetaData,\n setGameMetaData,\n setSportMetaData\n} from 'store/actions/meta-data';\nimport {\n setSingleGameData,\n setSportsbookSelectedSport\n} from 'store/actions/new-sportsbook';\nimport { TGameDataWithMoreInfo } from 'store/reducers/new-sportsbook';\nimport { getAdditionalStatisticsData } from 'store/selectors/e-sport-data';\nimport {\n getSingleGameData,\n getSportsbookSelectedSport\n} from 'store/selectors/new-sportsbook';\nimport './index.less';\n\nconst { SingleGameViewMobile } = lazy(\n () => import(/* webpackChunkName: \"single-view-mobile\" */ './Mobile')\n);\n\nconst { SingleGameViewDesktop } = lazy(\n () => import(/* webpackChunkName: \"single-view-desktop\" */ './Desktop')\n);\n\nexport type TSingleGameViewProps = {\n gameData: TGameDataWithMoreInfo;\n onBack: () => void;\n isLive: boolean;\n openTimeLine: boolean;\n setOpenTimeLine: (arg: (prev: any) => boolean) => void;\n configs: TSportsbookConfigs;\n showGoBack?: boolean;\n showAdvancedHeader?: boolean;\n};\n\nexport const SingleGameView = memo(\n ({\n showGoBack,\n showAdvancedHeader\n }: Pick<\n TSingleGameViewProps,\n 'showGoBack' | 'showAdvancedHeader'\n >): ReactElement | null => {\n const configs = useSportsbookConfigs();\n const { params, path } = useSbRouteMatch();\n const { region, competition, game, sport } = params;\n const searchParams = useSearchParams();\n const { history, goBack } = useCustomHistory();\n const dispatch = useDispatch();\n const { t } = useTranslation();\n\n const additionalStatisticsData = useSelector(getAdditionalStatisticsData);\n const selectedSport = useSelector(getSportsbookSelectedSport);\n\n const currentMapData = useMemo(\n () => ESPORTS_ADDITIONAL_DATA[sport],\n [sport]\n );\n\n const [openTimeLine, setOpenTimeLine] = useState(false);\n\n const isFavoriteTeam =\n params.category === ENotRealSports.team ||\n params['0'] === ENotRealSports.team;\n\n const gameId = isFavoriteTeam && !isMobile() ? competition : game;\n\n const gameData = useSelector(getSingleGameData)?.[gameId];\n\n const isLive =\n gameData?.game.type === 1 || Number(searchParams.gameType) === 1;\n\n const hasAdditionalStatistics =\n Object.keys(ESPORTS_ADDITIONAL_DATA).includes(sport) && isLive;\n\n useScrollToTop(isMobile() ? 'singleGameViewPage' : 'desktopScrollArea', [\n gameData?.game.id\n ]);\n\n const setGameData = (swarmData: { sport: Record }) => {\n const removeFinishedGameOnDesktop =\n swarmData?.sport &&\n Object.keys(swarmData.sport).length === 0 &&\n !isMobile();\n\n if (removeFinishedGameOnDesktop) {\n onBack();\n showToastWarning(t('account.gameIsNotAvailable'));\n }\n\n const data = setMissingMarketGroupNameOther(swarmData);\n\n dispatch(setSingleGameData({ id: gameId, data: data }));\n };\n\n useEffect(() => {\n if (!currentMapData) {\n return;\n }\n\n const maps = gameData?.game.info?.additional_data?.[currentMapData.maps];\n const selected =\n additionalStatisticsData.selected === -1\n ? gameData?.game.info?.additional_data?.[currentMapData.current] || -1\n : additionalStatisticsData.selected;\n\n const map: GameInfoAdditionalDataMap | undefined = (maps || []).find(\n map => Number(map[currentMapData.number]) === Number(selected)\n );\n\n if (maps?.length) {\n maps[maps.length - 1].timers =\n gameData?.game.info?.additional_data?.timers || [];\n }\n\n dispatch(setAdditionalStatisticsData({ maps, selected, map }));\n }, [gameData?.game.info?.additional_data, currentMapData]);\n\n useEffect(() => {\n dispatch(\n setAdditionalStatisticsData({\n selected: -1,\n map: undefined,\n maps: undefined\n })\n );\n }, [game]);\n\n const onBack = useCallback(() => {\n const isAdvancedLayout =\n configs.spbLayoutType === ESportsbookLayoutTypes.ADVANCED;\n\n if (isAdvancedLayout) {\n goBack(`${mountPoint(window.getPathname())}`);\n\n return;\n }\n\n if (GLOBALS.sportsBook.redirectedFromFavorite) {\n GLOBALS.sportsBook.redirectedFromFavorite = false;\n const currentPathName = window.location.pathname;\n goBack(`${mountPoint(window.getPathname())}`);\n\n if (window.location.pathname === currentPathName) {\n goBack(`${mountPoint(window.getPathname())}`);\n }\n\n dispatch(setSportsbookSelectedSport(null));\n\n return;\n }\n\n const pathname = window.getPathname();\n const lastIndex = pathname.lastIndexOf('/');\n const pathWithoutGame = pathname.slice(0, lastIndex);\n const savedUrl = getSavedLocation(\n 'mobileSportsbookGames',\n configs.spbLayoutType !== ESportsbookLayoutTypes.AMERICAN\n );\n\n const backUrl = savedUrl.includes('/team') ? savedUrl : null;\n\n const usedDesktopUrlStructureOnMobile =\n params.category &&\n [ENotRealSports.todayEvents, ENotRealSports.boostedOdds].includes(\n params.category as ENotRealSports\n ) &&\n configs.spbLayoutType !== ESportsbookLayoutTypes.AMERICAN &&\n params.competition &&\n params.game &&\n isMobile();\n\n const isUsaFavTeamWithNoStoredUrl =\n isFavoriteTeam &&\n !savedUrl &&\n configs.spbLayoutType === ESportsbookLayoutTypes.AMERICAN;\n\n let toSportAliasBackUrl =\n ((configs.spbLayoutType === ESportsbookLayoutTypes.EUROPEAN ||\n isMobile()) &&\n isLive) ||\n isUsaFavTeamWithNoStoredUrl\n ? `${getMountPath(path)}/${sport}`\n : null;\n\n if (usedDesktopUrlStructureOnMobile) {\n toSportAliasBackUrl = `${getMountPath(path)}/${params.category}${\n params.category === ENotRealSports.todayEvents ? `/${sport}` : ''\n }`;\n }\n\n if (\n (isMobile() ||\n configs.spbLayoutType === ESportsbookLayoutTypes.AMERICAN) &&\n isLive\n ) {\n dispatch(resetMatchStreamingState(true));\n }\n\n history.push({\n pathname: toSportAliasBackUrl || backUrl || pathWithoutGame,\n search: window.location.search\n });\n }, [isLive, history, sport, searchParams]);\n\n useEffect(() => {\n if (!SpringConfigs.MOCKED_DATA && !gameId) {\n return;\n }\n\n const rid = RidGenerator.gForSubscribe('SINGLE_GAME_VIEW');\n\n let where: Record = {\n sport: {\n alias: sport\n },\n game: {\n id: parseInt(String(gameId))\n }\n };\n\n if (configs.spbLayoutType !== ESportsbookLayoutTypes.ADVANCED) {\n where.game = {\n ...where.game,\n ...(configs.pageType === ESportsbookPageTypes.live\n ? { type: GAME_TYPE_LIVE }\n : PREMATCH_GAME_TYPE_FOR_SWARM)\n };\n }\n\n if (region && !isFavoriteTeam) {\n where.region = {\n alias: region\n };\n }\n\n if (competition && (!isFavoriteTeam || isMobile())) {\n where.competition = {\n id: parseInt(String(competition))\n };\n }\n\n if (SpringConfigs.MOCKED_DATA) {\n where = {\n game: {\n id: 19095741\n },\n sport: {\n alias: 'Soccer'\n },\n region: {\n alias: 'Europe'\n },\n competition: {\n id: 566\n }\n };\n }\n\n const shouldIncludePrematchExpressId =\n configs.pageType === ESportsbookPageTypes.prematch;\n\n const isPayoutAvailable = PAYOUT_AVAILABLE_SPORTS.includes(sport);\n\n executeCommand(\n rid,\n getSportsbookSingleGameRelations(\n { region: ['name', 'alias'] },\n shouldIncludePrematchExpressId,\n isPayoutAvailable\n ),\n where,\n setGameData,\n true,\n setGameData\n );\n\n return () => {\n unsubscribeCommand(rid);\n };\n }, [sport, region, competition, gameId]);\n\n useEffect(() => {\n if (isMobile()) {\n document.body.style.overflow = 'hidden';\n }\n\n return () => {\n if (isMobile()) {\n document.body.style.overflow = 'unset';\n }\n\n getSavedLocation('mobileSportsbookGames');\n\n if (configs.spbLayoutType === ESportsbookLayoutTypes.ADVANCED) {\n history.push(addQuery({ gameType: undefined }));\n }\n };\n }, []);\n\n useEffect(() => {\n if (gameData) {\n dispatch(\n setAllMetaData({\n sport: { name: gameData.sportName },\n competition: { name: gameData.competitionName },\n game: {\n team1_name: gameData.game.team1_name,\n team2_name: gameData.game.team2_name,\n start_ts: gameData.game.start_ts\n }\n })\n );\n }\n }, [gameData]);\n\n useLayoutEffect(() => {\n if (\n configs.spbLayoutType === ESportsbookLayoutTypes.ADVANCED &&\n isLive &&\n Number(searchParams.gameType) !== GAME_TYPE_LIVE\n ) {\n history.push(addQuery({ gameType: GAME_TYPE_LIVE.toString() }));\n }\n }, [isLive, game, searchParams.gameType]);\n\n useEffect(() => {\n return () => {\n if (isMobile()) {\n if (isLive) {\n dispatch(setCompetitionMetaData(undefined));\n dispatch(setGameMetaData(undefined));\n } else {\n dispatch(setGameMetaData(undefined));\n }\n } else {\n if (configs.spbLayoutType === ESportsbookLayoutTypes.EUROPEAN) {\n dispatch(setCompetitionMetaData(undefined));\n dispatch(setGameMetaData(undefined));\n } else if (\n configs.spbLayoutType === ESportsbookLayoutTypes.AMERICAN\n ) {\n dispatch(setGameMetaData(undefined));\n\n if (!isLive) {\n dispatch(setCompetitionMetaData(undefined));\n dispatch(setSportMetaData({ name: selectedSport?.name || '' }));\n }\n }\n }\n };\n }, []);\n\n return (\n \n }\n mobile={SingleGameViewMobile}\n desktop={SingleGameViewDesktop}\n innerProps={{\n gameData,\n onBack,\n isLive,\n openTimeLine,\n setOpenTimeLine,\n configs,\n showGoBack,\n showAdvancedHeader\n }}\n />\n );\n }\n);\n","import { Fragment, memo, ReactNode, useCallback, useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport cc from 'classcat';\nimport { EIconSize } from 'utils/constants/app/ui';\nimport { mountPoint } from 'utils/generic/route-manipulation';\nimport { isMobile } from 'utils/is-mobile';\nimport { GlobalIcon } from 'components/GlobalIcon';\nimport { useCustomHistory } from 'newhooks/generic/useCustomHistory';\nimport './index.less';\n\nexport type TBreadcrumbItemType = {\n title: ReactNode;\n id?: number;\n onClick?: () => void;\n active?: boolean;\n};\n\ntype TAdvancedHeaderBreadcrumbProps = {\n additionalNavigationItems?: TBreadcrumbItemType[];\n};\n\nexport const AdvancedHeaderBreadcrumb = memo(\n ({ additionalNavigationItems = [] }: TAdvancedHeaderBreadcrumbProps) => {\n const { history, goBack } = useCustomHistory();\n const { t } = useTranslation();\n\n const navigationItems: TBreadcrumbItemType[] = useMemo(() => {\n const mainItems = [\n {\n id: 0,\n title: t('sportsbook.home'),\n onClick: () => {\n const redirectPath = `${mountPoint(window.getPathname())}`;\n\n history.push(redirectPath);\n }\n }\n ];\n\n return [...mainItems, ...additionalNavigationItems];\n }, [additionalNavigationItems]);\n\n const handleBackClick = useCallback(() => {\n const fallbackUrl = `${mountPoint(window.getPathname())}`;\n goBack(fallbackUrl);\n }, [history]);\n\n return (\n \n \n
\n {navigationItems.map((item, index) => (\n \n \n {item.title}\n
\n {index !== navigationItems.length - 1 ? (\n \n ) : null}\n \n ))}\n \n \n );\n }\n);\n","import { useSelector } from 'react-redux';\nimport { CSSProperties } from 'styled-components';\nimport localStorage from 'utils/bom-dom-manipulation/local-storage';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { storageKeyName } from 'utils/generic/storage-key-name';\nimport { isMobile } from 'utils/is-mobile';\nimport { isActiveStreamTabMode } from 'utils/sportsbook/live-games-helper';\nimport { EMatchStreamingTypes } from 'interfaces/match-streaming';\nimport { useSbRouteMatch } from 'newhooks/generic/useSbRouteMatch';\nimport {\n getGamePreviewNotAvailable,\n getMatchStreamingGameData,\n getMatchStreamingType\n} from 'store/selectors/match-streaming';\n\nconst MATCH_STREAM_SPORTS_HEIGHT = (() => {\n const matchStreamHeightSettings: {\n [key: number]: { [key: string]: string };\n } = {\n 0: {\n ...(isMobile()\n ? { default: '56%' }\n : { default: '59%', LeagueOfLegends: '74%', Dota2: '74%' })\n },\n 1: {\n default: '69%'\n }\n };\n\n return (\n matchStreamHeightSettings[+SpringConfigs.JURISDICTION] ||\n matchStreamHeightSettings[0]\n );\n})();\n\nexport const useStreamPlaceHolderStyles = (): CSSProperties => {\n const streamTypeFromLS = localStorage.getItem(\n storageKeyName('sportsbook', 'STREAM_ACTIVE_TAB_MODE')\n );\n\n const routeParams = useSbRouteMatch();\n const streamingType = useSelector(getMatchStreamingType);\n const { game } = useSelector(getMatchStreamingGameData) || {};\n const gamePreviewNotAvailable = useSelector(getGamePreviewNotAvailable);\n\n const closedMatchStreamingContent = [\n EMatchStreamingTypes.VOID,\n EMatchStreamingTypes.TIMELINE\n ].includes(streamTypeFromLS ? +streamTypeFromLS : streamingType);\n\n const containerAliasHeight =\n MATCH_STREAM_SPORTS_HEIGHT[game?.sport_alias || routeParams.params.sport];\n\n const isActiveStreamTab = isActiveStreamTabMode();\n\n return {\n zIndex: 2,\n position: 'relative',\n ...(isMobile() ? { backgroundColor: 'var(--v3-black-0)' } : {}),\n paddingTop: SpringConfigs.MOCKED_DATA\n ? MATCH_STREAM_SPORTS_HEIGHT.default\n : gamePreviewNotAvailable ||\n (isActiveStreamTab && !closedMatchStreamingContent)\n ? containerAliasHeight || MATCH_STREAM_SPORTS_HEIGHT.default\n : '0%'\n };\n};\n","import { getSelectorRoot } from 'utils/selectors';\n\nconst getESportData = getSelectorRoot('eSportData');\n\nexport const getSport = getESportData('sport');\nexport const getCachedSport = getESportData('cashedSport');\nexport const getGames = getESportData('games');\nexport const getGamesSingleViewData = getESportData('gamesSingleViewData');\nexport const getAdditionalStatisticsData = getESportData(\n 'additionalStatisticsData'\n);\n","import { getSelectorRoot } from 'utils/selectors';\n\nconst getMatchStreamingStore = getSelectorRoot('matchStreaming');\n\nexport const getIsTheatreMode = getMatchStreamingStore('isTheatreMode');\n\nexport const getIsTheatreModePrev = getMatchStreamingStore('isTheatreModePrev');\n\nexport const getMatchStreamingGameData = getMatchStreamingStore('data');\n\nexport const getMatchStreamingUrls = getMatchStreamingStore('streamUrls');\n\nexport const getIsCanFixMSOnTop = getMatchStreamingStore('isCanFixOnTop');\n\nexport const getIsStreamerLandscape = getMatchStreamingStore('isLandscape');\n\nexport const getMatchStreamingViewMode = getMatchStreamingStore('viewMode');\n\nexport const getMatchStreamingType = getMatchStreamingStore('streamingType');\n\nexport const getIsMatchStreamingVisible = getMatchStreamingStore('isVisible');\n\nexport const getMatchStreamingSettings =\n getMatchStreamingStore('streamSettings');\n\nexport const getMatchStreamingPrevViewMode =\n getMatchStreamingStore('prevViewMode');\nexport const getMatchStreamingLiveStreamInfo =\n getMatchStreamingStore('liveStreamInfo');\n\nexport const getMatchStreamingContainerInfo =\n getMatchStreamingStore('containerInfo');\n\nexport const getMatchStreamingMountingInfo = getMatchStreamingStore(\n 'isHolderPositionApplied'\n);\n\nexport const getIsMSTheatreModeAvailable = getMatchStreamingStore(\n 'isTheatreModeAvailable'\n);\nexport const getMatchStreamingChannelInfo = getMatchStreamingStore(\n 'streamingChannelInfo'\n);\nexport const getIsMatchStreamingChannelsAvailable = getMatchStreamingStore(\n 'isChannelsAvailable'\n);\n\nexport const getIsStreamingPreviewUnavailable = getMatchStreamingStore(\n 'isPreviewUnavailable'\n);\n\nexport const getDisableMatchStreamingType = getMatchStreamingStore(\n 'streamingTypeDisable'\n);\n\nexport const getGamePreviewNotAvailable = getMatchStreamingStore(\n 'gamePreviewNotAvailable'\n);\n","export const HALF_SCORE_RESULT = 0.5;\nexport const ONE_HUNDRED_PERCENT = 100;\nexport const SCORE_INDEX = 10;\nexport const USA_LAYOUT_ICON_SIZE = 12;\nexport const DEFAULT_LAYOUT_ICON_SIZE = 5.2;\nexport const FAVORITE_BUTTON_CONTAINER_ICON_SIZE = 24;\nexport const ADVANCED_CONTAINER_SIZE = 20;\nexport const FavoritePerRow = 3;\nexport const FavoritePerRowMobile = 1;\n\nexport enum MULTIVIEW_CARDS_ROW {\n COUNT_2 = 2,\n // eslint-disable-next-line no-magic-numbers\n COUNT_3 = 3\n}\nexport enum MULTIVIEW_CARDS_VIEW {\n COUNT_2 = 2,\n // eslint-disable-next-line no-magic-numbers\n COUNT_3 = 3\n}\n","export const MATCH_TRACKER_AVAILABLE_SPORTS = [\n 'Soccer',\n 'Tennis',\n 'Handball',\n 'IceHockey',\n 'Basketball',\n 'Volleyball',\n 'LeagueOfLegends',\n 'Cricket',\n 'AmericanFootball',\n 'RugbyLeague',\n 'Darts',\n 'Dota2',\n 'WaterPolo'\n];\n\nexport const MS_STATISTICS_AVAILABLE_SPORTS = [\n 'Soccer',\n 'Tennis',\n 'Basketball',\n 'LeagueOfLegends',\n 'Dota2'\n];\n\nexport const TIMELINE_AVAILABLE_SPORTS = ['Soccer'];\n","import { message } from 'antd';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { configureMessage } from 'configure/configure-message';\n\nexport const showToastWarning = (\n content: string,\n context: HTMLElement | undefined | null = null,\n key?: string\n): void => {\n configureMessage(context, SpringConfigs.ERROR_MSG_DURATION, key || content);\n message.warn({\n content,\n key: key || content\n });\n};\n","import i18next from 'i18next';\nimport { STREAMING_ASPECT_RATIOS } from 'utils/helpers/moba-games-statistics-options';\nimport { isMobile } from 'utils/is-mobile';\nimport { GameInfoAdditionalDataMap } from 'interfaces/sportsbook-data-levels';\n\nexport const DOTA_2_SETTINGS = {\n titles: {\n 0: null,\n 1: i18next.t('sportsbook.esportsKill'),\n 2: i18next.t('sportsbook.tormentor'),\n 3: i18next.t('sportsbook.tower'),\n 4: i18next.t('sportsbook.barrack'),\n 5: i18next.t('sportsbook.barrack')\n },\n icons: {\n names: {\n 1: 'kill',\n 2: 'dragon',\n 3: 'tower',\n 4: 'inhibitor',\n 5: null\n },\n firstSanctuary: {\n 0: 'voidgrub-kill'\n },\n secondSanctuary: {},\n positions: {\n roshen: isMobile()\n ? { top: '32%', left: '37.8%' }\n : { top: '33%', left: '34.9%' },\n tower: isMobile()\n ? {\n 1: { top: '75.1%', left: '28%' },\n 2: { top: '77%', left: '29.5%' },\n 3: { top: '66.2%', left: '25.5%' },\n 4: { top: '70.2%', left: '32.2%' },\n 5: { top: '82.4%', left: '34.7%' },\n 6: { top: '50.5%', left: '26.7%' },\n 7: { top: '61.2%', left: '36.2%' },\n 8: { top: '83.4%', left: '47.5%' },\n 9: { top: '34.1%', left: '26.3%' },\n 10: { top: '54.2%', left: '42.5%' },\n 11: { top: '82.2%', left: '64.9%' },\n 12: { top: '9.2%', left: '32.1%' },\n 13: { top: '41.2%', left: '49.7%' },\n 14: { top: '56.2%', left: '69.5%' },\n 15: { top: '9.2%', left: '48%' },\n 16: { top: '32.2%', left: '56.8%' },\n 17: { top: '43.2%', left: '69.4%' },\n 18: { top: '10.2%', left: '60.1%' },\n 19: { top: '22.4%', left: '63%' },\n 20: { top: '26.9%', left: '69.5%' },\n 21: { top: '15.9%', left: '65%' },\n 22: { top: '17.9%', left: '66.3%' }\n }\n : {\n 1: { top: '75.1%', left: '21.9%' },\n 2: { top: '77%', left: '23.1%' },\n 3: { top: '66.2%', left: '18.5%' },\n 4: { top: '70.2%', left: '26.5%' },\n 5: { top: '82.4%', left: '29.7%' },\n 6: { top: '50.5%', left: '19.7%' },\n 7: { top: '61.2%', left: '32.2%' },\n 8: { top: '83.4%', left: '47.5%' },\n 9: { top: '34.1%', left: '19.3%' },\n 10: { top: '54.2%', left: '40.5%' },\n 11: { top: '82.2%', left: '69.7%' },\n 12: { top: '9.2%', left: '26.1%' },\n 13: { top: '41.2%', left: '49.7%' },\n 14: { top: '56.2%', left: '75.7%' },\n 15: { top: '9.2%', left: '48%' },\n 16: { top: '32.2%', left: '59%' },\n 17: { top: '43.2%', left: '75.4%' },\n 18: { top: '10.2%', left: '63.1%' },\n 19: { top: '23.4%', left: '67%' },\n 20: { top: '26.9%', left: '76%' },\n 21: { top: '15.9%', left: '70%' },\n 22: { top: '17.9%', left: '71.5%' }\n },\n kills: isMobile()\n ? {\n 1: { top: '69.1%', left: '24.7%' },\n 2: { top: '68.7%', left: '26.3%' },\n 3: { top: '71.1%', left: '30.9%' },\n 4: { top: '74.1%', left: '31.9%' },\n 5: { top: '81.1%', left: '33.2%' },\n 6: { top: '85.1%', left: '33.3%' },\n 7: { top: '8%', left: '61.4%' },\n 8: { top: '12%', left: '61.4%' },\n 9: { top: '20%', left: '62.9%' },\n 10: { top: '23%', left: '63.9%' },\n 11: { top: '25%', left: '68.5%' },\n 12: { top: '25%', left: '70.5%' }\n }\n : {\n 1: { top: '69.1%', left: '16.7%' },\n 2: { top: '69.7%', left: '19%' },\n 3: { top: '72.1%', left: '24.9%' },\n 4: { top: '74.1%', left: '25.9%' },\n 5: { top: '81.1%', left: '27.9%' },\n 6: { top: '85.1%', left: '27.9%' },\n 7: { top: '8%', left: '64.9%' },\n 8: { top: '12%', left: '65.4%' },\n 9: { top: '20%', left: '66.9%' },\n 10: { top: '23%', left: '68.9%' },\n 11: { top: '25%', left: '74.9%' },\n 12: { top: '25%', left: '76.9%' }\n }\n },\n getIconPositionsAndSizes: function (width: number) {\n const size = {\n width: width / STREAMING_ASPECT_RATIOS.desktop,\n height: width / STREAMING_ASPECT_RATIOS.desktop\n };\n\n return {\n 0: {\n position: this.positions.roshen,\n size\n },\n 1: {\n position: this.positions.kills,\n size\n },\n 2: {\n size: isMobile()\n ? {\n width: width / STREAMING_ASPECT_RATIOS.mobile,\n height: width / STREAMING_ASPECT_RATIOS.mobile\n }\n : size,\n position: this.positions || {}\n }\n };\n }\n }\n};\n\nexport const getDota2Statistics = (\n additionalDataMap: GameInfoAdditionalDataMap | undefined\n) => {\n const roshen =\n (additionalDataMap?.timers || []).find(\n roshen => roshen.codeValue === 'roshan_timer'\n )?.value ?? -1;\n\n return {\n statistics: {\n 1: {\n ...(isMobile() ? { 5: null } : { 0: null }),\n 1: additionalDataMap?.killScore?.team1 || 0,\n 2: additionalDataMap?.tormentorScore?.team1 || 0,\n 3: additionalDataMap?.towerScore?.team1 || 0,\n 4: additionalDataMap?.barrackScore?.team1 || 0\n },\n 2: {\n 1: additionalDataMap?.killScore?.team2 || 0,\n 2: additionalDataMap?.tormentorScore?.team2 || 0,\n 3: additionalDataMap?.towerScore?.team2 || 0,\n 4: additionalDataMap?.barrackScore?.team2 || 0,\n 5: null\n }\n },\n mapState: {\n 1:\n additionalDataMap?.destroyedBarracks.map(barrack => barrack.number) ||\n [],\n 2: additionalDataMap?.destroyedTowers.map(tower => tower.number) || [],\n 3: roshen,\n 4: -1\n }\n };\n};\n","import i18next from 'i18next';\nimport { STREAMING_ASPECT_RATIOS } from 'utils/helpers/moba-games-statistics-options';\nimport { isMobile } from 'utils/is-mobile';\nimport { GameInfoAdditionalDataMap } from 'interfaces/sportsbook-data-levels';\n\nexport const LEAGUE_OF_LEGENDS_SETTINGS = {\n titles: {\n 1: i18next.t('sportsbook.esportsKill'),\n 2: i18next.t('sportsbook.baron'),\n 3: i18next.t('sportsbook.dragon'),\n 4: i18next.t('sportsbook.tower'),\n 5: i18next.t('sportsbook.inhibitor')\n },\n icons: {\n names: {\n 1: 'kill',\n 2: 'baron',\n 3: 'dragon',\n 4: 'tower',\n 5: 'inhibitor'\n },\n firstSanctuary: {\n 0: 'unknown-drake',\n 1: 'chemtech-drake',\n 2: 'cloud-drake',\n 3: 'hexteck-drake',\n 4: 'infernal-drake',\n 5: 'mountain-drake',\n 6: 'ocean-drake',\n 7: 'elder-drake'\n },\n secondSanctuary: {\n 1: 'rift-herald',\n 2: 'baron-nashor-kill',\n 3: 'voidgrub-kill'\n },\n positions: {\n dragons: isMobile()\n ? { top: '67%', left: '61%' }\n : { top: '65.5%', left: '61.2%' },\n epicMonsters: isMobile()\n ? { top: '23%', left: '34.8%' }\n : { top: '29%', left: '34.9%' },\n tower: isMobile()\n ? {\n 1: { top: '82.1%', left: '18.5%' },\n 2: { top: '86%', left: '20.9%' },\n 3: { top: '66.1%', left: '15.5%' },\n 4: { top: '71%', left: '28.9%' },\n 5: { top: '90%', left: '31.9%' },\n 6: { top: '49%', left: '17.5%' },\n 7: { top: '62.8%', left: '36.5%' },\n 8: { top: '88.8%', left: '46.5%' },\n 9: { top: '23%', left: '15.5%' },\n 10: { top: '52%', left: '39.9%' },\n 11: { top: '92.8%', left: '65.5%' },\n 12: { top: '0.1%', left: '32.1%' },\n 13: { top: '38%', left: '55.9%' },\n 14: { top: '67%', left: '82.9%' },\n 15: { top: '4.1%', left: '50.4%' },\n 16: { top: '26%', left: '59.9%' },\n 17: { top: '40%', left: '78.9%' },\n 18: { top: '2%', left: '63%' },\n 19: { top: '19%', left: '66.9%' },\n 20: { top: '23.5%', left: '79.5%' },\n 21: { top: '6%', left: '74%' },\n 22: { top: '9.5%', left: '76.5%' }\n }\n : {\n 1: { top: '76.1%', left: '16.9%' },\n 2: { top: '80%', left: '19.1%' },\n 3: { top: '64.2%', left: '13.5%' },\n 4: { top: '68.2%', left: '27.5%' },\n 5: { top: '83.4%', left: '30.7%' },\n 6: { top: '49.5%', left: '15.7%' },\n 7: { top: '61.2%', left: '35.2%' },\n 8: { top: '83.2%', left: '45.5%' },\n 9: { top: '28.1%', left: '13.3%' },\n 10: { top: '52.2%', left: '39.5%' },\n 11: { top: '86.2%', left: '65.7%' },\n 12: { top: '9.2%', left: '31.1%' },\n 13: { top: '40.2%', left: '55.7%' },\n 14: { top: '64.2%', left: '83.7%' },\n 15: { top: '12.2%', left: '50%' },\n 16: { top: '31.2%', left: '60%' },\n 17: { top: '42.2%', left: '79.4%' },\n 18: { top: '10.2%', left: '63.1%' },\n 19: { top: '24.4%', left: '67%' },\n 20: { top: '27.9%', left: '80%' },\n 21: { top: '13.9%', left: '74%' },\n 22: { top: '16.9%', left: '76.5%' }\n },\n kills: isMobile()\n ? {\n 1: { top: '72.1%', left: '15.5%' },\n 2: { top: '75.1%', left: '26.5%' },\n 3: { top: '90.1%', left: '27.9%' },\n 4: { top: '3%', left: '66.9%' },\n 5: { top: '16%', left: '69%' },\n 6: { top: '19%', left: '79%' }\n }\n : {\n 1: { top: '69.1%', left: '13.5%' },\n 2: { top: '71.1%', left: '24.8%' },\n 3: { top: '84.1%', left: '25.9%' },\n 4: { top: '11%', left: '66.9%' },\n 5: { top: '22%', left: '69%' },\n 6: { top: '24%', left: '80%' }\n }\n },\n getIconPositionsAndSizes: function (width: number) {\n const size = {\n width: width / STREAMING_ASPECT_RATIOS.desktop,\n height: width / STREAMING_ASPECT_RATIOS.desktop\n };\n\n return {\n 0: {\n position: this.positions.dragons,\n size\n },\n 1: {\n position: this.positions.epicMonsters,\n size\n },\n 2: {\n size: isMobile()\n ? {\n width: width / STREAMING_ASPECT_RATIOS.mobile,\n height: width / STREAMING_ASPECT_RATIOS.mobile\n }\n : size,\n position: this.positions || {}\n }\n };\n }\n }\n};\n\nexport const getLeagueOfLegendsStatistics = (\n additionalDataMap: GameInfoAdditionalDataMap | undefined\n) => {\n return {\n statistics: {\n 1: {\n 1: additionalDataMap?.killScore?.team1 || 0,\n 2: additionalDataMap?.baronScore?.team1 || 0,\n 3: additionalDataMap?.elementarDragonScore?.team1 || 0,\n 4: additionalDataMap?.towerScore?.team1 || 0,\n 5: additionalDataMap?.inhibitor?.team1 || 0\n },\n 2: {\n 1: additionalDataMap?.killScore?.team2 || 0,\n 2: additionalDataMap?.baronScore?.team2 || 0,\n 3: additionalDataMap?.elementarDragonScore?.team2 || 0,\n 4: additionalDataMap?.towerScore?.team2 || 0,\n 5: additionalDataMap?.inhibitor?.team2 || 0\n }\n },\n mapState: {\n 1: additionalDataMap?.mapState?.destroyedInhibitors || [],\n 2: additionalDataMap?.mapState?.destroyedTowers || [],\n 3: additionalDataMap?.mapState?.dragonType || null,\n 4: additionalDataMap?.mapState?.epicMonsterType || -1\n }\n };\n};\n","import {\n DOTA_2_SETTINGS,\n getDota2Statistics\n} from 'utils/constants/moba-games/dota-2';\nimport {\n getLeagueOfLegendsStatistics,\n LEAGUE_OF_LEGENDS_SETTINGS\n} from 'utils/constants/moba-games/league-of-legends';\nimport { GameInfoAdditionalDataMap } from 'interfaces/sportsbook-data-levels';\n\nconst COUNTER_STRIKE_ID = 75;\nconst LEAGUE_OF_LEGENDS_ID = 77;\nconst DOTA_2_ID = 76;\n\nexport const ESPORTS_ADDITIONAL_DATA_IDS = [\n COUNTER_STRIKE_ID,\n LEAGUE_OF_LEGENDS_ID,\n DOTA_2_ID\n];\n\nexport const STREAMING_ASPECT_RATIOS = {\n desktop: 20,\n mobile: 26\n};\n\nexport interface T_ESPORTS_ADDITIONAL_DATA {\n id: number;\n name: 'mapName';\n current: 'currentMap' | 'currentRound';\n number: 'mapNumber' | 'roundNumber';\n maps: 'maps' | 'rounds';\n alias: string;\n outcome: 'roundsOutcome' | 'killScore';\n}\n\ntype T_GET_MOBA_GAMES_SETTINGS_DATA = {\n [key: string]: {\n titles: { [key: number]: string | null };\n icons: {\n names: { [key: number]: string | null };\n firstSanctuary: { [key: number]: string };\n secondSanctuary: { [key: number]: string };\n positions: {\n [key: string]: {\n [key: string | number]: string | { [key: string]: string };\n };\n };\n getIconPositionsAndSizes: (width: number) => {\n [key: string]: {\n position: any;\n size: { width: number; height: number };\n };\n };\n };\n };\n};\n\ntype T_GET_MOBA_GAMES_STATISTICS_DATA = {\n [key: string]: (additionalDataMap: GameInfoAdditionalDataMap | undefined) => {\n statistics: {\n 1: { [key: number]: number | null };\n 2: { [key: number]: number | null };\n };\n mapState: { [key: number]: any };\n };\n};\n\nexport const ESPORTS_ADDITIONAL_DATA: {\n [key: string]: T_ESPORTS_ADDITIONAL_DATA;\n} = {\n CounterStrike: {\n id: ESPORTS_ADDITIONAL_DATA_IDS[0],\n name: 'mapName',\n current: 'currentMap',\n number: 'mapNumber',\n maps: 'maps',\n alias: 'CounterStrike',\n outcome: 'roundsOutcome'\n },\n LeagueOfLegends: {\n id: ESPORTS_ADDITIONAL_DATA_IDS[1],\n name: 'mapName',\n current: 'currentRound',\n number: 'roundNumber',\n maps: 'rounds',\n alias: 'LeagueOfLegends',\n outcome: 'killScore'\n },\n Dota2: {\n id: ESPORTS_ADDITIONAL_DATA_IDS[2],\n name: 'mapName',\n current: 'currentRound',\n number: 'roundNumber',\n maps: 'rounds',\n alias: 'Dota2',\n outcome: 'killScore'\n }\n};\n\nexport const GET_MOBA_GAMES_SETTINGS_DATA: T_GET_MOBA_GAMES_SETTINGS_DATA = {\n [ESPORTS_ADDITIONAL_DATA.LeagueOfLegends.alias]: LEAGUE_OF_LEGENDS_SETTINGS,\n [ESPORTS_ADDITIONAL_DATA.Dota2.alias]: DOTA_2_SETTINGS\n};\n\nexport const GET_MOBA_GAMES_STATISTICS_DATA: T_GET_MOBA_GAMES_STATISTICS_DATA =\n {\n [ESPORTS_ADDITIONAL_DATA.LeagueOfLegends.alias]:\n getLeagueOfLegendsStatistics,\n [ESPORTS_ADDITIONAL_DATA.Dota2.alias]: getDota2Statistics\n };\n\nexport const isESportMOBAGames = (sportAlias: string) =>\n [\n ESPORTS_ADDITIONAL_DATA.LeagueOfLegends.alias,\n ESPORTS_ADDITIONAL_DATA.Dota2.alias\n ].includes(sportAlias);\n","const BOOSTED_MULTIPLIER = 0.8;\nconst BOOSTED_ROUNDING = 2;\n\nexport const calculateBoostedOdds = (coeficient: number) => {\n return ((coeficient - 1) * BOOSTED_MULTIPLIER + 1).toFixed(BOOSTED_ROUNDING);\n};\n","export const getIndicatorPosition = (\n prevCoefficient: number | undefined,\n coeficient: number\n): string => {\n const prevCoeffFiltered = +(prevCoefficient || 0);\n\n if (!prevCoefficient) {\n return '';\n }\n\n if (+coeficient > prevCoeffFiltered) {\n return 'up';\n } else if (+coeficient < prevCoeffFiltered) {\n return 'down';\n }\n\n return '';\n};\n","import LocalStorage from 'utils/bom-dom-manipulation/local-storage';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { storageKeyName } from 'utils/generic/storage-key-name';\nimport { EMatchStreamingTypes } from 'interfaces/match-streaming';\n\nexport const shouldShowLiveTime = (isLive: boolean, sport = ''): boolean => {\n if (isLive) {\n return sport.toLowerCase() !== 'golf';\n } else {\n return false;\n }\n};\n\nexport const streamTabOnclick = (tabMode: EMatchStreamingTypes): void => {\n LocalStorage.setItem(\n storageKeyName('sportsbook', 'STREAM_ACTIVE_TAB_MODE'),\n `${tabMode}`\n );\n};\n\nexport const isActiveStreamTabMode = (): boolean => {\n const STREAM_ACTIVE_TAB_MODE: EMatchStreamingTypes | number = parseInt(\n LocalStorage.getItem(storageKeyName('sportsbook', 'STREAM_ACTIVE_TAB_MODE'))\n );\n\n const allTypes = Object.keys(EMatchStreamingTypes)\n .filter(item => +item === +item)\n .map(item => +item);\n\n const ACTIVE_STREAM_TAB: EMatchStreamingTypes = allTypes.includes(\n STREAM_ACTIVE_TAB_MODE\n )\n ? STREAM_ACTIVE_TAB_MODE\n : +SpringConfigs.IS_ACTIVE_STREAM_TAB;\n\n return allTypes.filter(mode => +mode).includes(ACTIVE_STREAM_TAB);\n};\n","import dayjs from 'dayjs';\nimport {\n HALF_SCORE_RESULT,\n ONE_HUNDRED_PERCENT,\n SCORE_INDEX\n} from 'utils/constants/sportsbook/magic-numbers';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { dateFormat } from 'utils/date-manipulation/date-format';\nimport {\n EMatchStatuses,\n TMatch,\n TMatchStatistic,\n TMatchStatisticResponse,\n TPoint,\n TPopoverPositions,\n TStatistic,\n TStatisticTable,\n TTeam\n} from 'interfaces/match-statistic';\n\nconst MATCHES_COUNT = 5;\nconst STATISTIC_POPOVER_HEIGHT = 394;\n\nconst ADDITIONAL_Y_POSITION_TO_TRIGGER_POPOVER_POSITION = 8;\n\nconst getIsHomeTeam = (homeTeamId: number, homeTeam: TTeam): boolean => {\n return homeTeamId === homeTeam.id;\n};\n\nconst getMatchStatus = (\n teamScore: number,\n concurrentScore: number\n): EMatchStatuses => {\n if (teamScore < concurrentScore) {\n return EMatchStatuses.lose;\n }\n\n if (teamScore > concurrentScore) {\n return EMatchStatuses.win;\n }\n\n return EMatchStatuses.draw;\n};\n\nconst addMissingMatches = (matches: TStatistic[], result: TMatch[]) => {\n if (matches.length < MATCHES_COUNT) {\n for (let index = 0; index < MATCHES_COUNT - matches.length; index++) {\n result.push({\n id: index,\n score: '-',\n status: EMatchStatuses.draw\n });\n }\n }\n};\n\nconst createH2HMatches = (teamId: number, matches: TStatistic[]) => {\n const result = matches.map(({ Id, HomeTeam, HomeScore, AwayScore }) => {\n const isHomeTeam = getIsHomeTeam(teamId, HomeTeam[0]);\n\n const homeScore = isHomeTeam ? HomeScore : AwayScore;\n const awayScore = isHomeTeam ? AwayScore : HomeScore;\n\n return {\n id: Id,\n score: `${homeScore}:${awayScore}`,\n status: getMatchStatus(homeScore, awayScore)\n };\n });\n\n addMissingMatches(matches, result);\n\n return result;\n};\n\nconst createMatches = (teamId: number, matches: TStatistic[]) => {\n const result = matches.map(\n ({ Id, HomeTeam, AwayTeam, HomeScore, AwayScore }) => {\n const isHomeTeam = getIsHomeTeam(teamId, HomeTeam[0]);\n\n const homeScore = isHomeTeam ? HomeScore : AwayScore;\n const awayScore = isHomeTeam ? AwayScore : HomeScore;\n\n return {\n id: Id,\n score: `${HomeScore}:${AwayScore}`,\n status: getMatchStatus(homeScore, awayScore),\n teams: `${HomeTeam[0].name} - ${AwayTeam[0].name}`\n };\n }\n );\n\n addMissingMatches(matches, result);\n\n return result;\n};\n\nconst findTeamFromLeague = (\n teamId: number,\n league: TStatisticTable[]\n): TStatisticTable | undefined => {\n return league.find(({ EntityId }) => EntityId === teamId);\n};\n\nconst formatNextMatchDate = (date?: string): string => {\n if (!date) {\n return '-';\n }\n\n return dayjs(date).format(\n dateFormat({\n date: SpringConfigs.DT.longDate\n })\n );\n};\n\nconst calculateH2HResult = (\n teamId: number,\n matches: TStatistic[],\n type: 'all' | 'h' | 'a'\n): TPoint => {\n if (!matches.length) {\n return '-';\n }\n\n let matchesCount = 0;\n let win = 0;\n let draw = 0;\n\n matches.forEach(({ HomeTeam, HomeScore, AwayScore }) => {\n const isHomeTeam = getIsHomeTeam(teamId, HomeTeam[0]);\n\n const homeScore = isHomeTeam ? HomeScore : AwayScore;\n const awayScore = isHomeTeam ? AwayScore : HomeScore;\n\n const calculateWinAndDraw = () => {\n if (homeScore > awayScore) {\n win++;\n }\n\n if (homeScore === awayScore) {\n draw++;\n }\n };\n\n if (type === 'all') {\n matchesCount++;\n\n calculateWinAndDraw();\n }\n\n if (type === 'h' && isHomeTeam) {\n matchesCount++;\n\n calculateWinAndDraw();\n }\n\n if (type === 'a' && !isHomeTeam) {\n matchesCount++;\n\n calculateWinAndDraw();\n }\n });\n\n const result =\n Math.round(\n (((win * 1 + draw * HALF_SCORE_RESULT) * ONE_HUNDRED_PERCENT) /\n matchesCount) *\n SCORE_INDEX\n ) / SCORE_INDEX;\n\n return `${isNaN(result) ? 0 : result}%`;\n};\n\nconst calculateIt = (teamId: number, matches: TStatistic[]): TPoint => {\n if (!matches.length) {\n return '-';\n }\n\n const score = matches.reduce((result, { HomeTeam, HomeScore, AwayScore }) => {\n const isHomeTeam = getIsHomeTeam(teamId, HomeTeam[0]);\n\n result += isHomeTeam ? HomeScore : AwayScore;\n\n return result;\n }, 0);\n\n return `${Math.round((score / matches.length) * SCORE_INDEX) / SCORE_INDEX}`;\n};\n\nconst calculateGt = (matches: TStatistic[]): TPoint => {\n if (!matches.length) {\n return '-';\n }\n\n const score = matches.reduce((result, { HomeScore, AwayScore }) => {\n result += HomeScore + AwayScore;\n\n return result;\n }, 0);\n\n return `${Math.round((score / matches.length) * SCORE_INDEX) / SCORE_INDEX}`;\n};\n\nexport const getCompetitionLogoUrl = (id: number): string => {\n return `https://statistics.bcapps.org/images/c/s/0/${id}.png`;\n};\n\nexport const getMatchStatistic = async (\n matchId: number\n): Promise => {\n const response = await fetch(\n `https://krosstats.betconstruct.com/api/${SpringConfigs.STATISTICS_LANG_PREFIX}/900/93f428d0-6591-48da-859d-b6c326db2448/Match/GetFullMatchInfo?matchId=${matchId}`\n );\n\n return await response.json();\n};\n\nexport const formatMatchStatistic = ({\n HomeTeamId,\n AwayTeamId,\n CurrentMatch,\n H2HMatches,\n H2HleagueTable,\n UpcomingMatchesEnt1,\n UpcomingMatchesEnt2,\n PlayedMatchesEnt1,\n PlayedMatchesEnt2\n}: TMatchStatisticResponse): TMatchStatistic => {\n const statistic: Partial = {};\n\n const homeTeamInLeague = findTeamFromLeague(HomeTeamId, H2HleagueTable);\n const awayTeamInLeague = findTeamFromLeague(AwayTeamId, H2HleagueTable);\n\n const homeTeam = {\n id: HomeTeamId,\n name: CurrentMatch.HomeTeamName\n };\n\n const awayTeam = {\n id: AwayTeamId,\n name: CurrentMatch.AwayTeamName\n };\n\n statistic.competition = {\n id: CurrentMatch.CompetitionId,\n name: CurrentMatch.CompetitionName\n };\n\n statistic.h2h = [\n {\n team: homeTeam,\n matches: createH2HMatches(HomeTeamId, H2HMatches),\n all: calculateH2HResult(HomeTeamId, H2HMatches, 'all'),\n h: calculateH2HResult(HomeTeamId, H2HMatches, 'h'),\n a: calculateH2HResult(HomeTeamId, H2HMatches, 'a'),\n it: calculateIt(HomeTeamId, H2HMatches),\n gt: calculateGt(H2HMatches)\n },\n {\n team: awayTeam,\n matches: createH2HMatches(AwayTeamId, H2HMatches),\n all: calculateH2HResult(AwayTeamId, H2HMatches, 'all'),\n h: calculateH2HResult(AwayTeamId, H2HMatches, 'h'),\n a: calculateH2HResult(AwayTeamId, H2HMatches, 'a'),\n it: calculateIt(AwayTeamId, H2HMatches)\n }\n ];\n\n statistic.leagueResults = [\n {\n team: homeTeam,\n pos: `${homeTeamInLeague?.PositionTotal || '-'}`,\n pld: `${homeTeamInLeague?.PlayedTotal || '-'}`,\n pts: `${homeTeamInLeague?.PointsTotal || '-'}`,\n nextMatch: formatNextMatchDate(UpcomingMatchesEnt1[0]?.Date)\n },\n {\n team: awayTeam,\n pos: `${awayTeamInLeague?.PositionTotal || '-'}`,\n pld: `${awayTeamInLeague?.PlayedTotal || '-'}`,\n pts: `${awayTeamInLeague?.PointsTotal || '-'}`,\n nextMatch: formatNextMatchDate(UpcomingMatchesEnt2[0]?.Date)\n }\n ];\n\n statistic.lastGames = [\n {\n team: homeTeam,\n matches: createMatches(HomeTeamId, PlayedMatchesEnt1),\n it: calculateIt(HomeTeamId, PlayedMatchesEnt1),\n gt: calculateGt(PlayedMatchesEnt1)\n },\n {\n team: awayTeam,\n matches: createMatches(AwayTeamId, PlayedMatchesEnt2),\n it: calculateIt(AwayTeamId, PlayedMatchesEnt2),\n gt: calculateGt(PlayedMatchesEnt2)\n }\n ];\n\n return statistic as TMatchStatistic;\n};\n\nexport const getPopoverPlacement = (\n triggerId: string\n): TPopoverPositions | null => {\n const trigger = document.querySelector(\n `[data-popover-trigger=\"${triggerId}\"]`\n ) as HTMLElement;\n\n const clientTop = trigger?.getBoundingClientRect()?.top;\n\n const xPos = SpringConfigs.IS_RTL ? 'Right' : 'Left';\n const yPos =\n clientTop -\n STATISTIC_POPOVER_HEIGHT -\n ADDITIONAL_Y_POSITION_TO_TRIGGER_POPOVER_POSITION <\n 0\n ? 'bottom'\n : 'top';\n\n return (yPos + xPos) as TPopoverPositions;\n};\n","interface IScoreOption {\n value: string;\n coeficient: number;\n handicap?: string;\n}\n\nexport type IScoreOptions = IScoreOption[];\n\nexport const orderOptions = (options: IScoreOptions): IScoreOptions => {\n const win = [];\n const equal = [];\n const lose = [];\n\n options.sort(\n (a, b) =>\n Number(a.handicap?.split('-').join('')) -\n Number(b.handicap?.split('-').join(''))\n );\n\n for (const option of options) {\n const arrHand = option.handicap?.split('-').map(n => Number(n));\n\n if (arrHand) {\n if (arrHand[0] > arrHand[1]) {\n win.push(option);\n } else if (arrHand[0] < arrHand[1]) {\n lose.push(option);\n } else {\n equal.push(option);\n }\n }\n }\n\n const all = [];\n const maxLength = Math.max(win.length, equal.length, lose.length);\n\n for (let i = 0; i < maxLength; i++) {\n all.push(win[i], equal[i], lose[i]);\n }\n\n return all;\n};\n","import i18n from 'i18next';\nimport { RACING_SPORT_IDS } from 'utils/constants/sportsbook/racing-sport';\nimport { Game, Sport } from 'interfaces/sportsbook-data-levels';\n\nexport const CUSTOM_OTHERS_GROUP_ID = 999999;\n\nexport const setMissingMarketGroupNameOther = (swarmData: {\n sport: Record;\n}): { sport: Record> } => {\n const data = JSON.parse(JSON.stringify(swarmData));\n\n if (\n data?.sport &&\n Object.values(data.sport).length &&\n Object.values(data.sport)[0]\n ) {\n for (const sport in data.sport) {\n if (!RACING_SPORT_IDS.includes(+data.sport[sport].id)) {\n const regions = data.sport[sport].region;\n\n for (const region in regions) {\n const competitions = regions[region].competition;\n\n for (const competition in competitions) {\n const games = competitions[competition].game;\n\n for (const game in games) {\n const markets = games[game].market;\n\n for (const market in markets) {\n if (markets[market]) {\n markets[market].group_id =\n markets[market]?.group_id || CUSTOM_OTHERS_GROUP_ID;\n markets[market].group_name =\n markets[market].group_name || i18n.t('generic.other');\n }\n }\n }\n }\n }\n }\n }\n }\n\n return data;\n};\n"],"names":["FavoriteButtonMarket","_ref","group","isMainMarket","className","dispatch","useDispatch","openLoginPopup","useOpenLoginPopup","isLoggedIn","useSelector","getIsLoggedIn","groupName","useMemo","_group$markets","_group$markets$","_group$markets2","_group$markets2$","MAIN_MARKETS_TYPE","markets","type","name","active","getFavoriteActiveStateById","_jsx","EventAction","size","ghost","dataTestid","icon","GlobalIcon","lib","theme","EIconSize","_20","onClick","e","stopPropagation","SpringConfigs","USER_PERSONALIZATION_ENABLED","LocalStorage","setItem","storageKeyName","toggleFavorite","groupKey","entity","FavoriteButtonGame","game","iconMargin","iconContainerSize","externalCallback","id","favoriteMatchIds","getFavoriteMatchIds","gameType","favoriteSelectorOptions","esport","includes","margin","preventDefault","JSON","stringify","AdditionalStatisticsFilterSkeleton","block","Skeleton","Button","style","minWidth","minHeight","height","isMobile","borderRadius","CounterStrikeStatisticsScoresSkeleton","children","createArray","map","index","width","key","cc","Avatar","shape","IS_RTL","MOBAGamesStatisticsScoresSkeleton","_jsxs","CounterStrikeStatistics","lazyImport","MOBAGamesStatistics","AdditionalStatisticsFilter","ADDITIONAL_STATISTICS_LAYOUTS","Proxy","ESPORTS_ADDITIONAL_DATA","CounterStrike","alias","view","skeleton","Input","MOBAGames","get","target","prop","isESportMOBAGames","AdditionalStatistics","_game$info4","_additionalStatistics2","_game$info7","_game$info7$score","_game$info8","_game$info8$score","_game$info9","_game$info10","_game$info11","_game$info11$score","_game$info12","_game$info12$score","_game$text_info","isLive","useSearchParams","params","sport","useSbRouteMatch","additionalStatisticsData","getAdditionalStatisticsData","isLivePage","isOuthright","show_type","teamCaptionSize","currentMapData","sport_alias","isMOBAGames","isOpenStatistics","setIsOpenStatistics","useState","Object","keys","useEffect","_game$info","_game$info$additional","_game$info2","_game$info2$additiona","maps","info","additional_data","selected","current","find","Number","number","_game$info3","_game$info3$additiona","length","timers","setAdditionalStatisticsData","undefined","Layout","team1Color","team2Color","_additionalStatistics","teamColors","isHomeBlue","reverse","_Fragment","Row","align","Col","xs","ColSizes","SIZE_24","SIZE_14","SIZE_12","TeamInfo","score1","paddingRight","SCORE_MULTIPLIER","Logo","isFirstLogo","TeamCaption","logo","teamId","team1_id","team1_name","dontShowTitle","Score","score2","paddingLeft","team2_id","team2_name","dangerouslySetInnerHTML","__html","gameTextInfo","_game$info5","_game$info6","mapsData","team1ClassColor","team2ClassColor","text","teams","forEach","values","outcome","round","wonSide","justifyContent","AdditionalStatisticsArrowIcon","Suspense","fallback","text_info","sportAlias","expanded","_ref2","_16","prev","styled","div","withConfig","displayName","componentId","props","EVENTS_DEFAULT_COUNT","MarketsListOnlySkeleton","eventsSkeletonCount","isEuropeanLayout","useSportsbookConfigs","spbLayoutType","ESportsbookLayoutTypes","EUROPEAN","title","paragraph","background","overflow","marginBottom","wrap","padding","borderTop","borderBottom","flex","marginTop","gutterV","ROW_GUTTER","_4","gutterH","SIZE_8","MatchHeaderSkeleton","Header","StyledImg","img","Content","window","innerWidth","innerWidthThreshold","WINDOW_WIDTH_THRESHOLD_1520","TeamFlag","Flag","MatchDetails","WINDOW_WIDTH_THRESHOLD_1350","$isOneGame","CompetitionName","StartDay","StartTime","TeamName","SportImageOverlay","matchInfoNameSports","MatchInfoCardSkeleton","CardWrapper","cardWrapper__mobile","cardWrapper__desktop","matchInfoName","$bgImageSrc","CardHeader","CardBody","CardFooter","TimestampIndicator","LocationExtra","CardBodyTeams","$alignment","TeamLogo","TeamLogoComponent","$sizeByPixels","TeamCredentialsWrapper","Spacer","EmptyOdd","React","emptyOddStyle","colorVariables","empty__OddStyle","oddsBgColor","border","oddBorderColor","color","oddTextColor","ODDS_GROUP_COUNTS","EmptyOddGroup","memo","sportName","isExpanded","colCount","getColCount","toLocaleLowerCase","Array","fill","_","OddButton","forwardRef","buttonRef","_boostedOdds$gameId","_boostedOdds$gameId2","_boostedOdds$gameId3","visible","parent","handicap","value","isBlocked","fullName","marketType","type1","base","gameId","noBoosted","coeficient","oddFormat","isUsaSinglePage","uniqueId","useId","quickBetStake","getQuickBetStake","quickBetSelectedEventId","getQuickBetSelectedEventId","boostedOdds","getBoostedOdds","prevCoefficient","usePrevious","recaptchaEnabled","getRecaptchaEnabled","isQuickBetEnabled","getQuickBetEnabled","shouldShowQuickBetInfoPopover","getShouldShowQuickBetInfoPopover","isOddActive","handleClick","onChange","useEventbus","ERecaptchaEventBusActionTypes","Verified","payload","isBoostedOdd","EBoostType","ALL","LIVE","PREMATCH","getCanShowHandicaps","showHandicaps","hideHandicapName","indicatorValue","getIndicatorPosition","hidePopover","event","Infinity","setQuickBetSelectedEventId","fireEvent","Validate","Math","floor","FULL_WIDTH_PERCENTAGE","marketColCount","ref","whiteText","oddOverflow","usaOdds","globalEllipsis","_11","_14","convert","PREVIOUS_BOOSTED_ODDS","calculateBoostedOdds","OddIndicator","isUsaLayout","OddPopover","popover","getButtonPosition","_Popover","content","ConfirmationPopover","placement","trigger","onVisibleChange","overlayClassName","validateRecaptcha","destroyTooltipOnHide","getPopupContainer","document","querySelector","body","Odd","_parent$popover","_parent$popover2","_parent$popover3","Boolean","useOddButtonPosition","TWO_COLUMN_MARKET","Odds","_props$marketType","isCorrectScore","isTwoColumnMarket","options","result","_correctScoreOptions","correctScoreOptions","isCorrectScoreOrdered","orderOptions","filter","option","additionalEmptyMarketsCount","ceil","i","matchResultColors","D","W","L","StatisticsBanner","$loading","bgImageSrc","GameWrapper","fullHeight","Result","span","resultKey","GameInfo","p","hasImage","Name","Container","dir","_props$entry","_props$entry2","_props$entry3","_props$entry4","_props$entry5","_props$entry6","setHasImage","t","useTranslation","competition","String","substr","toUpperCase","nameStyle","entry","Position","Points","LINK","GLOBALS","appConfigs","statisticsLinkLogoV3","TEAM_LOGO_LINK","COMPETITION_LOGO_LINK","imageLoadingType","sizeByPixels","imageSrc","setImageSrc","loading","setLoading","onLoaded","setOnLoaded","imageSizeVar","mounted","useMounted","TEAM_LOGOS","Image","src","onload","onerror","SkeletonAvatarSize","SIZE_60","alt","onLoad","initial","useRef","previous","EMatchStatuses","GameHeaderSkeleton","_12","maxWidth","isRtl","marginLeft","marginRight","_24","display","alignItems","gap","MatchStatisticPopover","lazy","MatchStatistic","matchId","showStatisticInPopover","triggerId","random","MILLISECONDS_IN_SECOND","setPLacement","handleSetPlacement","getPopoverPlacement","addEventListener","removeEventListener","handleRedirect","useCallback","open","STATISTICS_URL","STATISTICS_LANG_PREFIX","MatchStatisticPopoverSkeleton","MatchStatisticHeaderSkeleton","TeamInfoSkeleton","MatchStatisticHistorySkeleton","MatchStatisticLastGamesSkeleton","MatchStatisticLeagueResultsSkeleton","StreamCourtSkeleton","classNames","streamPlaceHolderStyles","useStreamPlaceHolderStyles","withBase","isEvent","USA_LAYOUT_ICON_SIZE","DEFAULT_LAYOUT_ICON_SIZE","position","SingleGameViewSkeleton","_ADDITIONAL_STATISTIC","onBack","showGoBack","showAdvancedHeader","hasAdditionalStatistics","configs","AdditionalLayoutSkeleton","pageType","ESportsbookPageTypes","live","AdvancedHeaderBreadcrumb","MATCH_TRACKER_AVAILABLE_SPORTS","ADVANCED","HorizontalMenu","selectedKey","items","SingleGameViewMobile","SingleGameViewDesktop","SingleGameView","_useSelector","_gameData$game$info4","path","region","searchParams","history","goBack","useCustomHistory","selectedSport","getSportsbookSelectedSport","openTimeLine","setOpenTimeLine","isFavoriteTeam","category","ENotRealSports","team","gameData","getSingleGameData","useScrollToTop","setGameData","swarmData","showToastWarning","data","setMissingMarketGroupNameOther","setSingleGameData","_gameData$game$info","_gameData$game$info$a","_gameData$game$info2","_gameData$game$info2$","_gameData$game$info3","_gameData$game$info3$","mountPoint","getPathname","sportsBook","redirectedFromFavorite","currentPathName","location","pathname","setSportsbookSelectedSport","lastIndex","lastIndexOf","pathWithoutGame","slice","savedUrl","getSavedLocation","AMERICAN","backUrl","usedDesktopUrlStructureOnMobile","todayEvents","isUsaFavTeamWithNoStoredUrl","toSportAliasBackUrl","getMountPath","resetMatchStreamingState","push","search","MOCKED_DATA","rid","RidGenerator","gForSubscribe","where","parseInt","GAME_TYPE_LIVE","PREMATCH_GAME_TYPE_FOR_SWARM","shouldIncludePrematchExpressId","prematch","isPayoutAvailable","PAYOUT_AVAILABLE_SPORTS","executeCommand","getSportsbookSingleGameRelations","unsubscribeCommand","addQuery","setAllMetaData","competitionName","start_ts","useLayoutEffect","toString","setCompetitionMetaData","setGameMetaData","setSportMetaData","Viewport","mobile","desktop","innerProps","additionalNavigationItems","navigationItems","redirectPath","handleBackClick","fallbackUrl","item","_item$id","Fragment","MATCH_STREAM_SPORTS_HEIGHT","matchStreamHeightSettings","default","LeagueOfLegends","Dota2","JURISDICTION","streamTypeFromLS","localStorage","getItem","routeParams","streamingType","getMatchStreamingType","getMatchStreamingGameData","gamePreviewNotAvailable","getGamePreviewNotAvailable","closedMatchStreamingContent","EMatchStreamingTypes","VOID","TIMELINE","containerAliasHeight","isActiveStreamTab","isActiveStreamTabMode","zIndex","backgroundColor","paddingTop","getESportData","getSelectorRoot","getSport","getCachedSport","getGames","getGamesSingleViewData","getMatchStreamingStore","getIsTheatreMode","getIsTheatreModePrev","getMatchStreamingUrls","getIsCanFixMSOnTop","getIsStreamerLandscape","getMatchStreamingViewMode","getIsMatchStreamingVisible","getMatchStreamingPrevViewMode","getMatchStreamingLiveStreamInfo","getMatchStreamingContainerInfo","getIsMSTheatreModeAvailable","getMatchStreamingChannelInfo","getIsMatchStreamingChannelsAvailable","getIsStreamingPreviewUnavailable","getDisableMatchStreamingType","HALF_SCORE_RESULT","ONE_HUNDRED_PERCENT","SCORE_INDEX","FAVORITE_BUTTON_CONTAINER_ICON_SIZE","ADVANCED_CONTAINER_SIZE","FavoritePerRow","FavoritePerRowMobile","MULTIVIEW_CARDS_ROW","MS_STATISTICS_AVAILABLE_SPORTS","TIMELINE_AVAILABLE_SPORTS","context","arguments","configureMessage","ERROR_MSG_DURATION","_message","warn","DOTA_2_SETTINGS","titles","i18next","icons","names","firstSanctuary","secondSanctuary","positions","roshen","top","left","tower","kills","getIconPositionsAndSizes","STREAMING_ASPECT_RATIOS","this","LEAGUE_OF_LEGENDS_SETTINGS","dragons","epicMonsters","ESPORTS_ADDITIONAL_DATA_IDS","GET_MOBA_GAMES_SETTINGS_DATA","GET_MOBA_GAMES_STATISTICS_DATA","additionalDataMap","_additionalDataMap$ki","_additionalDataMap$ba","_additionalDataMap$el","_additionalDataMap$to","_additionalDataMap$in","_additionalDataMap$ki2","_additionalDataMap$ba2","_additionalDataMap$el2","_additionalDataMap$to2","_additionalDataMap$in2","_additionalDataMap$ma","_additionalDataMap$ma2","_additionalDataMap$ma3","_additionalDataMap$ma4","statistics","killScore","team1","baronScore","elementarDragonScore","towerScore","inhibitor","team2","mapState","destroyedInhibitors","destroyedTowers","dragonType","epicMonsterType","_find$value","_find","_additionalDataMap$to3","_additionalDataMap$to4","codeValue","tormentorScore","barrackScore","destroyedBarracks","barrack","toFixed","prevCoeffFiltered","shouldShowLiveTime","toLowerCase","streamTabOnclick","tabMode","STREAM_ACTIVE_TAB_MODE","allTypes","ACTIVE_STREAM_TAB","IS_ACTIVE_STREAM_TAB","mode","getIsHomeTeam","homeTeamId","homeTeam","getMatchStatus","teamScore","concurrentScore","lose","win","draw","addMissingMatches","matches","score","status","createH2HMatches","Id","HomeTeam","HomeScore","AwayScore","isHomeTeam","homeScore","awayScore","createMatches","AwayTeam","findTeamFromLeague","league","_ref3","EntityId","formatNextMatchDate","date","dayjs","format","dateFormat","DT","longDate","calculateH2HResult","matchesCount","_ref4","calculateWinAndDraw","isNaN","calculateIt","reduce","_ref5","calculateGt","_ref6","getCompetitionLogoUrl","getMatchStatistic","async","response","fetch","json","formatMatchStatistic","_ref7","_UpcomingMatchesEnt1$","_UpcomingMatchesEnt2$","HomeTeamId","AwayTeamId","CurrentMatch","H2HMatches","H2HleagueTable","UpcomingMatchesEnt1","UpcomingMatchesEnt2","PlayedMatchesEnt1","PlayedMatchesEnt2","statistic","homeTeamInLeague","awayTeamInLeague","HomeTeamName","awayTeam","AwayTeamName","CompetitionId","h2h","all","h","a","it","gt","leagueResults","pos","PositionTotal","pld","PlayedTotal","pts","PointsTotal","nextMatch","Date","lastGames","_trigger$getBoundingC","getBoundingClientRect","equal","sort","b","_a$handicap","_b$handicap","split","join","_option$handicap","arrHand","n","maxLength","max","parse","RACING_SPORT_IDS","regions","competitions","games","market","_markets$market","group_id","group_name","i18n"],"sourceRoot":""}