{"version":3,"file":"static/js/91877.5a2fa9a8.chunk.js","mappings":"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","sources":["components/Shared/ConfirmationPopover/ConfirmationPopover.styled.ts","components/Shared/ConfirmationPopover/ConfirmationPopover.tsx","deviceactionmanager/DeviceActionManager.ts","newelements/_Betslip/utils/constants/doBet.ts","hooks/betslip/useDoBet.ts","hooks/betslip/useSuperBetAvailable.ts","hooks/useOddChange.tsx","hooks/usePredefinedStakes.ts","newcomponents/Shared/account/PlayerActivityChecker/types.ts","newelements/_Betslip/layouts/Basic/managers/EditBetManager/editBetActions.ts","newelements/_Betslip/types/edit-bet.ts","newelements/_Betslip/utils/generic/getAdvancedMultipleGeneralField.ts","newhooks/account/useCheckGeoComply.ts","newhooks/sportsbook/useOddButtonPosition.ts","services/bet-slip.ts"],"sourcesContent":["import styled from 'styled-components';\nimport { isMobile } from 'utils/is-mobile';\n\nexport const ConfirmationPopoverStyled = styled.div`\n  width: ${isMobile() ? '264px' : '328px'};\n  padding: 4px 0;\n`;\n\nexport const MainSectionStyled = styled.div`\n  display: flex;\n  align-items: center;\n  padding-bottom: 16px;\n`;\n\nexport const MainSectionIconStyled = styled.div`\n  width: 68px;\n  min-width: 68px;\n  height: 68px;\n  border-radius: 50%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background-color: var(--v3-black-4);\n  & > div {\n    width: 48px;\n    height: 48px;\n    border-radius: 50%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    background-color: var(--v3-black-6);\n    & path {\n      fill: var(--v3-primary-6);\n    }\n  }\n`;\n\nexport const MainSectionWrapperStyled = styled.div`\n  width: 100%;\n  padding-left: 8px;\n`;\n\nexport const MainSectionTitleStyled = styled.div`\n  font-weight: 600;\n  font-size: 16px;\n  line-height: 24px;\n  color: var(--v3-text-color);\n  padding-bottom: 4px;\n`;\n\nexport const MainSectionMessageStyled = styled.div`\n  font-weight: normal;\n  font-size: 14px;\n  line-height: 20px;\n  color: var(--v3-text-color-secondary);\n`;\n\nexport const CheckboxSectionWrapperStyled = styled.div`\n  padding: 16px 0;\n  border-top: 1px solid var(--v3-black-6);\n`;\n\nexport const CheckboxSectionStyled = styled.div`\n  display: flex;\n  align-items: center;\n  justify-content: flex-start;\n  cursor: pointer;\n`;\n\nexport const ButtonsSectionStyled = styled.div`\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n`;\n\nexport const ButtonWrapperStyled = styled.div`\n  width: calc(50% - 4px);\n`;\n","import {\n  memo,\n  ReactElement,\n  Suspense,\n  SyntheticEvent,\n  useCallback,\n  useEffect,\n  useState\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { EIconSize } from 'utils/constants/app/ui';\nimport { lazy as lazyimport } from 'utils/generic/lazy';\nimport {\n  ButtonsSectionStyled,\n  ButtonWrapperStyled,\n  CheckboxSectionStyled,\n  CheckboxSectionWrapperStyled,\n  ConfirmationPopoverStyled,\n  MainSectionIconStyled,\n  MainSectionMessageStyled,\n  MainSectionStyled,\n  MainSectionTitleStyled,\n  MainSectionWrapperStyled\n} from './ConfirmationPopover.styled';\nimport { GlobalIcon } from 'components/GlobalIcon';\nimport { Button } from 'newcomponents/UI/Button';\nimport { Checkbox } from 'newcomponents/UI/Checkbox';\nimport { toggleQuickBetPopup } from 'store/actions/betslip';\nimport { getRecaptchaEnabled } from 'store/selectors/app-data';\nimport { getShouldShowQuickBetInfoPopover } from 'store/selectors/betslip';\n\nconst { Recaptcha } = lazyimport(\n  () => import(/* webpackChunkName: \"recaptcha\" */ 'components/Recaptcha')\n);\n\ntype TProps = {\n  onCancel?: (event: SyntheticEvent) => void | null;\n  onConfirm?: (event?: MouseEvent) => void;\n  validateRecaptcha?: boolean;\n  selectedEvents?: string[];\n};\n\nexport const ConfirmationPopover = memo(\n  ({\n    onCancel,\n    onConfirm,\n    validateRecaptcha,\n    selectedEvents\n  }: TProps): ReactElement => {\n    const dispatch = useDispatch();\n    const shouldShowQuickBetInfoPopover = useSelector(\n      getShouldShowQuickBetInfoPopover\n    );\n\n    const recaptchaEnabled = useSelector(getRecaptchaEnabled);\n    const [shouldValidateRecaptchaV3, setShouldValidateRecaptchaV3] =\n      useState(false);\n\n    const { t } = useTranslation();\n\n    const onPlaceBet = useCallback(\n      (event: SyntheticEvent) => {\n        event?.stopPropagation();\n\n        recaptchaEnabled ? setShouldValidateRecaptchaV3(true) : onConfirm?.();\n      },\n      [recaptchaEnabled]\n    );\n\n    useEffect(() => {\n      validateRecaptcha && setShouldValidateRecaptchaV3(true);\n    }, [validateRecaptcha, selectedEvents]);\n\n    return (\n      <>\n        {!validateRecaptcha && (\n          <ConfirmationPopoverStyled>\n            <MainSectionStyled>\n              <MainSectionIconStyled>\n                <div>\n                  <GlobalIcon\n                    lib=\"generic\"\n                    name=\"infoOutlined\"\n                    theme=\"default\"\n                    size={EIconSize._30}\n                  />\n                </div>\n              </MainSectionIconStyled>\n              <MainSectionWrapperStyled>\n                <MainSectionTitleStyled>\n                  {t('betslip.howToBet')}\n                </MainSectionTitleStyled>\n                <MainSectionMessageStyled>\n                  {t('betslip.howToBetMessage')}\n                </MainSectionMessageStyled>\n              </MainSectionWrapperStyled>\n            </MainSectionStyled>\n            <CheckboxSectionWrapperStyled>\n              <CheckboxSectionStyled\n                onClick={event => {\n                  event.stopPropagation();\n\n                  dispatch(toggleQuickBetPopup());\n                }}\n              >\n                <Checkbox checked={!shouldShowQuickBetInfoPopover}>\n                  {t('betslip.dontShowMessage')}\n                </Checkbox>\n              </CheckboxSectionStyled>\n            </CheckboxSectionWrapperStyled>\n            <ButtonsSectionStyled>\n              <ButtonWrapperStyled>\n                <Button\n                  fullwidth\n                  type=\"default\"\n                  size=\"large\"\n                  onClick={onCancel}\n                >\n                  {t('account.cancel')}\n                </Button>\n              </ButtonWrapperStyled>\n              <ButtonWrapperStyled>\n                <Button\n                  fullwidth\n                  type=\"primary\"\n                  size=\"large\"\n                  onClick={onPlaceBet}\n                >\n                  {t('betslip.betNow')}\n                </Button>\n              </ButtonWrapperStyled>\n            </ButtonsSectionStyled>\n          </ConfirmationPopoverStyled>\n        )}\n        {recaptchaEnabled && (\n          <Suspense>\n            <Recaptcha\n              action=\"do_bet\"\n              onSetRecaptchaToken={() => {\n                onConfirm?.();\n                setShouldValidateRecaptchaV3(false);\n              }}\n              shouldValidate={shouldValidateRecaptchaV3}\n            />\n          </Suspense>\n        )}\n      </>\n    );\n  }\n);\n","import { iOSWrapperApp } from 'utils/constants/swarm/spring-configs';\n\nexport const deviceActionManager = {\n  vibrate: handleHapticFeedback\n  //Can add more managers here\n};\n\nfunction handleHapticFeedback(\n  message: 'impactLight' | 'impactMedium' | 'impactHeavy'\n) {\n  const hapticMessage = { type: message };\n\n  if (iOSWrapperApp) {\n    window?.webkit?.messageHandlers?.triggerHaptic.postMessage(hapticMessage);\n  } else {\n    if (window.triggerHaptic) {\n      window.triggerHaptic.postMessage(JSON.stringify(hapticMessage));\n    }\n  }\n}\n","export const BETSLIP_DO_BET_CONSTANTS = {\n  ukBetSource: '136132'\n};\n","import { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { message as antMessage } from 'antd';\nimport {\n  getBetSlipFromLs,\n  getType,\n  removeAllBetSlipEvent,\n  removeBetSlipEvent\n} from 'utils/betslip/betslip';\nimport LS from 'utils/bom-dom-manipulation/local-storage';\nimport {\n  BET_SP_COEFICIENT,\n  COUNTER_OFFER_ACTIVE_TYPE,\n  SUPER_BET_ACTIVE_TYPE\n} from 'utils/constants/app/magic-numbers-app';\nimport {\n  BET_TYPE_NAMES_KEYS,\n  BET_TYPES,\n  EDIT_BET_STATUSES_TO_REMOVE_EVENT_FROM_BETSLIP\n} from 'utils/constants/betslip/bet-types';\nimport { ERROR_CODE_TIMEOUT_1800 } from 'utils/constants/dateInfo/time-numbers';\nimport { backendErrorCodes } from 'utils/constants/swarm/backend-error-codes';\nimport { BackendStatusCodes } from 'utils/constants/swarm/backend-status-codes';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { showToastError } from 'utils/generic/show-toast-error';\nimport { storageKeyName } from 'utils/generic/storage-key-name';\nimport { isMobile } from 'utils/is-mobile';\nimport { customizeMessage } from 'utils/swarm/swarm-error-handler';\nimport {\n  BetSlipEventObj,\n  EAdvancedSelectedTabs,\n  UkBets\n} from 'interfaces/bet-data';\nimport {\n  doBetProps,\n  EAfterSuccessfulBet,\n  EBetslipBetType,\n  EBetslipType,\n  TSuperBetEventType\n} from 'interfaces/betslip';\nimport { doBet } from 'services/bet-slip';\nimport { clearEditBet } from 'newelements/_Betslip/layouts/Basic/managers/EditBetManager/editBetActions';\nimport {\n  calculateAndDispatchSingleBetsUpdates,\n  calculateAndDispatchUpdates\n} from 'newelements/_Betslip/utils/action-middlewares/store-actions-middlewares/calculateAndDispatchUpdates';\nimport { BETSLIP_DO_BET_CONSTANTS } from 'newelements/_Betslip/utils/constants/doBet';\nimport { GENERAL_FIELD_KEY } from 'newelements/_Betslip/utils/constants/shared';\nimport { getIsMultipleGeneralField } from 'newelements/_Betslip/utils/generic/getAdvancedMultipleGeneralField';\nimport { useSuperBetAvailable } from 'hooks/betslip/useSuperBetAvailable';\nimport { usePredefinedStakes } from 'hooks/usePredefinedStakes';\nimport { UseCheckGeoComply } from 'newhooks/account/useCheckGeoComply';\nimport { batchActions, setCounterOffersUnderReviewModal } from 'store/actions';\nimport {\n  removeFreeBetItem,\n  removeProfitBoostItem,\n  setBetslipOpen,\n  setBetUkType,\n  setIsBetInProgress,\n  setOpenBetsLoading,\n  setSelectedProfitBoostEventId,\n  setSentCounterOffersCount,\n  setSentSuperBetCount,\n  triggerBetted\n} from 'store/actions/betslip';\nimport {\n  getAdvancedSelectedTab,\n  getAllLsBets,\n  getAllStakes,\n  getBetsCalculations,\n  getBetslipType,\n  getBetTypesConf,\n  getBookBetId,\n  getComputedBetType,\n  getCounterOfferActiveEventIds,\n  getEditBet,\n  getIsFreeBetEnabled,\n  getOddsCounterOffers,\n  getSelectedFreeBetAmount,\n  getSelectedProfitBoostItem,\n  getSelectedSystem,\n  getSentCounterOffersCount,\n  getSentSuperBetCount,\n  getSuperBetActiveEventIds\n} from 'store/selectors/betslip';\nimport { getFreeBets } from 'store/selectors/betslip/freeBet';\nimport { getPartnerConfigs } from 'store/selectors/socket';\n/* eslint-disable no-magic-numbers */\n\n// @Todo betslip-types move into betslip types\ntype TBetObject = {\n  amount: number;\n  bets: Array<{\n    event_id: number;\n    price: number;\n  }>;\n  type: number;\n  mode: number;\n  source: string;\n  bonus_id?: number;\n  sys_bet?: number;\n  booking_id?: number;\n  each_way?: boolean;\n};\n\ntype Props = {\n  currentType: EBetslipBetType;\n  setAcceptBet: (value: ((prevState: boolean) => boolean) | boolean) => void;\n  setSelected: (data: string) => void;\n  toggleBetslipView: (open: boolean) => void;\n  betslipRef: { current: HTMLElement | null | undefined };\n  totalSingleWin: number;\n  totalStake: number;\n  setShouldValidateRecaptchaV3: (\n    value: ((prevState: boolean) => boolean) | boolean\n  ) => void;\n};\n\ntype UseDoBetType = {\n  clearUkTypes: () => void;\n  onPlaceBet: () => void;\n};\n\ntype TSuperBetError = {\n  result?: number;\n  result_text?: string;\n  StatusCode?: string;\n};\n\ntype TDoBetErrorCallback = {\n  data: {\n    result: number;\n  };\n  StatusCode: string;\n  details?: Record<string, string>;\n  result_text?: string;\n  result?: number;\n};\n\nexport const useDoBet = ({\n  currentType,\n  setAcceptBet,\n  setSelected,\n  toggleBetslipView,\n  betslipRef,\n  totalSingleWin,\n  totalStake,\n  setShouldValidateRecaptchaV3\n}: Props): UseDoBetType => {\n  const { predefinedStakes } = usePredefinedStakes();\n  const stakes = useSelector(getAllStakes);\n  const selectedProfitBoostItem = useSelector(getSelectedProfitBoostItem);\n\n  const dispatch = useDispatch();\n\n  const partnerConfigs = useSelector(getPartnerConfigs);\n  const system = useSelector(getSelectedSystem);\n  const allLsBets = useSelector(getAllLsBets);\n  const editBet = useSelector(getEditBet);\n  const betTypesConf = useSelector(getBetTypesConf);\n  const betslipType = useSelector(getBetslipType);\n  const sentCounterOffersCount = useSelector(getSentCounterOffersCount);\n  const sentSuperBetCount = useSelector(getSentSuperBetCount);\n  const oddsOffers = useSelector(getOddsCounterOffers);\n  const bookBetId = useSelector(getBookBetId);\n  const advancedSelectedTab = useSelector(getAdvancedSelectedTab);\n  const betslipBetType = useSelector(getComputedBetType);\n\n  const { singleEventsCalculations, general } =\n    useSelector(getBetsCalculations);\n\n  const superBetActiveEventIds = useSelector(getSuperBetActiveEventIds);\n  const counterOfferActiveEventIds = useSelector(getCounterOfferActiveEventIds);\n  const { selectedFreeBetEventId, selectedFreeBetId } =\n    useSelector(getFreeBets);\n\n  const isFreeBetEnabled = useSelector(getIsFreeBetEnabled);\n  const selectedFreeBetAmount = useSelector(getSelectedFreeBetAmount);\n\n  const { t } = useTranslation();\n\n  const isSuperBetAvailable = useSuperBetAvailable();\n  const { doBetHandler } = useDoBetHandler();\n\n  const setInProgress = (data: boolean) => {\n    dispatch(setIsBetInProgress(data));\n  };\n\n  const removeActiveTabLoading = () => {\n    dispatch(setOpenBetsLoading(true));\n  };\n\n  const handleSuperBetError = (\n    eventId: TSuperBetEventType,\n    error: TSuperBetError\n  ) => {\n    if (error.result === BackendStatusCodes.betslip.useSuperBet) {\n      const errorMessage = backendErrorCodes[error.result]\n        ? t(backendErrorCodes[error.result])\n        : error.result_text || error.StatusCode || '';\n\n      const message = customizeMessage(errorMessage, error);\n\n      if (message) {\n        const content = `${message} ${\n          isSuperBetAvailable\n            ? `<span style=\"text-decoration: underline\">${t(\n                'swarm.useSuperBet'\n              )}</span>`\n            : ''\n        }`;\n\n        showToastError(\n          content,\n          null,\n          null,\n          () => {\n            antMessage.destroy(content);\n\n            if (!superBetActiveEventIds.some(id => id == eventId)) {\n              calculateAndDispatchUpdates({ id: eventId, superBet: true });\n            }\n\n            if (isMobile()) {\n              dispatch(setBetslipOpen(true));\n            }\n          },\n          { cursor: 'pointer' }\n        );\n      }\n    }\n  };\n\n  const getBetObj = (\n    bets: Array<Partial<BetSlipEventObj>>,\n    betType: number,\n    each_way?: boolean\n  ) => {\n    const sendTag = bets.every(({ tag }) => !!tag);\n    const firstEventId = bets[0].eventId;\n\n    const mode = (() => {\n      // this is for single do bet and it's temporary\n      const isCounterOfferActive =\n        counterOfferActiveEventIds.some(id => id == firstEventId) &&\n        bets.length === 1;\n\n      const isSuperBetActive = superBetActiveEventIds.some(\n        id => firstEventId == id || id === GENERAL_FIELD_KEY\n      );\n\n      const isSuperBetAllowForPrematch =\n        SpringConfigs.SUPER_BET_DEFAULT_ON &&\n        bets.every(({ isLive }) => !isLive);\n\n      const isSuperBetActiveForLive =\n        SpringConfigs.SUPER_BET_DEFAULT_ON &&\n        partnerConfigs?.is_superbet_on_live;\n\n      const shouldBetWithSuperBet =\n        isSuperBetActive ||\n        isSuperBetAllowForPrematch ||\n        isSuperBetActiveForLive;\n\n      if (isCounterOfferActive) {\n        return COUNTER_OFFER_ACTIVE_TYPE;\n      }\n\n      if (shouldBetWithSuperBet) {\n        return SUPER_BET_ACTIVE_TYPE;\n      }\n\n      return Number(\n        JSON.parse(LS.getItem(storageKeyName('betslip', 'ACCEPT_BET')))?.value\n      );\n    })();\n\n    const amount = (() => {\n      const isFreeBet =\n        isFreeBetEnabled && selectedFreeBetId && selectedFreeBetAmount;\n\n      if (isFreeBet) {\n        return selectedFreeBetAmount;\n      }\n\n      if (currentType !== EBetslipBetType.SINGLE) {\n        return general?.finalStake || 0;\n      }\n\n      return (\n        (bets[0].eventId &&\n          singleEventsCalculations[bets[0].eventId]?.finalStake) ||\n        0\n      );\n    })();\n\n    const betEvents = bets.map(bet => ({\n      event_id: Number(bet.eventId),\n      price: bet.sp ? BET_SP_COEFICIENT : Number(bet.coeficient),\n      ...(sendTag ? { tag: bet.tag } : {}),\n      booking_id: bet.booking_id\n    }));\n\n    const betObj: TBetObject = {\n      amount,\n      bets: betEvents,\n      type: betType,\n      mode,\n      source: String(SpringConfigs.SOURCE)\n    };\n\n    if (isFreeBetEnabled && selectedFreeBetId) {\n      betObj.bonus_id = selectedFreeBetId;\n    }\n\n    if (betType === BET_TYPES.SYSTEM) {\n      betObj.sys_bet = system?.value;\n    }\n\n    if (each_way) {\n      betObj.each_way = each_way;\n    }\n\n    if (bookBetId) {\n      betObj.booking_id = Number(bookBetId);\n    }\n\n    if (\n      selectedProfitBoostItem &&\n      (betType === BET_TYPES.SINGLE || betType === BET_TYPES.MULTIPLE)\n    ) {\n      betObj.bonus_id = selectedProfitBoostItem.id;\n    }\n\n    return betObj;\n  };\n\n  const singleDoBet = () => {\n    allLsBets.forEach(bet => {\n      if (selectedFreeBetEventId && bet.eventId !== selectedFreeBetEventId) {\n        return;\n      }\n\n      if (\n        (singleEventsCalculations[bet.eventId]?.finalStake ??\n          predefinedStakes.default_stake) ||\n        editBet?.amount ||\n        selectedFreeBetEventId\n      ) {\n        const isCounterOfferActive =\n          singleEventsCalculations[bet.eventId] &&\n          'oddOffer' in singleEventsCalculations[bet.eventId];\n\n        const data = {\n          ...getBetObj(\n            [\n              {\n                eventId: Number(bet.eventId),\n                coeficient: bet.sp\n                  ? BET_SP_COEFICIENT\n                  : isCounterOfferActive\n                  ? oddsOffers[`odd${bet.eventId}`]\n                  : Number(bet.coeficient),\n                tag: bet.tag,\n                isLive: bet.isLive,\n                booking_id: bet.booking_id\n              }\n            ],\n            BET_TYPES.SINGLE\n          ),\n          each_way: bet.each_way\n        };\n\n        doBetHandler(\n          data,\n          (responce: any) => {\n            const { result } = responce || {};\n            setInProgress(false);\n\n            if (result === 'OK') {\n              dispatch(triggerBetted());\n\n              if (selectedProfitBoostItem) {\n                dispatch(\n                  batchActions(\n                    removeProfitBoostItem({\n                      id: data.bonus_id,\n                      eventId: bet.eventId\n                    }),\n                    setSelectedProfitBoostEventId(null)\n                  )\n                );\n              }\n\n              if (\n                SpringConfigs.AFTER_SUCCESSFUL_BET ===\n                EAfterSuccessfulBet.REMOVE_EVENTS\n              ) {\n                removeActiveTabLoading();\n                removeBetSlipEvent(bet.eventId);\n              }\n\n              if (isFreeBetEnabled && selectedFreeBetId) {\n                dispatch(removeFreeBetItem(selectedFreeBetId));\n              }\n\n              LS.removeItem(storageKeyName('betslip', 'EDIT_BET_ACTIVE'));\n\n              if (getBetSlipFromLs().bets.length === 0) {\n                toggleBetslipView(false);\n              }\n\n              clearEditBet();\n\n              if (responce.details?.is_superbet) {\n                if (isCounterOfferActive) {\n                  dispatch(\n                    setSentCounterOffersCount(sentCounterOffersCount + 1)\n                  );\n                  dispatch(setCounterOffersUnderReviewModal(true));\n                } else {\n                  dispatch(setSentSuperBetCount(sentSuperBetCount + 1));\n                }\n              }\n\n              calculateAndDispatchUpdates({\n                id: GENERAL_FIELD_KEY,\n                stake: ''\n              });\n              calculateAndDispatchUpdates({\n                id: bet.eventId,\n                stake: ''\n              });\n              setSelected('');\n            }\n          },\n          (e: TDoBetErrorCallback) => {\n            setInProgress(false);\n\n            if (e.data && e.data.result === ERROR_CODE_TIMEOUT_1800) {\n              setAcceptBet(true);\n            }\n\n            handleSuperBetError(bet.eventId, e);\n\n            if (\n              e?.StatusCode &&\n              SpringConfigs.REMOVE_SUSPENDED_SELECTION &&\n              EDIT_BET_STATUSES_TO_REMOVE_EVENT_FROM_BETSLIP.includes(\n                e.StatusCode\n              )\n            ) {\n              removeAllBetSlipEvent();\n            }\n          },\n          setAcceptBet,\n          document.getElementById('betslip-wrapper') || betslipRef.current\n        );\n      }\n    });\n  };\n\n  const multipleAndSystemDoBet = (betType: number) => {\n    if (Number(general?.finalStake) || selectedFreeBetId || editBet?.amount) {\n      const each_way = !!general?.isEachWay;\n\n      doBetHandler(\n        getBetObj(allLsBets, betType, each_way),\n        (responce: any) => {\n          const { result } = responce;\n          setInProgress(false);\n\n          if (result === 'OK') {\n            clearEditBet();\n            dispatch(triggerBetted());\n\n            if (\n              SpringConfigs.AFTER_SUCCESSFUL_BET ===\n              EAfterSuccessfulBet.REMOVE_EVENTS\n            ) {\n              removeActiveTabLoading();\n              removeAllBetSlipEvent();\n            }\n\n            LS.removeItem(storageKeyName('betslip', 'EDIT_BET_ACTIVE'));\n\n            if (responce.details?.is_superbet) {\n              // at the moment we can only do bet with counter offer using single type, but in future we should add opportunity also for multiple and system\n              // if (isCounterOfferActive) {\n              //   dispatch(setSentCounterOffersCount(sentCounterOffersCount + 1));\n              // } else {\n              dispatch(setSentSuperBetCount(sentSuperBetCount + 1));\n              // }\n            }\n\n            if (isFreeBetEnabled && selectedFreeBetId) {\n              dispatch(removeFreeBetItem(selectedFreeBetId));\n            }\n\n            if (selectedProfitBoostItem) {\n              dispatch(\n                batchActions(\n                  removeProfitBoostItem({\n                    id: selectedProfitBoostItem.id,\n                    eventId: GENERAL_FIELD_KEY\n                  }),\n                  setSelectedProfitBoostEventId(null)\n                )\n              );\n            }\n\n            if (getBetSlipFromLs().bets.length === 0) {\n              toggleBetslipView(false);\n            }\n\n            calculateAndDispatchUpdates({\n              id: GENERAL_FIELD_KEY,\n              stake: ''\n            });\n            calculateAndDispatchSingleBetsUpdates('', Object.keys(stakes));\n            setSelected('');\n          }\n        },\n        (error: TSuperBetError) => {\n          setInProgress(false);\n\n          handleSuperBetError(\n            getType(betslipBetType) as TSuperBetEventType,\n            error\n          );\n        },\n        setAcceptBet,\n        document.getElementById('betslip-wrapper') || betslipRef.current\n      );\n    }\n  };\n\n  const ukDoBet = () => {\n    const stakesCount = Object.keys(stakes.single).length;\n    const isPartialBet = stakesCount > 0 && stakesCount < allLsBets.length;\n\n    const stake =\n      stakes.general ||\n      Object.values(stakes.single).find(stake => Number(stake) > 0);\n\n    if (\n      (isPartialBet ||\n        parseFloat(stake || '0') > 0 ||\n        (totalSingleWin > 0 && totalStake > 0) ||\n        (selectedFreeBetEventId &&\n          selectedFreeBetEventId !== GENERAL_FIELD_KEY)) &&\n      (advancedSelectedTab !== EAdvancedSelectedTabs.QUICKBET ||\n        allLsBets.length === 1)\n    ) {\n      singleDoBet();\n    }\n\n    const mode = SpringConfigs.SUPER_BET_DEFAULT_ON\n      ? -1\n      : Number(\n          JSON.parse(LS.getItem(storageKeyName('betslip', 'ACCEPT_BET'))).value\n        );\n\n    const bets = allLsBets.map(bet => {\n      return {\n        event_id: Number(bet.eventId),\n        price: bet.sp ? BET_SP_COEFICIENT : Number(bet.coeficient),\n        booking_id: bet.booking_id\n      };\n    });\n\n    const data: {\n      bets: Array<{\n        event_id: number;\n        price: number;\n        booking_id?: number;\n      }>;\n      mode?: number;\n      amount: number;\n      type: number;\n      source?: string;\n      sys_bet?: number;\n      each_way?: boolean;\n      bonus_id?: number;\n    } = {\n      bets: bets,\n      mode: mode,\n      amount: 0,\n      type: 2,\n      sys_bet: 0,\n      each_way: false\n    };\n\n    let updatedBetTypes = structuredClone(betTypesConf);\n\n    if (advancedSelectedTab === EAdvancedSelectedTabs.QUICKBET) {\n      updatedBetTypes = updatedBetTypes.filter(\n        betItem =>\n          betItem.count === allLsBets.length &&\n          !betItem.strongCount &&\n          betItem.type !== 1\n      );\n    }\n\n    updatedBetTypes.map((item: UkBets) => {\n      if (\n        (item.amount > 0 && item.type !== 1) ||\n        (selectedFreeBetEventId === GENERAL_FIELD_KEY && item.combCount === 1)\n      ) {\n        data.amount = item.each_way\n          ? +item.amount * 2\n          : selectedFreeBetEventId === GENERAL_FIELD_KEY\n          ? selectedFreeBetAmount || 0\n          : item.amount;\n        data.sys_bet = Number(item.sys_bet);\n        data.type = item.type;\n        data.each_way = item.each_way;\n        data.source = BETSLIP_DO_BET_CONSTANTS.ukBetSource;\n\n        if (selectedFreeBetEventId === GENERAL_FIELD_KEY && selectedFreeBetId) {\n          data.bonus_id = selectedFreeBetId;\n        }\n\n        if (\n          item.count === allLsBets.length &&\n          betslipType === EBetslipType.ADVANCED &&\n          selectedProfitBoostItem?.boost_max_bet_amounts &&\n          data.amount <=\n            selectedProfitBoostItem?.boost_max_bet_amounts?.MaxBetAmount\n        ) {\n          data.bonus_id = selectedProfitBoostItem.id;\n        }\n\n        doBetHandler(\n          data,\n          (response: any) => {\n            const { result } = response;\n            setInProgress(false);\n\n            if (result === 'OK') {\n              dispatch(triggerBetted());\n\n              if (selectedProfitBoostItem) {\n                dispatch(\n                  batchActions(\n                    removeProfitBoostItem({\n                      id: selectedProfitBoostItem.id,\n                      eventId: GENERAL_FIELD_KEY\n                    }),\n                    setSelectedProfitBoostEventId(null)\n                  )\n                );\n              }\n\n              if (\n                SpringConfigs.AFTER_SUCCESSFUL_BET ===\n                EAfterSuccessfulBet.REMOVE_EVENTS\n              ) {\n                removeActiveTabLoading();\n                removeAllBetSlipEvent();\n              }\n\n              clearUkTypes();\n            }\n\n            setSelected('');\n          },\n          (e: TDoBetErrorCallback) => {\n            const betType = getIsMultipleGeneralField(item)\n              ? EBetslipBetType.MULTIPLE\n              : EBetslipBetType.SYSTEM;\n\n            setInProgress(false);\n\n            handleSuperBetError(betType, e);\n\n            if (e.data?.result === ERROR_CODE_TIMEOUT_1800) {\n              setAcceptBet(true);\n            }\n          },\n          undefined,\n          document.getElementById('betslip-wrapper') || betslipRef.current\n        );\n      }\n    });\n  };\n\n  const clearUkTypes = useCallback(() => {\n    let betTypesConfData: Array<UkBets> = [];\n    betTypesConfData = JSON.parse(JSON.stringify(betTypesConf));\n    betTypesConfData.map(betType => {\n      betType.active = false;\n      betType.stake = '';\n      betType.amount = 0;\n      betType.each_way = false;\n\n      if (betType.name === 'Single') {\n        betType.combCount = 1;\n      }\n    });\n\n    dispatch(setBetUkType(betTypesConfData));\n  }, [betTypesConf]);\n\n  const onPlaceBet = () => {\n    setAcceptBet(false);\n    setInProgress(true);\n    setShouldValidateRecaptchaV3(false);\n\n    if (betslipType === 0) {\n      switch (BET_TYPE_NAMES_KEYS[currentType]) {\n        case BET_TYPE_NAMES_KEYS[EBetslipBetType.SINGLE]:\n          singleDoBet();\n          break;\n        case BET_TYPE_NAMES_KEYS[EBetslipBetType.MULTIPLE]:\n          multipleAndSystemDoBet(BET_TYPES.MULTIPLE);\n          break;\n        case BET_TYPE_NAMES_KEYS[EBetslipBetType.CHAIN]:\n          multipleAndSystemDoBet(BET_TYPES.CHAIN);\n          break;\n        case BET_TYPE_NAMES_KEYS[EBetslipBetType.SYSTEM]:\n          multipleAndSystemDoBet(BET_TYPES.SYSTEM);\n      }\n    } else {\n      ukDoBet();\n    }\n  };\n\n  return {\n    clearUkTypes,\n    onPlaceBet\n  };\n};\n\nexport const useDoBetHandler = (): {\n  doBetHandler: (\n    data: doBetProps,\n    callback: Function,\n    callbackError: Function | null,\n    setAcceptBet?: Function,\n    messageContext?: HTMLElement | null\n  ) => void;\n} => {\n  const { checkActionAllowed } = UseCheckGeoComply();\n\n  const doBetHandler = (\n    data: doBetProps,\n    callback: Function,\n    callbackError: Function | null,\n    setAcceptBet?: Function,\n    messageContext?: HTMLElement | null\n  ) => {\n    if (SpringConfigs.GEO_COMPLY_ENABLED) {\n      checkActionAllowed('do_bet')\n        .then(geo_comply_token => {\n          data.location_token = geo_comply_token as string;\n          doBet(data, callback, callbackError, setAcceptBet, messageContext);\n        })\n        .catch(e => {\n          callbackError &&\n            callbackError({\n              data: {\n                result: 0\n              },\n              StatusCode: '0'\n            });\n          console.info(e);\n        });\n\n      return;\n    } else {\n      doBet(data, callback, callbackError, setAcceptBet, messageContext);\n    }\n  };\n\n  return {\n    doBetHandler\n  };\n};\n","import { useSelector } from 'react-redux';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport {\n  getAllLsBets,\n  getBetslipType,\n  getEditBet\n} from 'store/selectors/betslip';\nimport { getPartnerConfigs } from 'store/selectors/socket';\nimport { getIsLoggedIn, getUser } from 'store/selectors/user-data';\n\nexport const useSuperBetAvailable = () => {\n  const partnerConfigs = useSelector(getPartnerConfigs);\n  const isLoggedIn = useSelector(getIsLoggedIn);\n  const user = useSelector(getUser);\n  const betslipType = useSelector(getBetslipType);\n  const allLsBets = useSelector(getAllLsBets);\n  const editBet = useSelector(getEditBet);\n\n  if (\n    !isLoggedIn ||\n    !allLsBets?.length ||\n    !partnerConfigs ||\n    betslipType === 1 ||\n    editBet?.active ||\n    SpringConfigs.SUPER_BET_DEFAULT_ON\n  ) {\n    return false;\n  }\n\n  return (\n    user.is_super_bet_available &&\n    !allLsBets.some(\n      ({ isLive, game_info }) =>\n        (isLive\n          ? !partnerConfigs.is_superbet_on_live\n          : !partnerConfigs.is_superbet_on_prematch) ||\n        (game_info &&\n          Object.prototype.hasOwnProperty.call(game_info, 'virtual'))\n    )\n  );\n};\n","import {\n  Dispatch,\n  SetStateAction,\n  SyntheticEvent,\n  useCallback,\n  useMemo,\n  useState\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\nimport { removeBetSlipEvent } from 'utils/betslip/betslip';\nimport LS from 'utils/bom-dom-manipulation/local-storage';\nimport {\n  COUNTER_OFFER_ACTIVE_TYPE,\n  SUPER_BET_ACTIVE_TYPE\n} from 'utils/constants/app/magic-numbers-app';\nimport { BET_TYPES } from 'utils/constants/betslip/bet-types';\nimport { ERROR_CODE_TIMEOUT_1800 } from 'utils/constants/dateInfo/time-numbers';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { showToastError } from 'utils/generic/show-toast-error';\nimport { showToastWarning } from 'utils/generic/show-toast-warning';\nimport { storageKeyName } from 'utils/generic/storage-key-name';\nimport { isMobile } from 'utils/is-mobile';\nimport { TPopover } from 'interfaces/betslip';\nimport { PartnerConfig } from 'interfaces/partner-config';\nimport { useOpenLoginPopup } from './account/useOpenLoginPopup';\nimport { useDoBetHandler } from 'hooks/betslip/useDoBet';\nimport {\n  setQuickBetSelectedEventId,\n  setQuickSingleBetslipOpen,\n  triggerBetted,\n  updateQuickBetInProcessCount\n} from 'store/actions/betslip';\nimport {\n  getAllLsBets,\n  getCounterOfferActiveEventIds,\n  getEditBet,\n  getQuickBetEnabled,\n  getQuickBetStake,\n  getShouldShowQuickBetInfoPopover,\n  getSuperBetActiveEventIds\n} from 'store/selectors/betslip';\nimport { getPartnerConfigs } from 'store/selectors/socket';\nimport { getIsLoggedIn } from 'store/selectors/user-data';\n\nexport type TOddChangeHandler = (\n  eventId: string,\n  price: number,\n  sp?: boolean,\n  prevSp?: boolean,\n  sendPostMessageToIframeSportsbook?: () => void\n) => void;\n\nexport type TOddChange = {\n  oddChangeHandler: TOddChangeHandler;\n  popover: TPopover;\n  hidePopover: () => void;\n};\n\nexport const useOddChange = (\n  setSelectedEvents: Dispatch<SetStateAction<string[]>>,\n  addToBetSlip: (eventId: string | number, sp?: boolean) => void,\n  selectedEvents: string[]\n): TOddChange => {\n  const [popover, setPopover] = useState<TPopover>(null);\n\n  const dispatch = useDispatch();\n  const isLoggedIn = useSelector(getIsLoggedIn);\n  const history = useHistory();\n  const { t } = useTranslation();\n  const quickBetEnabled = useSelector(getQuickBetEnabled);\n  const shouldShowQuickBetInfoPopover = useSelector(\n    getShouldShowQuickBetInfoPopover\n  );\n\n  const quickBetStake = useSelector(getQuickBetStake);\n  const editBet = useSelector(getEditBet);\n  const partnerConfig = useSelector(getPartnerConfigs) as PartnerConfig;\n  const superBetEventIds = useSelector(getSuperBetActiveEventIds);\n  const counterOfferEventIds = useSelector(getCounterOfferActiveEventIds);\n\n  const allLsBets = useSelector(getAllLsBets);\n\n  const openLoginPopup = useOpenLoginPopup();\n  const { doBetHandler } = useDoBetHandler();\n\n  const toggleScroll = useCallback((type: 'enable' | 'disable'): void => {\n    if (!isMobile()) {\n      const elements = document.querySelectorAll('[data-popover-parent]');\n\n      elements.forEach((element: Element) => {\n        if (element instanceof HTMLElement) {\n          if (type === 'enable') {\n            element.style.overflow = 'auto';\n          } else {\n            element.style.overflow = 'hidden';\n          }\n        }\n      });\n    }\n  }, []);\n\n  const handleSubmit = useCallback(\n    (event: { id: string; price: number; booking_id?: number }) => {\n      if (!isLoggedIn) {\n        openLoginPopup();\n\n        return;\n      }\n\n      const messageContext = isMobile()\n        ? document.body\n        : document.getElementById('betslip-wrapper');\n\n      if (event && quickBetStake) {\n        // @Todo\n        const isCounterOfferActive = counterOfferEventIds.some(\n          id => id == event.id\n        );\n\n        const isSuperBetActive = superBetEventIds.some(id => id == event.id);\n        dispatch(updateQuickBetInProcessCount('increase'));\n        doBetHandler(\n          {\n            amount: Number(quickBetStake),\n            bets: [\n              {\n                event_id: Number(event.id),\n                price: Number(event.price),\n                booking_id: event.booking_id\n              }\n            ],\n            type: BET_TYPES.SINGLE,\n            mode: isCounterOfferActive\n              ? COUNTER_OFFER_ACTIVE_TYPE\n              : isSuperBetActive || SpringConfigs.SUPER_BET_DEFAULT_ON\n              ? SUPER_BET_ACTIVE_TYPE\n              : Number(\n                  JSON.parse(\n                    LS.getItem(storageKeyName('betslip', 'ACCEPT_BET'))\n                  ).value\n                )\n          },\n          (response: { result: object | string | number }) => {\n            const { result } = response;\n            dispatch(setQuickBetSelectedEventId(''));\n\n            if (result !== 'OK' && result !== ERROR_CODE_TIMEOUT_1800) {\n              showToastError(t('betslip.wentWrong'));\n              dispatch(updateQuickBetInProcessCount('decrease'));\n\n              return;\n            }\n\n            dispatch(updateQuickBetInProcessCount('decrease'));\n            setSelectedEvents([]);\n            dispatch(triggerBetted());\n          },\n          () => {\n            dispatch(updateQuickBetInProcessCount('decrease'));\n            setSelectedEvents([]);\n\n            dispatch(setQuickBetSelectedEventId(''));\n          },\n          () => {},\n          messageContext\n        );\n      }\n    },\n    [isLoggedIn, history, quickBetStake, setSelectedEvents, dispatch, t]\n  );\n\n  const showPopover = useCallback(\n    (eventId: string, price: number) => {\n      const onConfirm = (event?: MouseEvent) => {\n        event?.stopPropagation();\n\n        handleSubmit({ id: eventId, price });\n\n        if (shouldShowQuickBetInfoPopover) {\n          setPopover(null);\n          toggleScroll('enable');\n        }\n      };\n\n      if (shouldShowQuickBetInfoPopover && isLoggedIn) {\n        if (Number(quickBetStake)) {\n          toggleScroll('disable');\n\n          const onCancel = (event?: SyntheticEvent) => {\n            event?.stopPropagation();\n\n            dispatch(setQuickBetSelectedEventId(''));\n            setSelectedEvents([]);\n            setPopover(null);\n            toggleScroll('enable');\n          };\n\n          setPopover({\n            id: eventId,\n            onCancel,\n            onConfirm\n          });\n        }\n      } else {\n        setPopover({\n          id: eventId,\n          onCancel: () => {\n            dispatch(setQuickBetSelectedEventId(''));\n          },\n          onConfirm,\n          validateRecaptcha: true,\n          selectedEvents\n        });\n      }\n    },\n    [\n      shouldShowQuickBetInfoPopover,\n      quickBetStake,\n      handleSubmit,\n      isLoggedIn,\n      toggleScroll,\n      t,\n      selectedEvents\n    ]\n  );\n\n  const hidePopover = useCallback(() => {\n    if (shouldShowQuickBetInfoPopover) {\n      setSelectedEvents([]);\n      setPopover(null);\n      toggleScroll('enable');\n      dispatch(setQuickBetSelectedEventId(''));\n    }\n  }, [toggleScroll, shouldShowQuickBetInfoPopover]);\n\n  const oddChangeHandler = useCallback<TOddChangeHandler>(\n    (eventId, price, sp, prevSp, sendPostMessageToIframeSportsbook) => {\n      if (quickBetEnabled && !editBet?.active && !quickBetStake) {\n        setSelectedEvents([]);\n        showToastError(t('betslip.noStake'));\n\n        document.getElementById('quick-bet-input-stake')?.focus();\n      } else {\n        if (!selectedEvents.includes(eventId) || sp || prevSp) {\n          if (quickBetEnabled && !editBet?.active) {\n            if (!shouldShowQuickBetInfoPopover) {\n              handleSubmit({ id: eventId, price });\n            } else {\n              showPopover(eventId, price);\n            }\n          } else {\n            if (\n              partnerConfig?.max_selections_in_multiple_bet &&\n              allLsBets.length >= partnerConfig?.max_selections_in_multiple_bet\n            ) {\n              showToastWarning(\n                t('betslip.eventsMaxCountMessage').replace(\n                  '{%eventsMaxCount%}',\n                  `${partnerConfig?.max_selections_in_multiple_bet}`\n                )\n              );\n\n              return;\n            }\n\n            addToBetSlip(eventId, sp);\n            sendPostMessageToIframeSportsbook?.();\n          }\n        } else {\n          dispatch(setQuickSingleBetslipOpen(false));\n          removeBetSlipEvent(eventId);\n          sendPostMessageToIframeSportsbook?.();\n\n          if (shouldShowQuickBetInfoPopover) {\n            setPopover(null);\n            toggleScroll('enable');\n          }\n        }\n\n        setSelectedEvents(prevSelected =>\n          prevSelected.includes(eventId)\n            ? prevSelected.filter(item => item !== eventId)\n            : [...prevSelected, eventId]\n        );\n      }\n    },\n    [\n      shouldShowQuickBetInfoPopover,\n      quickBetEnabled,\n      quickBetStake,\n      editBet,\n      partnerConfig,\n      allLsBets,\n      selectedEvents,\n      handleSubmit,\n      addToBetSlip,\n      showPopover,\n      t\n    ]\n  );\n\n  return useMemo(\n    () => ({\n      oddChangeHandler,\n      popover,\n      hidePopover\n    }),\n    [oddChangeHandler, popover, hidePopover]\n  );\n};\n","import { useCallback, useMemo } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n  minBetStakeType,\n  predefinedStakesType\n} from 'utils/constants/betslip/bet-types';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport { thousandSeparator } from 'utils/helpers/validators';\nimport { roundAmount } from 'newelements/_Betslip/utils/roundings/round-amount';\nimport { useCurrency } from 'hooks/useCurrency';\nimport { setRSPredefinedStakes } from 'store/actions/betslip';\nimport { getPredefinedStakes } from 'store/selectors/betslip';\nimport { getPartnerConfigs } from 'store/selectors/socket';\n\ntype PredefinedStakes = {\n  [key: string]: string | number | undefined;\n};\n\ntype TUsePredefinedStakes = {\n  predefinedStakes: {\n    default_stake: any;\n    stake_1: any;\n    stake_2: any;\n    stake_3: any;\n  };\n  setPredefinedStakes: (values: PredefinedStakes) => void;\n};\n\nexport const usePredefinedStakes = (): TUsePredefinedStakes => {\n  const dispatch = useDispatch();\n  const partnerConfigs = useSelector(getPartnerConfigs);\n  const { currencyId } = useCurrency();\n\n  const storePredefinedStakes = useSelector(getPredefinedStakes);\n\n  const defaultStakes = useMemo(() => {\n    let predefinedStakes: PredefinedStakes = {};\n\n    if (SpringConfigs.PREDEFINE_STAKES_ENABLE) {\n      predefinedStakes = {\n        stake_1: +roundAmount(SpringConfigs.PREDEFINE_STAKE_1),\n        stake_2: +roundAmount(SpringConfigs.PREDEFINE_STAKE_2),\n        stake_3: +roundAmount(SpringConfigs.PREDEFINE_STAKE_3)\n      };\n    }\n\n    if (SpringConfigs.DEFAULT_STAKE_ENABLED) {\n      predefinedStakes.default_stake = +roundAmount(\n        SpringConfigs.DEFAULT_STAKE\n      );\n    }\n\n    if (partnerConfigs && currencyId) {\n      const minBetStake = partnerConfigs.min_bet_stakes[currencyId];\n\n      return {\n        stake_1: roundAmount(\n          predefinedStakes.stake_1 ||\n            minBetStake * minBetStakeType.MULTIPLIER_10 ||\n            predefinedStakesType.STAKE_TYPE_1\n        ),\n        stake_2: roundAmount(\n          predefinedStakes.stake_2 ||\n            minBetStake * minBetStakeType.MULTIPLIER_20 ||\n            predefinedStakesType.STAKE_TYPE_2\n        ),\n        stake_3: roundAmount(\n          predefinedStakes.stake_3 ||\n            minBetStake * minBetStakeType.MULTIPLIER_50 ||\n            predefinedStakesType.STAKE_TYPE_3\n        ),\n        default_stake: predefinedStakes.default_stake || ''\n      };\n    } else {\n      return {\n        default_stake: '',\n        stake_1: roundAmount(\n          predefinedStakes.stake_1 || predefinedStakesType.STAKE_TYPE_1\n        ),\n        stake_2: roundAmount(\n          predefinedStakes.stake_2 || predefinedStakesType.STAKE_TYPE_2\n        ),\n        stake_3: roundAmount(\n          predefinedStakes.stake_3 || predefinedStakesType.STAKE_TYPE_3\n        )\n      };\n    }\n  }, [partnerConfigs, currencyId]);\n\n  const predefinedStakes = useMemo(() => {\n    const { default_stake, stake_1, stake_2, stake_3 } =\n      storePredefinedStakes || {};\n\n    return {\n      default_stake: default_stake ?? defaultStakes.default_stake,\n      stake_1: thousandSeparator(stake_1 || defaultStakes.stake_1),\n      stake_2: thousandSeparator(stake_2 || defaultStakes.stake_2),\n      stake_3: thousandSeparator(stake_3 || defaultStakes.stake_3)\n    };\n  }, [defaultStakes, storePredefinedStakes]);\n\n  const setPredefinedStakes = useCallback((values: PredefinedStakes) => {\n    dispatch(setRSPredefinedStakes(values));\n  }, []);\n\n  return { predefinedStakes, setPredefinedStakes };\n};\n","export enum EPlayerActivityCheckerActions {\n  checkPlayerActivity = 'checkPlayerActivity'\n}\n","import { fireEvent } from 'utils/generic/event-bus';\nimport { EEditBetManagerDispatchActions } from 'newelements/_Betslip/types/edit-bet';\n\nexport const toggleEditBet = (payload?: boolean) => {\n  fireEvent({\n    key: EEditBetManagerDispatchActions.TOGGLE_EDIT_BET,\n    payload\n  });\n};\n\nexport const clearEditBet = (payload?: boolean) => {\n  fireEvent({\n    key: EEditBetManagerDispatchActions.CLEAR_EDIT_BET,\n    payload\n  });\n};\n","export enum EEditBetManagerDispatchActions {\n  TOGGLE_EDIT_BET = 'TOGGLE_EDIT_BET',\n  CLEAR_EDIT_BET = 'CLEAR_EDIT_BET'\n}\n","import { UkBets } from 'interfaces/bet-data';\nimport store from 'store';\n\nexport const getIsMultipleGeneralField = (betItem: UkBets) => {\n  const allLsBetsCount: number = store.getState()?.betSlip.allLsBets.length;\n\n  return (\n    betItem.count === allLsBetsCount &&\n    !betItem.strongCount &&\n    betItem.type !== 1\n  );\n};\n","import { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { CommandNames } from 'utils/constants/swarm/swarm-command-names';\nimport { swarmCommand } from 'services/get-swarm-data';\nimport {\n  setGeoComplyErrorPopupAvailable,\n  setGeoComplyErrorPopupText\n} from 'store/actions';\nimport { getUser } from 'store/selectors/user-data';\n\nexport const UseCheckGeoComply = () => {\n  const dispatch = useDispatch();\n  const { t } = useTranslation();\n  const user = useSelector(getUser);\n\n  const checkLocation = () => {\n    return new Promise((resolve, reject) => {\n      navigator.permissions.query({ name: 'geolocation' }).then(result => {\n        if (result.state === 'granted') {\n          onGeoLocationSuccess()\n            .then(license => {\n              resolve(license);\n            })\n            .catch(() => {\n              reject();\n            });\n        } else if (result.state === 'prompt') {\n          navigator.geolocation.getCurrentPosition(\n            () => {\n              onGeoLocationSuccess()\n                .then(license => {\n                  resolve(license);\n                })\n                .catch(() => {\n                  reject();\n                });\n            },\n            () => {\n              reject(t('account.allowLocation'));\n            },\n            { enableHighAccuracy: true, timeout: 10000, maximumAge: 5000 }\n          );\n        } else if (result.state === 'denied') {\n          reject(t('account.allowLocation'));\n        }\n      });\n    });\n  };\n\n  const onGeoLocationSuccess = async () => {\n    const licenseString = await getGeoComplyLicenseString();\n\n    return new Promise((resolve, reject) => {\n      licenseString ? resolve(licenseString) : reject();\n    });\n  };\n\n  const getGeoComplyLicenseString = async () => {\n    return new Promise((resolve, reject) => {\n      swarmCommand(\n        CommandNames.GET_GEO_COMPLY_LICENSE_STRING,\n        {},\n        (data: {\n          result: number;\n          details: {\n            LicenseString: string;\n          };\n        }) => {\n          if (data.result === 0 && data.details.LicenseString) {\n            resolve(data.details.LicenseString);\n          } else {\n            reject();\n          }\n        },\n        null\n      );\n    });\n  };\n\n  const geoComplyLocationCheck = () => {\n    return new Promise<void>((resolve, reject) => {\n      checkActionAllowed('check')\n        .then(licenseString => {\n          swarmCommand(\n            CommandNames.GEO_COMPLY_GEOLOCATION_CHECK,\n            { location_token: licenseString },\n            (data: {\n              result: number;\n              details: {\n                IsSuccess: boolean;\n                ErrorCode: number;\n                ErrorMessage: null | string;\n              };\n            }) => {\n              if (data.result === 0 && data.details.IsSuccess) {\n                resolve();\n              }\n            },\n            null,\n            () => {\n              dispatch(setGeoComplyErrorPopupAvailable(false));\n              dispatch(setGeoComplyErrorPopupText(null));\n              reject();\n            }\n          );\n        })\n        .catch(e => {\n          dispatch(setGeoComplyErrorPopupAvailable(true));\n          dispatch(setGeoComplyErrorPopupText(e));\n          reject(e);\n        });\n    });\n  };\n\n  const checkActionAllowed = useCallback(\n    (\n      reason: string,\n      username?: string\n    ): Promise<string | { code: string | number; message: string }> => {\n      const userName = username || user.username || user.email || user.phone;\n\n      return new Promise((resolve, reject) => {\n        checkLocation()\n          .then(license => {\n            const geoClient = window?.GcHtml5.createClient();\n            geoClient.events\n              .on('success', function (gcResponse: string) {\n                resolve(gcResponse);\n              })\n              .on('failed', function (code: string | number, message: string) {\n                reject({ code: code, message: message });\n              });\n            geoClient.setLicense(`${license}`);\n            geoClient.setUserId(userName || '');\n            geoClient.setReason(reason);\n            geoClient.request();\n          })\n          .catch(e => {\n            if (e) {\n              dispatch(setGeoComplyErrorPopupAvailable(true));\n              dispatch(setGeoComplyErrorPopupText(e));\n              e && reject(e);\n            }\n          });\n      });\n    },\n    [user.username, user.email, user.phone]\n  );\n\n  return {\n    checkActionAllowed: checkActionAllowed,\n    geoComplyLocationCheck: geoComplyLocationCheck\n  };\n};\n","import { RefObject, useRef } from 'react';\nimport { ButtonPositionType } from 'interfaces/betslip';\n\ntype ReturnType = {\n  getButtonPosition: () => ButtonPositionType;\n  buttonRef: RefObject<HTMLButtonElement | HTMLDivElement>;\n};\nconst POPOVER_WIDTH_COUNT = 280;\nconst ODD_POSITION = 4;\n\nconst BUTTON_OFFSET_VALUE = 32;\n\nexport const useOddButtonPosition = (): ReturnType => {\n  const buttonRef = useRef<HTMLButtonElement>(null);\n\n  const _buttonPosition = (): ButtonPositionType => {\n    if (buttonRef.current) {\n      const { offsetLeft } = buttonRef.current;\n      const { innerWidth } = window;\n\n      if (\n        buttonRef.current?.getBoundingClientRect()?.top < POPOVER_WIDTH_COUNT\n      ) {\n        if (offsetLeft > (innerWidth - BUTTON_OFFSET_VALUE) / 2) {\n          return 'bottomRight';\n        } else {\n          if (offsetLeft > (innerWidth - BUTTON_OFFSET_VALUE) / ODD_POSITION) {\n            return 'bottom';\n          }\n\n          return 'bottomLeft';\n        }\n      }\n\n      if (offsetLeft > (innerWidth - BUTTON_OFFSET_VALUE) / 2) {\n        return 'topRight';\n      } else {\n        if (offsetLeft > (innerWidth - BUTTON_OFFSET_VALUE) / ODD_POSITION) {\n          return 'top';\n        }\n\n        return 'topLeft';\n      }\n    }\n\n    return 'topLeft';\n  };\n\n  return {\n    buttonRef,\n    getButtonPosition: _buttonPosition\n  };\n};\n","import i18n from 'i18next';\nimport qs from 'qs';\nimport { convert } from 'utils/betslip/odd-formats-helper';\nimport {\n  MODE_TYPES,\n  REPLACE_EDIT_BET_TRANSLATIONS\n} from 'utils/constants/betslip/bet-types';\nimport { ERROR_CODE_TIMEOUT_1800 } from 'utils/constants/dateInfo/time-numbers';\nimport { EAccount } from 'utils/constants/store/query-keys';\nimport SpringConfigs from 'utils/constants/swarm/spring-configs';\nimport {\n  CommandNames,\n  CommandSource\n} from 'utils/constants/swarm/swarm-command-names';\nimport { SwarmSuccessMessages } from 'utils/constants/swarm/swarm-success-messages';\nimport { fireEvent } from 'utils/generic/event-bus';\nimport { showToastError } from 'utils/generic/show-toast-error';\nimport { appendCustomCode } from 'utils/other/customCode';\nimport RidGenerator from 'utils/swarm/rid-generator';\nimport { showToastSuccess } from 'utils/swarm/swarm-success-handler';\nimport { GetCurrencyConfigsResponse } from 'interfaces/account-settings';\nimport {\n  BookBetParamsType,\n  DoBetResponseType,\n  TCreateBets,\n  TV3FreebetParams,\n  TV3FreebetResponse\n} from 'interfaces/bet-data';\nimport { doBetProps, IEventsAndGameIds } from 'interfaces/betslip';\nimport { AccountParamsType, AppendCustomCodes } from 'interfaces/generic';\nimport {\n  CommandObj,\n  WebsocketEnhanced\n} from 'interfaces/spring-websocket-interfaces';\nimport { EPlayerActivityCheckerActions } from 'newcomponents/Shared/account/PlayerActivityChecker/types';\nimport { connectingWS } from 'hooks/useSpringConnect';\nimport Store from 'store';\nimport {\n  batchActions,\n  removeFreeBetItem,\n  setFreeBetSelectedEventId,\n  setSelectedProfitBoostEventId\n} from 'store/actions';\nimport { IBetslipRootStateInitialData } from 'store/reducers/betslip';\nimport { queryClient } from 'stores/query/query-client';\nimport { deviceActionManager } from '../deviceactionmanager/DeviceActionManager';\n\n// this is required for showing messages outside the betslip if it is closed\nconst getMessageContextBasedOnBetslipOpenState = (\n  messageContext: HTMLElement | null | undefined\n): HTMLElement | null | undefined => {\n  const isBetslipOpen = Store.getState().betSlip?.betslipOpen;\n  const isFloatingBetslipEnabled = SpringConfigs.IS_BETSLIP_FLOATING_ENABLED;\n\n  if (\n    !isFloatingBetslipEnabled ||\n    (isFloatingBetslipEnabled && isBetslipOpen)\n  ) {\n    return messageContext;\n  }\n\n  return null;\n};\n\n/* eslint-disable */\nexport const betCommand = async (\n  commandObj: any, //  command object must be of type any for generic purpose\n  rid: string,\n  callback: Function,\n  updateCallback: Function | null,\n  callbackError: Function | null\n): Promise<void> => {\n  /* eslint-enable */\n  connectingWS.then((socket: WebsocketEnhanced) => {\n    socket.sendCommand(\n      commandObj,\n      rid,\n      callback,\n      updateCallback,\n      callbackError\n    );\n  });\n};\n\nconst oddChangeHandlerCallbackWrapper = (\n  response: DoBetResponseType,\n  callback: Function | null,\n  oddFormat: number,\n  setAcceptBet?: Function,\n  messageContext?: HTMLElement | null\n): void => {\n  callback?.(response);\n  const { result, result_text, details, StatusCode, Data } = response;\n\n  const isStatusCode = StatusCode === REPLACE_EDIT_BET_TRANSLATIONS[0];\n\n  if (result === ERROR_CODE_TIMEOUT_1800 || isStatusCode) {\n    const changedOdd = isStatusCode\n      ? Data?.ErrorData\n        ? {\n            old_price: Data?.ErrorData?.OldPrice,\n            new_price: Data?.ErrorData?.ActualPrice\n          }\n        : null\n      : Array.isArray(details)\n      ? {\n          old_price: details[0].old_price,\n          new_price: details[0].new_price\n        }\n      : null;\n\n    if (setAcceptBet) {\n      setAcceptBet(true);\n    }\n\n    if (!changedOdd) {\n      return;\n    }\n\n    const oddsChangedText = i18n\n      .t('swarm.OddsIsChanged')\n      .replace('{oldPrice}', convert(changedOdd.old_price, oddFormat))\n      .replace('{newPrice}', convert(changedOdd.new_price, oddFormat));\n\n    showToastError(\n      oddsChangedText,\n      getMessageContextBasedOnBetslipOpenState(messageContext),\n      result_text\n    );\n  }\n};\n\n// DON'T use this function directly in project, instead use useDoBetHandler : doBetHandler function\nexport const doBet = (\n  data: doBetProps,\n  callback: Function,\n  callbackError: Function | null,\n  setAcceptBet?: Function,\n  messageContext?: HTMLElement | null\n): void => {\n  const editBet = Store.getState().betSlip?.editBet;\n\n  // @Todo add type for betslip do bet response\n  const _callback = (res: any) => {\n    callback(res);\n\n    if (SpringConfigs.WRAPPER_APP && window.median) {\n      deviceActionManager.vibrate('impactMedium');\n    }\n  };\n\n  if (editBet?.active) {\n    sendCreateBet(data, _callback, callbackError, setAcceptBet, messageContext);\n  } else {\n    sendDoBet(data, _callback, callbackError, setAcceptBet, messageContext);\n  }\n};\n\n/*eslint no-magic-numbers:*/\n// TODO check after betslip refactor\nconst sendDoBet = (\n  data: doBetProps,\n  callback: Function,\n  callbackError: Function | null,\n  setAcceptBet?: Function,\n  messageContext?: HTMLElement | null\n): void => {\n  const oddFormat = Store.getState().betSlip.oddFormat;\n  const editBet = Store.getState().betSlip.editBet;\n  const isBonusMoney = Store.getState().betSlip.useBonusBalance;\n  const user = Store.getState().userData.user;\n  const isFrenchFreeBetEnabled =\n    Store.getState().betSlip.isFrenchFreeBetEnabled;\n\n  const {\n    bets,\n    type,\n    mode,\n    sys_bet,\n    bonus_id,\n    predefined_multiple_id,\n    source,\n    each_way,\n    booking_id,\n    location_token\n  } = data;\n\n  const amount = editBet?.active ? editBet.amount : data.amount;\n\n  const additional_amount = data.amount;\n  const old_bet_id = editBet?.betId || null;\n\n  const command = {\n    command: CommandNames.DO_BET,\n    params: {\n      source,\n      each_way,\n      bonus_id,\n      amount,\n      bets,\n      mode: mode || MODE_TYPES.ODD_NOT_CHANGE,\n      odd_type: oddFormat,\n      type,\n      booking_id,\n      is_bonus_money: !!isBonusMoney,\n      ...(isFrenchFreeBetEnabled ? { is_free_bet_money: true } : {}),\n      ...(location_token ? { location_token } : {})\n    } as Record<string, any>,\n    rid: RidGenerator.gForCommand()\n  };\n\n  if (sys_bet) {\n    command.params.sys_bet = sys_bet;\n  }\n\n  if (predefined_multiple_id) {\n    command.params.predefined_multiple_id = predefined_multiple_id;\n  }\n\n  if (editBet?.active) {\n    command.params.additional_amount = additional_amount;\n    command.params.old_bet_id = old_bet_id;\n  }\n\n  betCommand(\n    command,\n    '',\n    (data: {\n      result: string;\n      details: {\n        bet_id: number;\n        k: number;\n        is_superbet: boolean;\n      };\n    }) => {\n      callback(data);\n      fireEvent({ key: EPlayerActivityCheckerActions.checkPlayerActivity });\n\n      const betslipStore: IBetslipRootStateInitialData =\n        Store.getState().betSlip;\n\n      const freeBetStore = betslipStore.freeBets;\n\n      Store.dispatch(\n        batchActions(\n          setSelectedProfitBoostEventId(null),\n          setFreeBetSelectedEventId(null)\n        )\n      );\n\n      if (freeBetStore.selectedFreeBetId) {\n        Store.dispatch(\n          batchActions(removeFreeBetItem(freeBetStore.selectedFreeBetId))\n        );\n      }\n\n      if (data && data.result === 'OK') {\n        if (data.details?.is_superbet) {\n          showToastSuccess(\n            i18n.t('betslip.superBetSuccess'),\n            getMessageContextBasedOnBetslipOpenState(messageContext)\n          );\n        } else {\n          showToastSuccess(\n            i18n.t(`betslip.${SwarmSuccessMessages.DO_BET}`),\n            getMessageContextBasedOnBetslipOpenState(messageContext)\n          );\n        }\n      }\n\n      const accountParams: AccountParamsType = queryClient.getQueryData([\n        EAccount['AccountParams']\n      ]);\n\n      if (\n        accountParams &&\n        +accountParams[AppendCustomCodes.APPEND_CUSTOM_CODE_BETSLIP]\n      ) {\n        appendCustomCode(accountParams[AppendCustomCodes.CUSTOM_CODE_BETSLIP], {\n          amount,\n          currency: user?.currency,\n          bet_id: data?.details?.bet_id,\n          k: data?.details?.k,\n          is_superbet: mode === -1,\n          bet_type: type,\n          name: user?.name,\n          first_name: user?.first_name,\n          last_name: user?.last_name,\n          email: user?.email,\n          username: user?.username,\n          btag: user?.btag,\n          userId: user?.id,\n          phone: user?.phone\n        });\n      }\n    },\n    () => undefined,\n    ({ data }: { data: DoBetResponseType }) => {\n      oddChangeHandlerCallbackWrapper(\n        data,\n        callbackError,\n        oddFormat,\n        setAcceptBet,\n        messageContext\n      );\n    }\n  );\n};\n\nconst sendCreateBet = (\n  data: doBetProps,\n  callback: Function,\n  callbackError: Function | null,\n  setAcceptBet?: Function,\n  messageContext?: HTMLElement | null\n): void => {\n  const oddFormat = Store.getState().betSlip.oddFormat;\n  const editBet = Store.getState().betSlip.editBet;\n  const user = Store.getState().userData.user;\n  const isFrenchFreeBetEnabled =\n    Store.getState().betSlip.isFrenchFreeBetEnabled;\n\n  const { bets, type, mode, source, each_way, location_token } = data;\n\n  const amount = editBet?.active ? editBet.amount : data.amount;\n\n  const additional_amount = data.amount;\n  const old_bet_id = editBet?.betId || null;\n\n  const command: TCreateBets = {\n    command: CommandNames.CREATE_BETS,\n    params: {\n      bets: [\n        {\n          Source: source,\n          EachWay: each_way,\n          Amount: amount,\n          Events: bets.map(bet => ({\n            SelectionId: bet.event_id,\n            Coeficient: bet.price\n          })),\n          OddType: oddFormat,\n          Type: type,\n          AdditionalAmount: undefined,\n          ...(isFrenchFreeBetEnabled ? { IsFreeBetMoney: true } : {})\n        }\n      ],\n      ...(location_token ? { GeoLocationToken: location_token } : {})\n    },\n    rid: RidGenerator.gForCommand()\n  };\n\n  if (editBet?.active) {\n    command.params.bets[0].AdditionalAmount = additional_amount;\n    command.params.bets[0].OldBetId = old_bet_id;\n  }\n\n  betCommand(\n    command,\n    '',\n    (data: {\n      result: string;\n      StatusCode: string;\n      Data: Array<{\n        bet_id: number;\n        k: number;\n        is_superbet?: boolean;\n      }>;\n    }) => {\n      if (data.StatusCode === '0') {\n        data.result = 'OK';\n\n        if (data.Data?.[0]?.is_superbet) {\n          showToastSuccess(\n            i18n.t('betslip.superBetSuccess'),\n            getMessageContextBasedOnBetslipOpenState(messageContext)\n          );\n        } else {\n          showToastSuccess(\n            i18n.t(`betslip.${SwarmSuccessMessages.DO_BET}`),\n            getMessageContextBasedOnBetslipOpenState(messageContext)\n          );\n        }\n      }\n\n      callback(data);\n      fireEvent({ key: EPlayerActivityCheckerActions.checkPlayerActivity });\n\n      const accountParams: AccountParamsType = queryClient.getQueryData([\n        EAccount['AccountParams']\n      ]);\n\n      if (\n        accountParams &&\n        +accountParams[AppendCustomCodes.APPEND_CUSTOM_CODE_BETSLIP]\n      ) {\n        appendCustomCode(accountParams[AppendCustomCodes.CUSTOM_CODE_BETSLIP], {\n          amount,\n          currency: user?.currency,\n          bet_id: data?.Data[0]?.bet_id,\n          k: data?.Data[0]?.k,\n          is_superbet: mode === -1,\n          bet_type: type,\n          name: user?.name,\n          first_name: user?.first_name,\n          last_name: user?.last_name,\n          email: user?.email,\n          username: user?.username,\n          btag: user?.btag,\n          userId: user?.id,\n          phone: user?.phone\n        });\n      }\n    },\n    () => undefined,\n    ({ data }: { data: DoBetResponseType }) => {\n      oddChangeHandlerCallbackWrapper(\n        data,\n        callbackError,\n        oddFormat,\n        setAcceptBet,\n        messageContext\n      );\n    }\n  );\n};\n\nexport const getV3Freebet = (\n  params: TV3FreebetParams,\n  callback: (data: TV3FreebetResponse) => void,\n  callbackError: ((err?: Record<string, string>) => void) | null = null\n): void => {\n  const command = {\n    command: CommandNames.GET_FREEBETS_FOR_BETSLIP_V3,\n    params,\n    rid: RidGenerator.gForCommand()\n  };\n\n  betCommand(command, '', callback, () => undefined, callbackError);\n};\n\nexport const getCurrencyConfigs = async (\n  currency: string,\n  callback: (data: GetCurrencyConfigsResponse) => void,\n  callbackError: Function | null\n): Promise<void> => {\n  const commandObj = {\n    command: CommandNames.GET,\n    rid: RidGenerator.gForCommand(),\n    params: {\n      source: CommandSource.CURRENCY_CONFIG,\n      what: {\n        currency: []\n      },\n      where: {\n        currency: { name: currency }\n      },\n      subscribe: false\n    }\n  };\n\n  connectingWS.then((socket: WebsocketEnhanced) =>\n    socket.sendCommand(commandObj, '', callback, undefined, callbackError)\n  );\n};\n\nexport const bookBet = async (\n  bets: BookBetParamsType,\n  callback: Function,\n  callbackError: Function\n): Promise<void> => {\n  const commandObj: CommandObj = {\n    command: CommandNames.BOOK_BET,\n    rid: RidGenerator.gForCommand(),\n    params: {\n      bets\n    }\n  };\n\n  const tid = Number(\n    qs.parse(window.location.search, { ignoreQueryPrefix: true }).tid\n  );\n\n  tid && (commandObj.params.cashdesk_id = tid);\n\n  connectingWS.then((socket: WebsocketEnhanced) =>\n    socket.sendCommand(commandObj, '', callback, undefined, callbackError)\n  );\n};\n\nexport const getEventsByBookingId = (\n  bookId: string,\n  callback: Function,\n  callbackError: Function\n): void => {\n  const commandObj: CommandObj = {\n    command: CommandNames.GET_EVENTS_BY_BOOKING_ID,\n    rid: RidGenerator.gForCommand(),\n    params: {\n      booking_id: +bookId\n    }\n  };\n\n  connectingWS.then((socket: WebsocketEnhanced) =>\n    socket.sendCommand(commandObj, '', callback, undefined, callbackError)\n  );\n};\n\nexport const getEventsReadyForBetslip = (\n  eventsAndGameIds: IEventsAndGameIds[] | null,\n  callback: Function,\n  callBackError?: Function,\n  getOnlyEventIds?: boolean,\n  gameIds?: number[],\n  eventIds?: number[]\n): void => {\n  const games = gameIds\n    ? gameIds\n    : eventsAndGameIds\n    ? eventsAndGameIds.map(entity => entity.gameId)\n    : [];\n\n  const events =\n    gameIds && eventIds\n      ? eventIds\n      : eventsAndGameIds\n      ? eventsAndGameIds.map(entity => entity.eventId)\n      : [];\n\n  const commandObj = {\n    command: CommandNames.GET,\n    rid: RidGenerator.gForCommand(),\n    params: {\n      source: CommandSource.BETTING,\n      what: {\n        ...(!getOnlyEventIds && {\n          sport: ['alias', 'type'],\n          region: ['name', 'alias'],\n          competition: ['name', 'id'],\n          game: ['id', 'type', 'team1_name', 'team2_name', 'start_ts', 'info'],\n          market: ['name', 'type', 'extra_info']\n        }),\n        event: getOnlyEventIds\n          ? ['id']\n          : ['id', 'base', 'name', 'price', 'ew_allowed']\n      },\n      where: {\n        game: {\n          id: {\n            '@in': games\n          }\n        },\n        event: {\n          id: {\n            '@in': events\n          }\n        }\n      }\n    }\n  };\n\n  connectingWS.then((socket: WebsocketEnhanced) => {\n    socket.sendCommand(commandObj, '', callback, undefined, callBackError);\n  });\n};\n\nexport const counterCounterOfferAnswer = (\n  acceptOffer: boolean,\n  betId: number | string,\n  callback: Function,\n  callbackError?: Function\n): void => {\n  const commandObj: CommandObj = {\n    command: CommandNames.SUPER_BET_ANSWER,\n    rid: RidGenerator.gForCommand(),\n    params: {\n      accept: acceptOffer,\n      bet_id: betId\n    }\n  };\n\n  connectingWS.then((socket: WebsocketEnhanced) =>\n    socket.sendCommand(commandObj, '', callback, undefined, callbackError)\n  );\n};\n\nexport const checkBetStatus = (\n  betId: number | string,\n  callback: Function,\n  callbackError?: Function\n): void => {\n  const commandObj: CommandObj = {\n    command: CommandNames.CHECK_BET_STATUS,\n    rid: RidGenerator.gForCommand(),\n    params: {\n      bet_id: betId\n    }\n  };\n\n  connectingWS.then((socket: WebsocketEnhanced) =>\n    socket.sendCommand(commandObj, '', callback, undefined, callbackError)\n  );\n};\n"],"names":["ConfirmationPopoverStyled","styled","div","withConfig","displayName","componentId","isMobile","MainSectionStyled","MainSectionIconStyled","MainSectionWrapperStyled","MainSectionTitleStyled","MainSectionMessageStyled","CheckboxSectionWrapperStyled","CheckboxSectionStyled","ButtonsSectionStyled","ButtonWrapperStyled","Recaptcha","lazyimport","ConfirmationPopover","memo","_ref","onCancel","onConfirm","validateRecaptcha","selectedEvents","dispatch","useDispatch","shouldShowQuickBetInfoPopover","useSelector","getShouldShowQuickBetInfoPopover","recaptchaEnabled","getRecaptchaEnabled","shouldValidateRecaptchaV3","setShouldValidateRecaptchaV3","useState","t","useTranslation","onPlaceBet","useCallback","event","stopPropagation","useEffect","_jsxs","_Fragment","children","_jsx","GlobalIcon","lib","name","theme","size","EIconSize","_30","onClick","toggleQuickBetPopup","Checkbox","checked","Button","fullwidth","type","Suspense","action","onSetRecaptchaToken","shouldValidate","deviceActionManager","vibrate","message","hapticMessage","_window","_window$webkit","_window$webkit$messag","iOSWrapperApp","window","webkit","messageHandlers","triggerHaptic","postMessage","JSON","stringify","BETSLIP_DO_BET_CONSTANTS","useDoBet","currentType","setAcceptBet","setSelected","toggleBetslipView","betslipRef","totalSingleWin","totalStake","predefinedStakes","usePredefinedStakes","stakes","getAllStakes","selectedProfitBoostItem","getSelectedProfitBoostItem","partnerConfigs","getPartnerConfigs","system","getSelectedSystem","allLsBets","getAllLsBets","editBet","getEditBet","betTypesConf","getBetTypesConf","betslipType","getBetslipType","sentCounterOffersCount","getSentCounterOffersCount","sentSuperBetCount","getSentSuperBetCount","oddsOffers","getOddsCounterOffers","bookBetId","getBookBetId","advancedSelectedTab","getAdvancedSelectedTab","betslipBetType","getComputedBetType","singleEventsCalculations","general","getBetsCalculations","superBetActiveEventIds","getSuperBetActiveEventIds","counterOfferActiveEventIds","getCounterOfferActiveEventIds","selectedFreeBetEventId","selectedFreeBetId","getFreeBets","isFreeBetEnabled","getIsFreeBetEnabled","selectedFreeBetAmount","getSelectedFreeBetAmount","isSuperBetAvailable","useSuperBetAvailable","doBetHandler","useDoBetHandler","setInProgress","data","setIsBetInProgress","removeActiveTabLoading","setOpenBetsLoading","handleSuperBetError","eventId","error","result","BackendStatusCodes","betslip","useSuperBet","errorMessage","backendErrorCodes","result_text","StatusCode","customizeMessage","content","showToastError","_message","destroy","some","id","calculateAndDispatchUpdates","superBet","setBetslipOpen","cursor","getBetObj","bets","betType","each_way","sendTag","every","_ref2","tag","firstEventId","mode","_JSON$parse","isCounterOfferActive","length","isSuperBetActive","GENERAL_FIELD_KEY","isSuperBetAllowForPrematch","SpringConfigs","SUPER_BET_DEFAULT_ON","_ref3","isLive","isSuperBetActiveForLive","is_superbet_on_live","shouldBetWithSuperBet","COUNTER_OFFER_ACTIVE_TYPE","SUPER_BET_ACTIVE_TYPE","Number","parse","LS","getItem","storageKeyName","value","_singleEventsCalculat","betObj","amount","EBetslipBetType","SINGLE","finalStake","map","bet","event_id","price","sp","BET_SP_COEFICIENT","coeficient","booking_id","source","String","SOURCE","bonus_id","BET_TYPES","SYSTEM","sys_bet","MULTIPLE","singleDoBet","forEach","_singleEventsCalculat2","_singleEventsCalculat3","default_stake","responce","_responce$details","triggerBetted","batchActions","removeProfitBoostItem","setSelectedProfitBoostEventId","AFTER_SUCCESSFUL_BET","EAfterSuccessfulBet","REMOVE_EVENTS","removeBetSlipEvent","removeFreeBetItem","removeItem","getBetSlipFromLs","clearEditBet","details","is_superbet","setSentCounterOffersCount","setCounterOffersUnderReviewModal","setSentSuperBetCount","stake","e","ERROR_CODE_TIMEOUT_1800","REMOVE_SUSPENDED_SELECTION","EDIT_BET_STATUSES_TO_REMOVE_EVENT_FROM_BETSLIP","includes","removeAllBetSlipEvent","document","getElementById","current","multipleAndSystemDoBet","isEachWay","_responce$details2","calculateAndDispatchSingleBetsUpdates","Object","keys","getType","clearUkTypes","betTypesConfData","active","combCount","setBetUkType","BET_TYPE_NAMES_KEYS","CHAIN","ukDoBet","stakesCount","single","isPartialBet","values","find","parseFloat","EAdvancedSelectedTabs","QUICKBET","updatedBetTypes","structuredClone","filter","betItem","count","strongCount","item","_selectedProfitBoostI","EBetslipType","ADVANCED","boost_max_bet_amounts","MaxBetAmount","response","_e$data","getIsMultipleGeneralField","undefined","checkActionAllowed","UseCheckGeoComply","callback","callbackError","messageContext","GEO_COMPLY_ENABLED","then","geo_comply_token","location_token","doBet","catch","console","info","isLoggedIn","getIsLoggedIn","user","getUser","is_super_bet_available","game_info","is_superbet_on_prematch","prototype","hasOwnProperty","call","useOddChange","setSelectedEvents","addToBetSlip","popover","setPopover","history","useHistory","quickBetEnabled","getQuickBetEnabled","quickBetStake","getQuickBetStake","partnerConfig","superBetEventIds","counterOfferEventIds","openLoginPopup","useOpenLoginPopup","toggleScroll","querySelectorAll","element","HTMLElement","style","overflow","handleSubmit","body","updateQuickBetInProcessCount","setQuickBetSelectedEventId","showPopover","hidePopover","oddChangeHandler","prevSp","sendPostMessageToIframeSportsbook","max_selections_in_multiple_bet","showToastWarning","replace","setQuickSingleBetslipOpen","prevSelected","_document$getElementB","focus","useMemo","currencyId","useCurrency","storePredefinedStakes","getPredefinedStakes","defaultStakes","PREDEFINE_STAKES_ENABLE","stake_1","roundAmount","PREDEFINE_STAKE_1","stake_2","PREDEFINE_STAKE_2","stake_3","PREDEFINE_STAKE_3","DEFAULT_STAKE_ENABLED","DEFAULT_STAKE","minBetStake","min_bet_stakes","minBetStakeType","MULTIPLIER_10","predefinedStakesType","STAKE_TYPE_1","MULTIPLIER_20","STAKE_TYPE_2","MULTIPLIER_50","STAKE_TYPE_3","thousandSeparator","setPredefinedStakes","setRSPredefinedStakes","EPlayerActivityCheckerActions","toggleEditBet","payload","fireEvent","key","EEditBetManagerDispatchActions","TOGGLE_EDIT_BET","CLEAR_EDIT_BET","_store$getState","allLsBetsCount","store","getState","betSlip","onGeoLocationSuccess","async","licenseString","getGeoComplyLicenseString","Promise","resolve","reject","swarmCommand","CommandNames","GET_GEO_COMPLY_LICENSE_STRING","LicenseString","reason","username","userName","email","phone","navigator","permissions","query","state","license","geolocation","getCurrentPosition","enableHighAccuracy","timeout","maximumAge","geoClient","GcHtml5","createClient","events","on","gcResponse","code","setLicense","setUserId","setReason","request","setGeoComplyErrorPopupAvailable","setGeoComplyErrorPopupText","geoComplyLocationCheck","GEO_COMPLY_GEOLOCATION_CHECK","IsSuccess","useOddButtonPosition","buttonRef","useRef","getButtonPosition","_buttonPosition","_buttonRef$current","_buttonRef$current$ge","offsetLeft","innerWidth","getBoundingClientRect","top","getMessageContextBasedOnBetslipOpenState","_Store$getState$betSl","isBetslipOpen","Store","betslipOpen","isFloatingBetslipEnabled","IS_BETSLIP_FLOATING_ENABLED","betCommand","commandObj","rid","updateCallback","connectingWS","socket","sendCommand","oddChangeHandlerCallbackWrapper","oddFormat","Data","isStatusCode","REPLACE_EDIT_BET_TRANSLATIONS","_Data$ErrorData","_Data$ErrorData2","changedOdd","ErrorData","old_price","OldPrice","new_price","ActualPrice","Array","isArray","oddsChangedText","i18n","convert","_Store$getState$betSl2","_callback","res","WRAPPER_APP","median","sendCreateBet","sendDoBet","isBonusMoney","useBonusBalance","userData","isFrenchFreeBetEnabled","predefined_multiple_id","additional_amount","old_bet_id","betId","command","DO_BET","params","MODE_TYPES","ODD_NOT_CHANGE","odd_type","is_bonus_money","is_free_bet_money","RidGenerator","gForCommand","checkPlayerActivity","freeBetStore","freeBets","_data$details","setFreeBetSelectedEventId","showToastSuccess","SwarmSuccessMessages","accountParams","queryClient","getQueryData","EAccount","_data$details2","_data$details3","AppendCustomCodes","APPEND_CUSTOM_CODE_BETSLIP","appendCustomCode","CUSTOM_CODE_BETSLIP","currency","bet_id","k","bet_type","first_name","last_name","btag","userId","CREATE_BETS","Source","EachWay","Amount","Events","SelectionId","Coeficient","OddType","Type","AdditionalAmount","IsFreeBetMoney","GeoLocationToken","OldBetId","_data$Data","_data$Data$","_data$Data$2","_data$Data$3","getV3Freebet","arguments","GET_FREEBETS_FOR_BETSLIP_V3","getCurrencyConfigs","GET","CommandSource","CURRENCY_CONFIG","what","where","subscribe","bookBet","BOOK_BET","tid","qs","location","search","ignoreQueryPrefix","cashdesk_id","getEventsByBookingId","bookId","GET_EVENTS_BY_BOOKING_ID","getEventsReadyForBetslip","eventsAndGameIds","callBackError","getOnlyEventIds","gameIds","eventIds","games","entity","gameId","BETTING","sport","region","competition","game","market","counterCounterOfferAnswer","acceptOffer","SUPER_BET_ANSWER","accept","checkBetStatus","CHECK_BET_STATUS"],"sourceRoot":""}