{"version":3,"file":"static/chunks/13910-5ad7b32d852453fd.js","sources":["webpack://_N_E/./src/LegacyApp/client/components/converterValue/converterValue.jsx","webpack://_N_E/./src/LegacyApp/client/components/converterValue/converterValue.container.js","webpack://_N_E/./src/LegacyApp/client/components/converterValue/converterValue.style.js","webpack://_N_E/./src/LegacyApp/client/components/inputCurrency/inputCurrency.jsx","webpack://_N_E/./src/LegacyApp/client/components/inputCurrency/inputCurrency.container.js","webpack://_N_E/./src/LegacyApp/hooks/game/useValidate.ts","webpack://_N_E/./src/LegacyApp/hooks/game/useValidateProfit.ts","webpack://_N_E/./src/LegacyApp/hooks/game/useValidateStake.ts","webpack://_N_E/./src/LegacyApp/hooks/timer/useTimeDiff.ts","webpack://_N_E/./src/common/components/layout/ColumnLayout/ColumnLayout.tsx","webpack://_N_E/./src/common/components/number/balanceAmount/balanceCurrencyValue.style.ts","webpack://_N_E/./src/common/components/timerCountDown/index.tsx","webpack://_N_E/./src/modules/games/Game/store/gameValidation/thunks/validateBetAmountThunk.js","webpack://_N_E/./src/modules/sports/components/BetSlipSection/BetElement/BetSlipElementTitle.tsx","webpack://_N_E/./src/modules/sports/components/BetSlipSection/BetElement/BetElement.tsx","webpack://_N_E/./src/modules/sports/hooks/useEventOffer/eventOfferTypes.contants.ts","webpack://_N_E/./src/modules/sports/components/Match/Details/Offer/Strategies/Default.tsx","webpack://_N_E/./src/modules/sports/components/Match/Details/Offer/Strategies/ThreeWayHandicap.tsx","webpack://_N_E/./src/modules/sports/components/BetSlipSection/BetElement/BetSlipElementOdds.tsx","webpack://_N_E/./src/modules/sports/components/BetSlipSection/BetElement/BetSlipElementDetails.tsx","webpack://_N_E/./src/modules/sports/components/BetSlipSection/BetSlipForm/ProfitInput.tsx","webpack://_N_E/./src/modules/sports/hooks/useBetSlipElementOdds.ts","webpack://_N_E/./src/modules/sports/components/BetSlipSection/BetElement/BetSlipElementForm.tsx","webpack://_N_E/./src/modules/sports/components/BetSlipSection/BetElement/BetSlipElementMessage.tsx","webpack://_N_E/./src/modules/sports/components/BetSlipSection/BetSlipDetails/Timestamp.tsx","webpack://_N_E/./src/modules/sports/components/BetSlipSection/BetSlipDetails/TypeLabel.tsx","webpack://_N_E/./src/modules/sports/components/BetSlipSection/BetSlipDetails/TitleBar.tsx","webpack://_N_E/./src/modules/sports/components/BetSlipSection/BetSlipDetails/SummaryBar.tsx","webpack://_N_E/./src/modules/sports/methods/getCashoutValue.ts","webpack://_N_E/./src/modules/sports/hooks/useCashout.ts","webpack://_N_E/./src/modules/sports/components/BetSlipSection/BetSlipDetails/CashoutBar.tsx","webpack://_N_E/./src/modules/sports/components/BetSlipSection/BetSlipDetails/BetSlipDetails.tsx","webpack://_N_E/./src/modules/sports/components/BetSlipSection/BetSlipDetails/EventElement.tsx","webpack://_N_E/./src/modules/sports/components/BetSlipSection/BetSlipDetails/StateLabel.tsx","webpack://_N_E/./src/modules/sports/components/BetSlipSection/BetSlipForm/StakeInput.tsx","webpack://_N_E/./src/common/components/number/balanceAmount/BalanceAmountWithConverterTooltip.jsx","webpack://_N_E/./src/modules/sports/components/BetSlipSection/BetSlipForm/SummaryValue.tsx","webpack://_N_E/./src/modules/sports/components/Match/Details/Offer/OfferName/OfferName.tsx","webpack://_N_E/./src/modules/sports/components/Match/Details/ButtonOutcome.tsx","webpack://_N_E/./src/modules/sports/methods/getMatchLink.ts","webpack://_N_E/./src/modules/sports/components/Match/Details/OutcomesList/OutcomesList.tsx","webpack://_N_E/./src/modules/sports/components/Match/MatchDate/MatchDate.tsx","webpack://_N_E/./src/modules/sports/hooks/useTimestampComponent.tsx","webpack://_N_E/./src/modules/sports/components/Match/MatchDate/LiveTimeInformation.tsx","webpack://_N_E/./src/modules/sports/components/Match/MatchDate/TimeInformation.tsx","webpack://_N_E/./src/modules/sports/components/SportName/SportName.tsx","webpack://_N_E/./src/modules/sports/components/Match/MatchName/MatchName.tsx","webpack://_N_E/./src/modules/sports/components/Match/MatchOdds/MatchOdds.tsx","webpack://_N_E/./src/modules/sports/components/Match/MatchOdds/MatchOddsChange.tsx","webpack://_N_E/./src/modules/sports/components/Match/MatchOdds/MatchOddsName.tsx","webpack://_N_E/./src/modules/sports/components/Match/MatchScore/MatchScoreHandler.tsx","webpack://_N_E/./src/modules/sports/hooks/useScoreComponent.tsx","webpack://_N_E/./src/modules/sports/components/Match/MatchScore/ScoreWrapper.tsx","webpack://_N_E/./src/modules/sports/components/Match/MatchScore/types/ScoreSimple.tsx","webpack://_N_E/./src/modules/sports/constants/betSlipAcceptTypes.ts","webpack://_N_E/./src/modules/sports/constants/sports.ts","webpack://_N_E/./src/modules/sports/constants/updateIntervals.ts","webpack://_N_E/./src/modules/sports/context/BetSlipHistoryContext.ts","webpack://_N_E/./src/modules/sports/context/MatchContext.ts","webpack://_N_E/./src/modules/sports/context/OddsNameContext.ts","webpack://_N_E/./src/modules/sports/context/ScoreContext.ts","webpack://_N_E/./src/modules/sports/context/SportContext.ts","webpack://_N_E/./src/modules/sports/context/SportsbookListContext.ts","webpack://_N_E/./src/modules/sports/hooks/useBetSlipTotalOddsAndProfit.ts","webpack://_N_E/./src/modules/sports/methods/getBetSlipEventsTotalOdds.ts","webpack://_N_E/./src/modules/sports/hooks/useCheckBetError.ts","webpack://_N_E/./src/modules/sports/store/sportsEventsData/sportsEventsData.thunk.ts","webpack://_N_E/./src/modules/sports/hooks/useEventData.ts","webpack://_N_E/./src/modules/sports/hooks/useOddsChange.ts","webpack://_N_E/./src/modules/sports/methods/createNameFromSlug.ts","webpack://_N_E/./src/modules/sports/store/sportsEventsData/sportsEventsData.actions.ts","webpack://_N_E/./src/modules/sports/store/sportsEventsData/sportsEventsData.constants.ts"],"sourceRoot":"","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { mathService } from '../../modules/math/mathService';\nimport { checkTablet } from '../../modules/app/appService';\nimport { config } from '../../config';\nimport { trans } from '../../modules/translation/translate';\nimport { Tooltip } from '../tooltip';\nimport { enhanceComponent } from '../../wrappers/enhanceComponent';\nimport { countPrecision } from '../../../methods/math/countPrecision';\nimport { mapApiCurrencyToLayoutCurrency } from '../../../../common/controllers/currency/currenciesSettings';\nimport { isTrueOrZero } from '../../../../common/methods/isTrueOrZero';\nimport { ConverterValueStyle } from './converterValue.style';\n\nclass ConverterValue extends React.PureComponent {\n\tstatic propTypes = {\n\t\tvalue: PropTypes.any,\n\t\tswitch: PropTypes.func,\n\t\tconverterCurrency: PropTypes.any,\n\t\tcurrency: PropTypes.string,\n\t\tprecision: PropTypes.number,\n\t\tprice: PropTypes.any,\n\t\tconfirm: PropTypes.bool,\n\t\tdeviceType: PropTypes.string,\n\t};\n\n\tswitch = () => {\n\t\tif (!this.actionEnabled()) {\n\t\t\treturn;\n\t\t}\n\t\tthis.props.switch(this.props.currency);\n\t};\n\n\tparsePrecision = (value, currency) => {\n\t\tconst precision = countPrecision(value);\n\t\tconst defaultPrecision =\n\t\t\tcurrency !== 'usd'\n\t\t\t\t? this.props.precision || config.decimals.bet\n\t\t\t\t: this.props.precision || 6;\n\t\tif (precision > defaultPrecision) {\n\t\t\treturn defaultPrecision;\n\t\t}\n\t\treturn precision === 1 ? 2 : precision;\n\t};\n\n\tactionEnabled = () => {\n\t\treturn checkTablet(this.props.deviceType);\n\t};\n\n\trender() {\n\t\tif (!this.props.converterCurrency) {\n\t\t\treturn null;\n\t\t}\n\t\tif (mapApiCurrencyToLayoutCurrency(this.props.currency) === 'usd') {\n\t\t\treturn null;\n\t\t}\n\t\tconst currency =\n\t\t\tthis.props.converterCurrency === 'usd' ? this.props.currency : 'usd';\n\t\tconst price = currency === 'usd' ? this.props.price : 1;\n\t\tlet value = this.props.value || 0;\n\t\tif (isTrueOrZero(value) && price !== 1) {\n\t\t\tvalue = this.props.value * price;\n\t\t}\n\t\tconst activeSwitch = this.actionEnabled();\n\t\tconst precision = this.parsePrecision(value, currency);\n\t\tconst content = (\n\t\t\t\n\t\t\t\t{currency === 'usd' && '~'}\n\t\t\t\t{mathService.currencyValue(\n\t\t\t\t\tvalue || 0,\n\t\t\t\t\tmapApiCurrencyToLayoutCurrency(currency),\n\t\t\t\t\tprecision,\n\t\t\t\t\tprecision,\n\t\t\t\t)}\n\t\t\t\n\t\t);\n\t\treturn activeSwitch ? (\n\t\t\t\n\t\t\t\t{content}\n\t\t\t\n\t\t) : (\n\t\t\t{content}\n\t\t);\n\t}\n}\n\nConverterValue = enhanceComponent({\n\tConverterValue,\n});\n\nexport { ConverterValue };\n","import { connect } from 'react-redux';\nimport { converterSwitchCurrency } from '../../store/converter/converter.actions';\nimport { ConverterValue } from './converterValue';\n\nconst mapStateToProps = (state, props) => {\n\treturn {\n\t\tprice: state.stats.price[props.currency || state.user.activeCurrency],\n\t\tconverterCurrency: state.converter.currency,\n\t\tcurrency: props.currency || state.user.activeCurrency,\n\t\tconfirm: state.converter.confirm,\n\t\tdeviceType: state.app.deviceType,\n\t};\n};\n\nconst mapDispatchToProps = (dispatch) => {\n\treturn {\n\t\tswitch: (data) => dispatch(converterSwitchCurrency(data)),\n\t};\n};\n\nconst ConverterValueContainer = connect(\n\tmapStateToProps,\n\tmapDispatchToProps,\n)(ConverterValue);\n\nexport { ConverterValueContainer };\n","import styled from 'styled-components';\nimport { box, noclick, onclick } from '../../modules/style/defaults';\nimport { fontSize } from '../../modules/style/mixins/fontSize';\n\nexport const ConverterValueStyle = styled.div.attrs(() => ({\n\tclassName: 'converter-value',\n}))`\n\t${onclick}\n\t${box}\n ${fontSize({\n\t\tsize: '10px',\n\t\tsizeDesktop: '12px',\n\t})};\n\tcolor: var(--color-dark-100);\n\tline-height: 1;\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\talign-items: flex-end;\n\ttext-transform: uppercase;\n\t${(props) => (props.noClick ? noclick : '')}\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { CurrencySymbol } from '../currencySymbol/currencySymbol';\nimport { ConverterValueContainer } from '../converterValue';\nimport { config } from '../../config';\nimport { enhanceComponent } from '../../wrappers/enhanceComponent';\nimport { InputMessageStyles } from '../input/styled/input.style';\nimport { InputWrapperContainer } from '../input/inputWrapper.container';\n\nclass InputCurrency extends React.PureComponent {\n\tstatic propTypes = {\n\t\tvalue: PropTypes.any,\n\t\tupdate: PropTypes.func,\n\t\tcurrency: PropTypes.string,\n\t\ttoUsd: PropTypes.func,\n\t\ttoNative: PropTypes.func,\n\t\tformCurrency: PropTypes.string,\n\t\terror: PropTypes.any,\n\t\tname: PropTypes.string,\n\t\tlabel: PropTypes.any,\n\t\tnoConverterInfo: PropTypes.bool,\n\t\ttranslateKey: PropTypes.bool,\n\t\tprecision: PropTypes.number,\n\t\ttranslateValue: PropTypes.bool,\n\t\tisDisabled: PropTypes.any,\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tconverted: 0,\n\t\t\tvalue: props.value,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.setConverted(this.props.value);\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (prevProps.value !== this.props.value) {\n\t\t\tthis.setState({ value: this.props.value });\n\t\t\tthis.setConverted(this.props.value);\n\t\t}\n\t}\n\n\tsetConverted = (value = this.state.value) => {\n\t\tthis.setState({\n\t\t\tconverted: this.props.toUsd(\n\t\t\t\tvalue,\n\t\t\t\tthis.props.currency,\n\t\t\t\tconfig.decimals.bet,\n\t\t\t\tundefined,\n\t\t\t\ttrue,\n\t\t\t),\n\t\t});\n\t};\n\n\tonChange = (value) => {\n\t\t// console.log('onChange', this.props.name, {\n\t\t// formCurrency: this.props.formCurrency,\n\t\t// stateValue: this.state.value,\n\t\t// converted: this.state.converted,\n\t\t// wallet: this.props.wallet,\n\t\t// propsValue: this.props.value,\n\t\t// // props: this.props,\n\t\t// // state: this.state,\n\t\t// });\n\t\t// console.log('onChangeDelayed', value);\n\t\tthis.updateConverted(value);\n\t\tthis.updateValue(value);\n\t\tthis.setValue(value);\n\t};\n\n\tonFocusOut = (value) => {\n\t\t// console.log('onFocusOut', this.props.name, {\n\t\t// formCurrency: this.props.formCurrency,\n\t\t// stateValue: this.state.value,\n\t\t// converted: this.state.converted,\n\t\t// wallet: this.props.wallet,\n\t\t// propsValue: this.props.value,\n\t\t// // props: this.props,\n\t\t// // state: this.state,\n\t\t// });\n\t\tthis.updateConverted(value);\n\t\tthis.updateValue(value);\n\t};\n\n\tupdateConverted = (value) => {\n\t\tif (this.props.formCurrency === 'usd') {\n\t\t\tthis.setState({\n\t\t\t\tconverted: value,\n\t\t\t});\n\t\t}\n\t};\n\n\tupdateValue = (value) => {\n\t\tif (this.props.update) {\n\t\t\tthis.props.update(\n\t\t\t\tthis.props.toNative(value, this.props.currency, config.decimals.bet),\n\t\t\t);\n\t\t}\n\t};\n\n\tsetValue = (value) => {\n\t\tthis.setState({\n\t\t\tvalue: this.props.toNative(value),\n\t\t});\n\t};\n\n\trender() {\n\t\t// console.log('InputCurrency.jsx', {\n\t\t// \tprops: this.props,\n\t\t// \tstate: this.state,\n\t\t// });\n\t\treturn (\n\t\t\t\n\t\t\t\t\t\t\t{this.props.label}\n\t\t\t\t\t\t\t{!this.props.noConverterInfo && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tvalue={\n\t\t\t\t\tthis.props.formCurrency === 'usd'\n\t\t\t\t\t\t? this.state.converted\n\t\t\t\t\t\t: this.state.value\n\t\t\t\t}\n\t\t\t\tonFocusOut={this.onFocusOut}\n\t\t\t\tonChangeDelayed={this.onChange}\n\t\t\t\ttype=\"number\"\n\t\t\t>\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t{!!this.props.error && this.props.error !== 'boolean' && (\n\t\t\t\t\t\n\t\t\t\t\t\t{this.props.error}\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t);\n\t}\n}\n\nInputCurrency = enhanceComponent({\n\tInputCurrency,\n});\n\nexport { InputCurrency };\n","import { connect } from 'react-redux';\nimport {\n\tconverterToNative,\n\tconverterToUsd,\n} from '../../store/converter/converter.actions';\nimport { InputCurrency } from './inputCurrency';\n\nconst mapStateToProps = (state, props) => {\n\treturn {\n\t\tcurrency: props.currency || state.user.activeCurrency,\n\t\tformCurrency:\n\t\t\tstate.converter.currency === 'usd'\n\t\t\t\t? state.converter.currency\n\t\t\t\t: props.currency || state.user.activeCurrency,\n\t};\n};\n\nconst mapDispatchToProps = (dispatch) => {\n\treturn {\n\t\ttoUsd: (...argument) => dispatch(converterToUsd(...argument)),\n\t\ttoNative: (...argument) => dispatch(converterToNative(...argument)),\n\t};\n};\n\nconst InputCurrencyContainer = connect(\n\tmapStateToProps,\n\tmapDispatchToProps,\n)(InputCurrency);\n\nexport { InputCurrencyContainer };\n","import { useEffect, useState } from 'react';\nimport { BetSlipErrorType } from '@modules/sports/types/BetSlip/BetSlipBet';\nimport { jsonToString } from '@common/methods/jsonToString';\nimport { usePrevious } from '../render/usePrevious';\n\ninterface UseValidateProps {\n\tvalue: number | string;\n\tvalidate: (value: number | string) => { error: BetSlipErrorType };\n\tpreventInitialCheck?: boolean;\n\tupdateError?: (error) => void;\n}\n\nexport const useValidate = ({\n\tvalue,\n\tvalidate,\n\tpreventInitialCheck,\n\tupdateError,\n}: UseValidateProps) => {\n\tconst [error, setError] = useState(false);\n\tconst prevValue = usePrevious(value);\n\tconst prevValidate = usePrevious(validate);\n\n\tuseEffect(() => {\n\t\t// console.log('useValidate', validate !== prevValidate, {\n\t\t// \terror,\n\t\t// \tvalue,\n\t\t// \tprevValue,\n\t\t// \tvalidate,\n\t\t// \tprevValidate,\n\t\t// \tupdateError,\n\t\t// \tpreventInitialCheck,\n\t\t// });\n\t\tif (\n\t\t\tvalue === prevValue &&\n\t\t\tvalidate === prevValidate &&\n\t\t\tpreventInitialCheck\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tconst result = validate(value);\n\t\t// console.log('useValidate - result', {\n\t\t// \tresult\n\t\t// });\n\t\tif (updateError) {\n\t\t\tupdateError(result.error);\n\t\t}\n\t\t// console.log('useValidate', result);\n\t\tif (jsonToString(result.error) !== jsonToString(error)) {\n\t\t\t// console.log('useValidate', jsonToString(result.error) !== jsonToString(error),{\n\t\t\t// \terror,\n\t\t\t// \tvalue,\n\t\t\t// \tprevValue,\n\t\t\t// \tvalidate,\n\t\t\t// \tprevValidate,\n\t\t\t// \tresult,\n\t\t\t// \tupdateError,\n\t\t\t// });\n\t\t\tsetError(result.error);\n\t\t}\n\t}, [validate, value]);\n\n\treturn error;\n};\n","import { useCallback } from 'react';\nimport { GameType } from '@modules/games/Game/constants/availableGames';\nimport { useAppSelector } from '../store/useAppSelector';\nimport { validateProfitAmount } from '../../client/modules/app/gameService';\nimport { CurrencyType } from '../../types/wallet/CurrencyType';\nimport { useValidate } from './useValidate';\n\nexport const useValidateProfitCallback = () => {\n\tconst { activeCurrency } = useAppSelector((state) => state.user);\n\n\treturn useCallback(\n\t\t(value: string | number, game: GameType, currency?: CurrencyType) =>\n\t\t\tvalidateProfitAmount({\n\t\t\t\tvalue,\n\t\t\t\tcurrency: currency || activeCurrency,\n\t\t\t\tgame,\n\t\t\t}),\n\t\t[activeCurrency],\n\t);\n};\n\nexport const useValidateProfit = ({\n\tvalue,\n\tgame,\n\tpreventInitialCheck,\n\tupdateError,\n}: {\n\tvalue: number | string;\n\tgame: GameType;\n\tpreventInitialCheck?: boolean;\n\tupdateError?: (error) => void;\n}) => {\n\tconst validate = useValidateProfitCallback();\n\tconst validateCallback = useCallback(() => {\n\t\treturn validate(value, game);\n\t}, [game, validate, value]);\n\tconst error = useValidate({\n\t\tvalue,\n\t\t// @ts-expect-error validateCallback type do not match\n\t\tvalidate: validateCallback,\n\t\tpreventInitialCheck,\n\t\tupdateError,\n\t});\n\treturn {\n\t\terror,\n\t\tvalidate,\n\t};\n};\n","import { useCallback } from 'react';\nimport { validateBetAmountThunk } from '@modules/games/Game/store/gameValidation/thunks/validateBetAmountThunk';\nimport { GameType } from '@modules/games/Game/constants/availableGames';\nimport { useAppSelector } from '../store/useAppSelector';\nimport { useAppDispatch } from '../store/useAppDispatch';\nimport { useValidate } from './useValidate';\n\nexport const useValidateStakeCallback = () => {\n\tconst dispatch = useAppDispatch();\n\tconst { isLogged, activeCurrency } = useAppSelector((state) => state.user);\n\n\treturn useCallback(\n\t\t(value: string | number, game: GameType) =>\n\t\t\tdispatch(\n\t\t\t\tvalidateBetAmountThunk({\n\t\t\t\t\tvalue,\n\t\t\t\t\tisLogged,\n\t\t\t\t\tcurrency: activeCurrency,\n\t\t\t\t\tcheckBalance: true,\n\t\t\t\t\tgame,\n\t\t\t\t}),\n\t\t\t),\n\t\t[activeCurrency, dispatch, isLogged],\n\t);\n};\n\nexport const useValidateStake = ({\n\tvalue,\n\tgame,\n\tpreventInitialCheck,\n\tupdateError,\n}: {\n\tvalue: number | string;\n\tgame: GameType;\n\tpreventInitialCheck?: boolean;\n\tupdateError?: (error) => void;\n}) => {\n\tconst validate = useValidateStakeCallback();\n\tconst validateCallback = useCallback(\n\t\t(value) => {\n\t\t\treturn validate(value, game);\n\t\t},\n\t\t[game, validate],\n\t);\n\tconst error = useValidate({\n\t\tvalue,\n\t\t// @ts-expect-error invalid type\n\t\tvalidate: validateCallback,\n\t\tpreventInitialCheck,\n\t\tupdateError,\n\t});\n\treturn {\n\t\terror,\n\t\tvalidate,\n\t};\n};\n","import { useCallback, useEffect, useState } from 'react';\nimport { roundNumber } from '@common/methods/roundNumber/roundNumber';\nimport { getTimestamp } from '../../client/modules/app/timeService';\nimport { useInterval } from '../app/useInterval';\n\nexport const useTimeDiff = (\n\tstart_at: number,\n\tinterval?: number,\n): [number, (start?: number) => void] => {\n\tconst [diff, setDiff] = useState(null);\n\n\tconst setDiffValue = useCallback(\n\t\t(start: number = start_at) => {\n\t\t\tconst eventTimestamp: number = getTimestamp(start);\n\t\t\tconst currentTimestamp = getTimestamp();\n\t\t\tsetDiff(roundNumber(currentTimestamp - eventTimestamp, 0));\n\t\t},\n\t\t[start_at],\n\t);\n\n\tuseEffect(() => {\n\t\tsetDiffValue();\n\t}, [setDiffValue]);\n\n\tuseInterval({\n\t\tinterval,\n\t\tcallback: setDiffValue,\n\t\tid: `${start_at}`,\n\t});\n\n\treturn [diff, setDiffValue];\n};\n","import { FunctionComponent, ReactNode } from 'react';\nimport styled from 'styled-components';\nimport { cutTextStyle } from '@legacyApp/client/modules/style/defaults';\nimport { fontSize } from '@legacyApp/client/modules/style/mixins/fontSize';\n\nexport const ColumnLayout: FunctionComponent<{\n\tcells: ReactNode[];\n\tchildren?: ReactNode;\n}> = ({ cells, children }) => {\n\treturn (\n\t\t\n\t\t\t{cells.map((el, index) => (\n\t\t\t\t{el}\n\t\t\t))}\n\t\t\t{children}\n\t\t\n\t);\n};\n\nexport const StyledColumn = styled.div<{\n\t$cells: number;\n}>`\n\talign-items: center;\n\tdisplay: grid;\n\tfont-family: ${(props) => props.theme.text.fonts.Black};\n\tgrid-auto-flow: column;\n\tgrid-template-rows: ${(props) => `repeat(${props.$cells}, auto)`};\n\theight: 100%;\n\tjustify-content: flex-end;\n\tposition: relative;\n\t${fontSize({ size: '12px', sizeDesktop: '14px', sizeBigScreen: '16px' })};\n\n\tspan {\n\t\tdisplay: inline-block;\n\t\t${cutTextStyle};\n\t}\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthSmallTablet}) {\n\t\tfont-size: 10px;\n\t}\n`;\n\nexport const StyledCell = styled.div`\n\talign-items: center;\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\tline-height: 1.2;\n\n\t> svg {\n\t\theight: 15px;\n\t}\n`;\n","import classnames from 'classnames';\nimport styled, { css } from 'styled-components';\n\nimport { calcStyle } from '@legacyApp/client/modules/style/methods/calcStyle';\nimport { chatViewport } from '@legacyApp/client/modules/style/methods/chatViewport';\nimport { fontSize } from '@legacyApp/client/modules/style/mixins/fontSize';\n\nexport interface BalanceCurrencyValueProps {\n\tclassName?: string;\n\t$color?: string;\n}\n\nexport interface BalanceCurrencyValueBigProps {\n\tclassName?: string;\n\tvalue?: string | number;\n}\n\nexport interface BalanceCurrencyValueSmallProps {\n\tclassName?: string;\n}\n\nexport const BalanceCurrencyValueBigStyle = styled.span.attrs(\n\t(props) => ({\n\t\tclassName: classnames('balance__currency--value-big', props.className),\n\t}),\n)`\n\t${(props) =>\n\t\tchatViewport(\n\t\t\t(viewportPadding) => css`\n\t\t\t\t${fontSize({\n\t\t\t\t\tsize: '11px',\n\t\t\t\t\tsizeDesktop: '13px',\n\t\t\t\t\tminWidth: calcStyle({\n\t\t\t\t\t\ta: props.theme.media.minWidthSmallTablet,\n\t\t\t\t\t\tb: viewportPadding,\n\t\t\t\t\t}),\n\t\t\t\t\tsizeBigScreen: '15px',\n\t\t\t\t})}\n\t\t\t`,\n\t\t)}\n`;\n\nexport const BalanceCurrencyValueSmallStyle = styled.span.attrs(\n\t(props) => ({\n\t\tclassName: classnames('balance__currency--value-small', props.className),\n\t}),\n)`\n\t${chatViewport(\n\t\t(viewportPadding) => css`\n\t\t\tposition: relative;\n\t\t\t${(props) =>\n\t\t\t\tfontSize({\n\t\t\t\t\tsize: '9px',\n\t\t\t\t\tsizeDesktop: '10px',\n\t\t\t\t\tminWidth: calcStyle({\n\t\t\t\t\t\ta: props.theme.media.minWidthDesktop,\n\t\t\t\t\t\tb: viewportPadding,\n\t\t\t\t\t}),\n\t\t\t\t\tsizeBigScreen: '12px',\n\t\t\t\t})}\n\t\t\t${(props) =>\n\t\t\t\tfontSize({\n\t\t\t\t\tlabel: 'line-height',\n\t\t\t\t\tsize: '12px',\n\t\t\t\t\tsizeDesktop: '13px',\n\t\t\t\t\tminWidth: calcStyle({\n\t\t\t\t\t\ta: props.theme.media.minWidthDesktop,\n\t\t\t\t\t\tb: viewportPadding,\n\t\t\t\t\t}),\n\t\t\t\t\tsizeBigScreen: '15px',\n\t\t\t\t})}\n\t\t`,\n\t)}\n`;\n","import React, { FC, useCallback, useEffect, useState } from 'react';\nimport Countdown from 'react-countdown';\nimport { CountdownProps } from 'react-countdown/dist/Countdown';\nimport { getTimestamp } from '@legacyApp/client/modules/app/timeService';\nimport { trans } from '@legacyApp/client/modules/translation/translate';\nimport { useAppDispatch } from '@legacyApp/hooks/store/useAppDispatch';\nimport { usePrevious } from '@legacyApp/hooks/render/usePrevious';\nimport { isFunction } from '../../methods/isFunction';\n\nexport interface TimerCountDownProps {\n\tdate: Date | string | number;\n\tprecise?: boolean;\n\tcallback?: () => void;\n\tdispatchCallback?: any;\n\trenderer?: CountdownProps['renderer'];\n}\n\nconst getTimestamp_ = (date) => {\n\tif (!date) {\n\t\treturn null;\n\t}\n\n\treturn getTimestamp(date);\n};\n\nexport const TimerCountDown: FC = (props) => {\n\tconst { date, precise, callback, dispatchCallback, renderer } = props;\n\tconst dispatch = useAppDispatch();\n\tconst [timestamp, setTimestamp] = useState(getTimestamp_(date));\n\tconst prevDate = usePrevious(date);\n\n\tconst renderer_ = useCallback(\n\t\t(data) => {\n\t\t\tconst { days, hours, minutes, seconds, completed, formatted } = data;\n\n\t\t\tif (completed) {\n\t\t\t\tif (isFunction(callback)) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t\tif (dispatchCallback) {\n\t\t\t\t\tdispatch(dispatchCallback);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (isFunction(renderer)) {\n\t\t\t\treturn renderer(data);\n\t\t\t}\n\n\t\t\tif (completed) {\n\t\t\t\treturn precise ? '00:00' : null;\n\t\t\t}\n\n\t\t\tif (precise) {\n\t\t\t\tconst hoursPrecise = hours > 0 ? `${formatted.hours}:` : '';\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t\t\t{hoursPrecise}\n\t\t\t\t\t\t{formatted.minutes}:{formatted.seconds}\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (days > 0) {\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t\t\t{formatted.days} {trans({ label: days === 1 ? 'day' : 'days' })}\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (hours > 0) {\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t\t\t{formatted.hours} {trans({ label: hours === 1 ? 'hour' : 'hours' })}\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (minutes > 0) {\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t\t\t{formatted.minutes}{' '}\n\t\t\t\t\t\t{trans({ label: minutes === 1 ? 'minute' : 'minutes' })}\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (seconds > 0) {\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t\t\t{formatted.seconds}{' '}\n\t\t\t\t\t\t{trans({ label: seconds === 1 ? 'second' : 'seconds' })}\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn {new Date(timestamp).toTimeString()};\n\t\t},\n\t\t[callback, dispatch, dispatchCallback, precise, renderer, timestamp],\n\t);\n\n\tuseEffect(() => {\n\t\tif (getTimestamp_(date) !== getTimestamp_(prevDate)) {\n\t\t\tsetTimestamp(getTimestamp_(date));\n\t\t}\n\t}, [date, prevDate]);\n\n\treturn ;\n};\n","import { validateBetAmount } from '@legacyApp/client/modules/app/gameService';\n\nexport const validateBetAmountThunk = ({\n\tvalue,\n\tisLogged,\n\tcurrency,\n\tcheckBalance,\n\tgame,\n}) => {\n\treturn (dispatch, getState) => {\n\t\tconst balances = getState().balance.balancesArray;\n\t\treturn validateBetAmount({\n\t\t\tvalue,\n\t\t\tbalances,\n\t\t\tisLogged,\n\t\t\tcurrency,\n\t\t\tcheckBalance: isLogged && balances?.length > 1 && checkBalance,\n\t\t\tgame: game || getState().game.activeGame,\n\t\t});\n\t\t// console.log('validateBetAmountAction', {\n\t\t// \tvalue,\n\t\t// \tisLogged,\n\t\t// \twallet,\n\t\t// \tcheckBalance,\n\t\t// \tgame,\n\t\t// \tbalances,\n\t\t// \tresult,\n\t\t// });\n\t\t// return result;\n\t};\n};\n","import { FunctionComponent, useCallback, useContext } from 'react';\nimport { faTimes } from '@fortawesome/free-solid-svg-icons';\nimport styled from 'styled-components';\nimport { Button } from '@legacyApp/client/components/button';\nimport { useAppDispatch } from '@legacyApp/hooks/store/useAppDispatch';\nimport { Icon } from '@common/components/icons';\nimport { AwesomeIcon } from '@common/components/icons/AwesomeIcon';\nimport { fontSize } from '@legacyApp/client/modules/style/mixins/fontSize';\nimport { MatchContext } from '../../../context/MatchContext';\nimport { MatchName } from '../../Match/MatchName/MatchName';\nimport { sportsBetSlipDeleteBet } from '../../../store/sportsBetSlip/sportsBetSlip.thunk';\nimport { MatchDate, StyledDate } from '../../Match/MatchDate/MatchDate';\nimport { BetSlipContext } from './BetElement';\n\nexport const BetSlipElementTitle: FunctionComponent = () => {\n\tconst { bet } = useContext(BetSlipContext);\n\tconst { match } = useContext(MatchContext);\n\n\tconst dispatch = useAppDispatch();\n\n\tconst { matchId, outcomeId } = bet;\n\n\tconst onDelete = useCallback(() => {\n\t\tdispatch(sportsBetSlipDeleteBet(matchId, outcomeId));\n\t}, [dispatch, matchId, outcomeId]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nconst StyledMatchName = styled.div`\n\talign-items: center;\n\tdisplay: flex;\n\tjustify-content: flex-start;\n\t${fontSize({ sizeDiff: -2, sizeDesktopDiff: -2, sizeBigScreenDiff: -2 })};\n\n\tsvg {\n\t\tmargin-right: 0.5rem;\n\t}\n\n\t${StyledDate} {\n\t\tmargin-right: 0.25rem;\n\t\tposition: static;\n\t}\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthSmallTablet}) {\n\t\tsvg {\n\t\t\theight: 10px;\n\t\t\tmargin-right: 0.25rem;\n\t\t}\n\t}\n`;\n\nconst StyledCloseButton = styled(Button)`\n\tcolor: ${(props) => props.theme.colors.active};\n\tcursor: pointer;\n\tmargin: 0;\n\tpadding: 0.25rem;\n\tposition: absolute;\n\tright: 0.5rem;\n\ttop: 50%;\n\ttransform: translateY(-50%);\n\ttransition: ${(props) => props.theme.layout.transition};\n\tz-index: 2;\n\n\t&:hover {\n\t\topacity: 0.7;\n\t}\n`;\n\nconst StyledBetSlipElementTitle = styled.div`\n\talign-items: center;\n\tdisplay: grid;\n\tgrid-template-columns: calc(100% - 15px) 15px;\n\tposition: relative;\n\n\t&:before {\n\t\tbottom: -2px;\n\t}\n`;\n","import { createContext, FunctionComponent } from 'react';\nimport styled from 'styled-components';\nimport { CheckboxStyle } from '@legacyApp/client/components/checkbox/checkbox.style';\nimport { InputWrapperStyle } from '@legacyApp/client/components/input/styled/inputWrapper.style';\nimport { ConverterValueStyle } from '@legacyApp/client/components/converterValue/converterValue.style';\nimport { borderRadius } from '@legacyApp/client/modules/style/defaults';\nimport { useAppDispatch } from '@legacyApp/hooks/store/useAppDispatch';\nimport { currencyLogoStyle } from '@legacyApp/client/modules/style/mixins/currencyLogoStyle';\nimport { fontSize } from '@legacyApp/client/modules/style/mixins/fontSize';\nimport { CSSClassNameCurrencyLogo } from '@legacyApp/client/components/currencySymbol/tokenSymbol';\nimport {\n\tBalanceCurrencyValueBigStyle,\n\tBalanceCurrencyValueSmallStyle,\n} from '@common/components/number/balanceAmount/balanceCurrencyValue.style';\nimport { sportsBetSlipUpdateBetsListElement } from '@modules/sports/store/sportsBetSlip/sportsBetSlip.actions';\nimport { useSportsBetSlipBetData } from '@modules/sports/store/selectors/sportsBetSlip.selectors';\nimport { BetSlipMatchDataDetailsType } from '@modules/sports/types/BetSlip/BetSlipDataReducerType';\nimport {\n\tBetSlipBet,\n\tBetSlipBetUpdateType,\n} from '@modules/sports/types/BetSlip/BetSlipBet';\nimport { MatchContext } from '@modules/sports/context/MatchContext';\nimport { StyledSummaryValue } from '@modules/sports/components/BetSlipSection/BetSlipForm/SummaryValue';\nimport { BetSlipElementForm } from '@modules/sports/components/BetSlipSection/BetElement/BetSlipElementForm';\nimport { BetSlipElementDetails } from '@modules/sports/components/BetSlipSection/BetElement/BetSlipElementDetails';\nimport { BetSlipElementTitle } from '@modules/sports/components/BetSlipSection/BetElement/BetSlipElementTitle';\nimport { BetSlipElementMessage } from '@modules/sports/components/BetSlipSection/BetElement/BetSlipElementMessage';\n\nexport const BetSlipContext = createContext<{\n\tbet: BetSlipBet;\n\tupdate?: (element: BetSlipBetUpdateType) => void;\n}>({\n\tbet: null,\n\tupdate: null,\n});\n\nconst BetElement: FunctionComponent<{\n\tbet: BetSlipBet;\n}> = ({ bet }) => {\n\tconst dispatch = useAppDispatch();\n\tconst update = (data: BetSlipBetUpdateType) =>\n\t\tdispatch(\n\t\t\tsportsBetSlipUpdateBetsListElement({\n\t\t\t\tmatchId: bet.matchId,\n\t\t\t\toutcomeId: bet.outcomeId,\n\t\t\t\t...data,\n\t\t\t}),\n\t\t);\n\n\tconst match: BetSlipMatchDataDetailsType = useSportsBetSlipBetData({\n\t\tmatchId: bet.matchId,\n\t});\n\n\tif (!match) {\n\t\treturn null;\n\t}\n\n\tconsole.log('BetElement', {\n\t\tbet,\n\t\tmatch,\n\t});\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nconst StyledBetElement = styled.div`\n\t${borderRadius};\n\tbackground-color: #162d47;\n\tdisplay: flex;\n\tflex-direction: column;\n\tfont-family: ${(props) => props.theme.text.fonts.Black};\n\toverflow: hidden;\n\tposition: relative;\n\n\t> * {\n\t\tpadding: 0.5rem 0.75rem;\n\t}\n\n\t&:not(:last-of-type) {\n\t\tmargin-bottom: 10px;\n\t}\n\n\t${CheckboxStyle} {\n\t\tleft: 0.75rem;\n\t\tposition: absolute;\n\t\ttop: 0.75rem;\n\t\twidth: unset;\n\t\tz-index: 2;\n\t}\n\n\t${InputWrapperStyle} {\n\t\tmargin-top: 2px;\n\t\tpadding-bottom: 0;\n\n\t\tlabel {\n\t\t\tmargin-bottom: 1px;\n\n\t\t\t${ConverterValueStyle} {\n\t\t\t\tcolor: ${(props) => props.theme.colors.inputButton};\n\t\t\t}\n\t\t}\n\t}\n\n\t${StyledSummaryValue} {\n\t\tcolor: ${(props) => props.theme.colors.inputButton};\n\t\tmargin-top: 0;\n\n\t\t&,\n\t\t${BalanceCurrencyValueBigStyle} {\n\t\t\t${fontSize({\n\t\t\t\tsizeDiff: -4,\n\t\t\t\tsizeDesktopDiff: -6,\n\t\t\t\tsizeBigScreenDiff: -6,\n\t\t\t\timportant: true,\n\t\t\t})};\n\t\t}\n\n\t\t${BalanceCurrencyValueSmallStyle} {\n\t\t\t${fontSize({\n\t\t\t\tsizeDiff: -5,\n\t\t\t\tsizeDesktopDiff: -8,\n\t\t\t\tsizeBigScreenDiff: -8,\n\t\t\t\timportant: true,\n\t\t\t})};\n\t\t\t${fontSize({\n\t\t\t\tlabel: 'line-height',\n\t\t\t\tsizeDiff: -4,\n\t\t\t\tsizeDesktopDiff: -6,\n\t\t\t\tsizeBigScreenDiff: -6,\n\t\t\t\timportant: true,\n\t\t\t})}\n\t\t}\n\n\t\t.${CSSClassNameCurrencyLogo} {\n\t\t\t${currencyLogoStyle({ size: '12px', important: true })};\n\n\t\t\t@media (max-width: ${(props) => props.theme.media.maxWidthTablet}) {\n\t\t\t\t${currencyLogoStyle({ size: '10px', important: true })};\n\t\t\t}\n\t\t}\n\t}\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthSmallTablet}) {\n\t\t> * {\n\t\t\tpadding: 0.4rem;\n\t\t}\n\t}\n`;\n\nexport { BetElement };\n","import {\n\tEVENT_OFFER_LAYOUT_TYPE_3_WAY_HANDICAP,\n\tEVENT_OFFER_LAYOUT_TYPE_CORRECT_SCORE,\n\tEVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n\tEVENT_OFFER_LAYOUT_TYPE_HALF_TIME_FULL_TIME,\n\tEVENT_OFFER_LAYOUT_TYPE_HANDICAP,\n\tEVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n\tEVENT_OFFER_LAYOUT_TYPE_VERTICAL,\n} from './eventOfferLayoutTypes.constans';\n\nexport const AWAY_TEAM_TO_SCORE_IN_BOTH_HALVES = {\n\tname: '{awayTeam} to Score in both halves',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const AWAY_TEAM_TO_WIN_IN_BOTH_HALVES = {\n\tname: '{awayTeam} to win both halves',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const HOME_TEAM_TO_SCORE_IN_BOTH_HALVES = {\n\tname: '{homeTeam} to Score in both halves',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const HOME_TEAM_TO_WIN_IN_BOTH_HALVES = {\n\tname: '{homeTeam} to win both halves',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const FIRST_HALF = {\n\tname: '1st Half',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const SECOND_HALF = {\n\tname: '2nd Half',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const THREE_WAY_HANDICAP = {\n\tname: '3-Way Handicap',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_3_WAY_HANDICAP,\n};\nexport const THREE_WAY_HANDICAP__FIRST_HALF = {\n\tname: '3-Way Handicap - 1st Half',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_3_WAY_HANDICAP,\n};\nexport const THREE_WAY_HANDICAP__SECOND_HALF = {\n\tname: '3-Way Handicap - 2nd Half',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_3_WAY_HANDICAP,\n};\nexport const THREE_WAY_HANDICAP__INCLUDING_OVERTIME_AND_PENALTY = {\n\tname: '3-Way Handicap - Including Overtime and Penalty Shootout',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_3_WAY_HANDICAP,\n};\nexport const THREE_WAY_HANDICAP__REGULAR_TIME = {\n\tname: '3-Way Handicap - Regular Time',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_3_WAY_HANDICAP,\n};\nexport const ASIAN_HANDICAP = {\n\tname: 'Asian Handicap',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_HANDICAP,\n};\nexport const ASIAN_HANDICAP_FIRST_HALF = {\n\tname: 'Asian Handicap - 1st Half',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_HANDICAP,\n};\nexport const ASIAN_HANDICAP_SECOND_HALF = {\n\tname: 'Asian Handicap - 2nd Half',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_HANDICAP,\n};\nexport const ASIAN_TOTAL = {\n\tname: 'Asian Total',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const ASIAN_TOTAL_FIRST_HALF = {\n\tname: 'Asian Total - 1st Half',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const ASIAN_TOTAL_SECOND_HALF = {\n\tname: 'Asian Total - 2nd Half',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const BOTH_TEAMS_TO_SCORE = {\n\tname: 'Both Teams To Score',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const BOTH_TEAMS_TO_SCORE__INCLUDING_OVERTIME_AND_PENALTY = {\n\tname: 'Both Teams To Score - Including Overtime and Penalty Shootout',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const BOTH_TEAM_TO_SCORE__FIRST_HALF = {\n\tname: 'Both Teams To Score - 1st Half',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const BOTH_TEAMS_TO_SCORE__SECOND_HALF = {\n\tname: 'Both Teams To Score - 2nd Half',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const BOTH_TEAMS_TO_SCORE__PERIOD_1 = {\n\tname: 'Both Teams To Score - Period 1',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const BOTH_TEAMS_TO_SCORE__PERIOD_2 = {\n\tname: 'Both Teams To Score - Period 2',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const BOTH_TEAMS_TO_SCORE__PERIOD_3 = {\n\tname: 'Both Teams To Score - Period 3',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const BOTH_TEAMS_TO_SCORE__REGULAR_TIME = {\n\tname: 'Both Teams To Score - Regular Time',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const BOTH_TEAMS_TO_SCORE_IN_BOTH_HALVES = {\n\tname: 'Both Teams to Score in both halves',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const CORRECT_SCORE = {\n\tname: 'Correct Score',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_CORRECT_SCORE,\n};\nexport const CORRECT_SCORE__INCLUDING_OVERTIME_AND_PENALTY = {\n\tname: 'Correct Score - Including Overtime and Penalty Shootout',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_CORRECT_SCORE,\n};\nexport const CORRECT_SCORE__INCLUDING_OVERTIME_AND_PENALTY_2 = {\n\tname: 'Correct Score - Including Overtime and Penalty Shootout',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_CORRECT_SCORE,\n};\nexport const CORRECT_SCORE__FIRST_HALF = {\n\tname: 'Correct Score - 1st Half',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_CORRECT_SCORE,\n};\nexport const CORRECT_SCORE__SECOND_HALF = {\n\tname: 'Correct Score - 2nd Half',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_CORRECT_SCORE,\n};\nexport const CORRECT_SCORE__INCLUDING_OVERTIME = {\n\tname: 'Correct Score - Including Overtime',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_CORRECT_SCORE,\n};\nexport const CORRECT_SCORE__PERIOD_1 = {\n\tname: 'Correct Score - Period 1',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_CORRECT_SCORE,\n};\nexport const CORRECT_SCORE__PERIOD_2 = {\n\tname: 'Correct Score - Period 2',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_CORRECT_SCORE,\n};\nexport const CORRECT_SCORE__PERIOD_3 = {\n\tname: 'Correct Score - Period 3',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_CORRECT_SCORE,\n};\nexport const CORRECT_SCORE__REGULAR_TIME = {\n\tname: 'Correct Score - Regular Time',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_CORRECT_SCORE,\n};\nexport const DOUBLE_CHANCE = {\n\tname: 'Double Chance',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_VERTICAL,\n};\nexport const DOUBLE_CHANCE__FIRST_HALF = {\n\tname: 'Double Chance - 1st Half',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_VERTICAL,\n};\nexport const DOUBLE_CHANCE__SECOND_HALF = {\n\tname: 'Double Chance - 2nd Half',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_VERTICAL,\n};\nexport const DOUBLE_CHANCE__REGULAR_TIME = {\n\tname: 'Double Chance - Regular Time',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_VERTICAL,\n};\nexport const FULL_TIME = {\n\tname: 'Full Time',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const GAME_HANDICAP = {\n\tname: 'Game Handicap',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_HANDICAP,\n};\nexport const GOAL_IN_BOTH_HALVES = {\n\tname: 'Goal in both halves',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const HALF_TIME = {\n\tname: 'Half Time',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const HALF_TIME__FULL_TIME = {\n\tname: 'Half Time/Full Time',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_HALF_TIME_FULL_TIME,\n};\nexport const HANDICAP = {\n\tname: 'Handicap',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_HANDICAP,\n};\nexport const HANDICAP__FIRST_HALF = {\n\tname: 'Handicap - 1st Half',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_HANDICAP,\n};\nexport const HANDICAP__SECOND_HALF = {\n\tname: 'Handicap - 2nd Half',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_HANDICAP,\n};\nexport const HANDICAP__INCLUDING_OVERTIME = {\n\tname: 'Handicap - Including Overtime',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_HANDICAP,\n};\nexport const HANDICAP__INCLUDING_OVERTIME_AND_PENALTIES = {\n\tname: 'Handicap - Including Overtime and Penalty Shootout',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_HANDICAP,\n};\nexport const HANDICAP__QUARTER_1 = {\n\tname: 'Handicap - Quarter 1',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_HANDICAP,\n};\nexport const HANDICAP__QUARTER_2 = {\n\tname: 'Handicap - Quarter 2',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_HANDICAP,\n};\nexport const HANDICAP__QUARTER_3 = {\n\tname: 'Handicap - Quarter 3',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_HANDICAP,\n};\nexport const HANDICAP__QUARTER_4 = {\n\tname: 'Handicap - Quarter 4',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_HANDICAP,\n};\nexport const HANDICAP__REGULAR_TIME = {\n\tname: 'Handicap - Regular Time',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_HANDICAP,\n};\nexport const INCLUDING_OVERTIME = {\n\tname: 'Including Overtime',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const INCLUDING_OVERTIME_AND_PENALTIES = {\n\tname: 'Including overtime and penalty shootout',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const INCLUDING_OVERTIME_AND_PENALTIES_2 = {\n\tname: 'Including Overtime and penalty shootout',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const MATCH_ODDS = {\n\tname: 'Match Odds',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const MATCH_ODDS_3_WAY = {\n\tname: 'Match Odds (3-Way)',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const MATCH_ODDS__REGULAR_TIME = {\n\tname: 'Match Odds - Regular Time',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const MATCH_POINT_HANDICAP = {\n\tname: 'Match Point Handicap',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const PERIOD_1 = {\n\tname: 'Period 1',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const PERIOD_2 = {\n\tname: 'Period 2',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const PERIOD_3 = {\n\tname: 'Period 3',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const QUARTER_1 = {\n\tname: 'Quarter 1',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const QUARTER_2 = {\n\tname: 'Quarter 2',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const QUARTER_3 = {\n\tname: 'Quarter 3',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const QUARTER_4 = {\n\tname: 'Quarter 4',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const SET_1 = {\n\tname: 'Set 1',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const SET_2 = {\n\tname: 'Set 2',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const SET_3 = {\n\tname: 'Set 3',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const SET_4 = {\n\tname: 'Set 4',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const SET_5 = {\n\tname: 'Set 5',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const SET_HANDICAP = {\n\tname: 'Set Handicap',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_HANDICAP,\n};\nexport const SET_BETTING = {\n\tname: 'Set Betting',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_CORRECT_SCORE,\n};\nexport const TOTAL_GAMES = {\n\tname: 'Total Games',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_GAMES__SET_1 = {\n\tname: 'Total Games - Set 1',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_GAMES__SET_2 = {\n\tname: 'Total Games - Set 2',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_GAMES__SET_3 = {\n\tname: 'Total Games - Set 3',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_GAMES__SET_4 = {\n\tname: 'Total Games - Set 4',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_GAMES__SET_5 = {\n\tname: 'Total Games - Set 5',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_GOALS = {\n\tname: 'Total Goals',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_GOALS__FIRST_HALF = {\n\tname: 'Total Goals - 1st Half',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_GOALS__SECOND_HALF = {\n\tname: 'Total Goals - 2nd Half',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_GOALS__INCLUDING_OVERTIME = {\n\tname: 'Total Goals - Including Overtime',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_GOALS__INCLUDING_OVERTIME_AND_PENALTIES = {\n\tname: 'Total Goals - Including Overtime and Penalty Shootout',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_GOALS__PERIOD_1 = {\n\tname: 'Total Goals - Period 1',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_GOALS__PERIOD_2 = {\n\tname: 'Total Goals - Period 2',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_GOALS__PERIOD_3 = {\n\tname: 'Total Goals - Period 3',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_GOALS__REGULAR_TIME = {\n\tname: 'Total Goals - Regular Time',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_GOALS_BY_AWAY_TEAM = {\n\tname: 'Total Goals by {awayTeam}',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_GOALS_BY_AWAY_TEAM__INCLUDING_OVERTIME = {\n\tname: 'Total Goals by {awayTeam} - Including Overtime',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_GOALS_BY_AWAY_TEAM__INCLUDING_OVERTIME_AND_PENALTIES = {\n\tname: 'Total Goals by {awayTeam} - Including Overtime and Penalty Shootout',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_GOALS_BY_AWAY_TEAM__PERIOD_1 = {\n\tname: 'Total Goals by {awayTeam} - Period 1',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_GOALS_BY_AWAY_TEAM__PERIOD_2 = {\n\tname: 'Total Goals by {awayTeam} - Period 2',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_GOALS_BY_AWAY_TEAM__PERIOD_3 = {\n\tname: 'Total Goals by {awayTeam} - Period 3',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_GOALS_BY_AWAY_TEAM__REGULAR_TIME = {\n\tname: 'Total Goals by {awayTeam} - Regular Time',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_GOALS_BY_AWAY_TEAM__ODD_EVEN = {\n\tname: 'Total Goals by {awayTeam} Odd/Even',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const TOTAL_GOALS_BY_HOME_TEAM__OVER_UNDER = {\n\tname: 'Total Goals by {homeTeam}',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_GOALS_BY_HOME_TEAM__INCLUDING_OVERTIME = {\n\tname: 'Total Goals by {homeTeam} - Including Overtime',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_GOALS_BY_HOME_TEAM__INCLUDING_OVERTIME_AND_PENALTIES = {\n\tname: 'Total Goals by {homeTeam} - Including Overtime and Penalty Shootout',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_GOALS_BY_HOME_TEAM__PERIOD_1 = {\n\tname: 'Total Goals by {homeTeam} - Period 1',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_GOALS_BY_HOME_TEAM__PERIOD_2 = {\n\tname: 'Total Goals by {homeTeam} - Period 2',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_GOALS_BY_HOME_TEAM__PERIOD_3 = {\n\tname: 'Total Goals by {homeTeam} - Period 3',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_GOALS_BY_HOME_TEAM__REGULAR_TIME = {\n\tname: 'Total Goals by {homeTeam} - Regular Time',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_GOALS_BY_HOME_TEAM__ODD_EVEN = {\n\tname: 'Total Goals by {homeTeam} Odd/Even',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const TOTAL_GOALS_ODDS_EVEN = {\n\tname: 'Total Goals Odd/Even',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const TOTAL_GOALS_ODDS_EVEN__REGULAR_TIME = {\n\tname: 'Total Goals Odd/Even - Regular Time',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const TOTAL_POINTS__FIRST_HALF = {\n\tname: 'Total Points - 1st Half',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_POINTS__SECOND_HALF = {\n\tname: 'Total Points - 2nd Half',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_POINTS__GAME_1 = {\n\tname: 'Total Points - Game 1',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_POINTS__GAME_2 = {\n\tname: 'Total Points - Game 2',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_POINTS__GAME_3 = {\n\tname: 'Total Points - Game 3',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_POINTS__INCLUDING_OVERTIME = {\n\tname: 'Total Points - Including Overtime',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_POINTS__QUARTER_1 = {\n\tname: 'Total Points - Quarter 1',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_POINTS__QUARTER_2 = {\n\tname: 'Total Points - Quarter 2',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_POINTS__QUARTER_3 = {\n\tname: 'Total Points - Quarter 3',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_POINTS__QUARTER_4 = {\n\tname: 'Total Points - Quarter 4',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_POINTS_ODD_EVEN__INCLUDING_OVERTIME = {\n\tname: 'Total Points Odd/Even - Including Overtime',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const TOTAL_SETS = {\n\tname: 'Total Sets',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const REGULAR_TIME = {\n\tname: 'Regular Time',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const REGULAR_TIME__THREE_WAY = {\n\tname: 'Regular Time (3-way)',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const DRAW_NO_BET__MATCH_ODDS = {\n\tname: 'Draw No Bet - Match Odds',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const SERIES_WINNER = {\n\tname: 'Series Winner',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const DRAW_NO_BET = {\n\tname: 'Draw No Bet',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const EXTRA_TIME = {\n\tname: 'Extra Time',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const FULL_TIME__INCLUDING_EXTRA_TIME = {\n\tname: 'Full Time Including Extra Time',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const TOTAL_GOALS__INCLUDING_EXTRA_TIME = {\n\tname: 'Total Goals Including Extra Time',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const DRAW_NO_BET__INCLUDING_EXTRA_TIME = {\n\tname: 'Draw No Bet Including Extra Time',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const DOUBLE_CHANCE__INCLUDING_EXTRA_TIME = {\n\tname: 'Double Chance Including Extra Time',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const HANDICAP__INCLUDING_EXTRA_TIME = {\n\tname: 'Handicap Including Extra Time',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_HANDICAP,\n};\nexport const THREE_WAY_HANDICAP__INCLUDING_EXTRA_TIME = {\n\tname: '3-Way Handicap Including Extra Time',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_3_WAY_HANDICAP,\n};\nexport const TOTAL_GOALS_BY_AWAY_TEAM__INCLUDING_EXTRA_TIME = {\n\tname: 'Total Goals by {awayTeam} Including Extra Time',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_GOALS_BY_HOME_TEAM__INCLUDING_EXTRA_TIME = {\n\tname: 'Total Goals by {homeTeam} Including Extra Time',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TO_WIN_THE_TROPHY = {\n\tname: 'To Win The Trophy',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const TEAM_TO_GO_THROUGH = {\n\tname: 'Team to go through',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const BOUT_ODDS = {\n\tname: 'Bout Odds',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const DRAW_NO_BET_BOUT_ODDS = {\n\tname: 'Draw No Bet - Bout Odds',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const MAP_HANDICAP = {\n\tname: 'Map Handicap',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_HANDICAP,\n};\nexport const MAP_ROUND_HANDICAP_1 = {\n\tname: 'Map 1 - Round Handicap',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_HANDICAP,\n};\nexport const MAP_ROUND_HANDICAP_2 = {\n\tname: 'Map 2 - Round Handicap',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_HANDICAP,\n};\nexport const MAP_ROUND_HANDICAP_3 = {\n\tname: 'Map 3 - Round Handicap',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_HANDICAP,\n};\nexport const MAP_ROUND_HANDICAP_4 = {\n\tname: 'Map 4 - Round Handicap',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_HANDICAP,\n};\nexport const MAP_ROUND_HANDICAP_5 = {\n\tname: 'Map 5 - Round Handicap',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_HANDICAP,\n};\nexport const MAP_1 = {\n\tname: 'Map 1',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const MAP_2 = {\n\tname: 'Map 2',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const MAP_3 = {\n\tname: 'Map 3',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const MAP_4 = {\n\tname: 'Map 4',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const MAP_5 = {\n\tname: 'Map 5',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_DEFAULT,\n};\nexport const MAP_1_TOTAL_ROUNDS = {\n\tname: 'Map 1 - Total Rounds',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const MAP_2_TOTAL_ROUNDS = {\n\tname: 'Map 2 - Total Rounds',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const MAP_3_TOTAL_ROUNDS = {\n\tname: 'Map 3 - Total Rounds',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const MAP_4_TOTAL_ROUNDS = {\n\tname: 'Map 4 - Total Rounds',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const MAP_5_TOTAL_ROUNDS = {\n\tname: 'Map 5 - Total Rounds',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\nexport const TOTAL_MAPS = {\n\tname: 'Total Maps',\n\ttype: EVENT_OFFER_LAYOUT_TYPE_OVER_UNDER,\n};\n","import { FunctionComponent } from 'react';\nimport styled from 'styled-components';\nimport { DeveloperData } from '@common/components/default/DeveloperData/DeveloperData';\nimport { EventOfferData } from '../../../../../hooks/useEventOffer/useEventOffersToTabsStructure';\nimport OfferOutcomesList from '../../OutcomesList/OfferOutcomesList';\nimport { StyledOutcomesList } from '../../OutcomesList/OutcomesList';\n\nconst Default: FunctionComponent<{\n\tdata: EventOfferData;\n\tclassName?: string;\n}> = ({ data, className }) => {\n\treturn (\n\t\t
\n\t\t\t{data.offers.map((offer) => (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t))}\n\t\t
\n\t);\n};\n\nexport const StyledMatchOffer = styled.div`\n\tfloat: left;\n\twidth: 100%;\n\n\t${StyledOutcomesList} {\n\t\tpadding: 2rem 0 0;\n\t}\n\n\t&:not(:first-of-type) {\n\t\tmargin-top: 5px;\n\t}\n\n\t> div {\n\t\tcolor: ${(props) => props.theme.colors.textDisabled};\n\t\tfont-family: ${(props) => props.theme.text.fonts.Regular};\n\t\tfont-size: 10px;\n\t}\n`;\n\nexport default Default;\n","import { FunctionComponent } from 'react';\nimport styled from 'styled-components';\nimport { rgba } from 'polished';\nimport { DeveloperData } from '@common/components/default/DeveloperData/DeveloperData';\nimport { trans } from '@legacyApp/client/modules/translation/translate';\nimport { fontSize } from '@legacyApp/client/modules/style/mixins/fontSize';\nimport { EventOfferData } from '../../../../../hooks/useEventOffer/useEventOffersToTabsStructure';\nimport OfferOutcomesList from '../../OutcomesList/OfferOutcomesList';\nimport sortService, {\n\tDIRECTION,\n} from '../../../../../../../LegacyApp/client/modules/app/sortService';\nimport { MatchOfferType } from '../../../../../types/Match/OfferType';\nimport { MatchOutcomeType } from '../../../../../types/Match/OutcomeType';\nimport { OddsNameContext } from '../../../../../context/OddsNameContext';\nimport { MatchOddsNameData } from '../../../MatchOdds/MatchOddsName';\nimport { StyledMatchOffer } from './Default';\n\nconst SORT_ARRAY = ['1', 'x', '2'];\n\nconst getLabel = (value: MatchOutcomeType): string => {\n\tlet label = value.label;\n\tif (label === '{homeTeam}') {\n\t\tlabel = '1';\n\t}\n\tif (label === '{awayTeam}') {\n\t\tlabel = '2';\n\t}\n\tif (label.toLowerCase() === 'draw') {\n\t\tlabel = 'x';\n\t}\n\treturn label.toLowerCase();\n};\n\nexport const parseThreeWayHandicapDecimalLine = (value) => {\n\t// console.log('parseDecimalLine', {value});\n\tif (!value || value === '0') {\n\t\treturn '0-0';\n\t}\n\tif (value.indexOf('-') > -1) {\n\t\treturn `0${parseFloat(value)}`;\n\t}\n\treturn `${parseFloat(value)}-0`;\n};\n\nconst parseOffer = (offer: MatchOfferType): MatchOfferType => {\n\tconst parsed = {\n\t\t...offer,\n\t\toutcomes: offer.outcomes.sort((a, b) => {\n\t\t\treturn sortService.sort(\n\t\t\t\tDIRECTION.ASC,\n\t\t\t\tSORT_ARRAY.indexOf(getLabel(a)) + 1,\n\t\t\t\tSORT_ARRAY.indexOf(getLabel(b)) + 1,\n\t\t\t);\n\t\t}),\n\t};\n\t// console.log(parsed.outcomes.map(el => el.label), {parsed, offer});\n\treturn parsed;\n};\n\nconst getValue = (value) => {\n\t// console.log('getValue', {value}, value.outcomes[0].decimal_line);\n\treturn parseFloat(value.outcomes[0]?.decimal_line);\n};\n\nconst sort = (a, b) => {\n\treturn sortService.sort(\n\t\tDIRECTION.DESC,\n\t\tgetValue(a) + 1000,\n\t\tgetValue(b) + 1000,\n\t);\n};\n\nexport const parseThreeWayData = (\n\tdata: MatchOddsNameData,\n): MatchOddsNameData => {\n\tif (!data) {\n\t\treturn data;\n\t}\n\treturn {\n\t\t...data,\n\t\tdecimal_line: null,\n\t};\n};\n\nconst map = (offer) => (\n\t\n\t\t\n\t\t\t{trans({ label: 'Starts' })}{' '}\n\t\t\t{parseThreeWayHandicapDecimalLine(offer.outcomes?.[0]?.decimal_line)}\n\t\t\n\t\t\n\t\t\n\t\n);\n\nconst ThreeWayHandicap: FunctionComponent<{ data: EventOfferData }> = ({\n\tdata,\n}) => {\n\treturn (\n\t\t\n\t\t\t
{data.offers.sort(sort).map(map)}
\n\t\t\n\t);\n};\n\nexport const StyledOfferLineTitle = styled.h6`\n\tcolor: ${(props) => rgba(props.theme.colors.text, 0.35)};\n\tfont-family: ${(props) => props.theme.text.fonts.Black};\n\t${fontSize({ sizeDiff: -3, sizeDesktopDiff: -3, sizeBigScreenDiff: -3 })};\n\tmargin: 0.5rem 0 0;\n`;\n\nexport const StyledOfferLine = styled(StyledMatchOffer)`\n\t&:first-of-type {\n\t\t${StyledOfferLineTitle} {\n\t\t\tmargin-top: 0.25rem !important;\n\t\t}\n\t}\n`;\n\nexport default ThreeWayHandicap;\n","import {\n\tFunctionComponent,\n\tuseCallback,\n\tuseContext,\n\tuseEffect,\n\tuseState,\n} from 'react';\nimport styled, { css } from 'styled-components';\nimport { DeveloperData } from '@common/components/default/DeveloperData/DeveloperData';\nimport { useOnMount } from '@common/hooks/useOnMount';\nimport { MatchOdds } from '../../Match/MatchOdds/MatchOdds';\nimport { useEventData } from '../../../hooks/useEventData';\nimport {\n\tcheckDisabledOffer,\n\tcheckDisabledOutcome,\n\tcheckSuspendedOffer,\n} from '../../Match/Details/OutcomesList/OutcomesList';\nimport { ChangedOddsType, useOddsChange } from '../../../hooks/useOddsChange';\nimport {\n\tMatchOddsChange,\n\tStyledMatchOddsChange,\n} from '../../Match/MatchOdds/MatchOddsChange';\nimport {\n\tALL_ACCEPT,\n\tNO_ODDS_ACCEPT,\n} from '../../../constants/betSlipAcceptTypes';\nimport {\n\tOFFER_CLOSED_ERROR,\n\tOFFER_SUSPENDED_ERROR,\n} from '../../../constants/betSlip';\nimport { useCheckBetError } from '../../../hooks/useCheckBetError';\nimport {\n\tuseSportsBetSlipAcceptType,\n\tuseSportsBetSlipBetOutcome,\n\tuseSportsBetSlipPlacingBet,\n} from '../../../store/selectors/sportsBetSlip.selectors';\nimport { BetSlipContext } from './BetElement';\n\nexport const BetSlipElementOdds: FunctionComponent = () => {\n\tconst { bet, update } = useContext(BetSlipContext);\n\tconst outcome = useSportsBetSlipBetOutcome({\n\t\tmatchId: bet.matchId,\n\t\toutcomeId: bet.outcomeId,\n\t});\n\tconst placingBet = useSportsBetSlipPlacingBet();\n\tconst [odds, setOdds] = useState(outcome?.decimal_odds);\n\tconst [updatedOutcome, setUpdatedOutcome] = useState(null);\n\n\tconst { data, setActive } = useEventData(\n\t\toutcome?.offer_id,\n\t\t'BetSlipElementOdds',\n\t\t'odds',\n\t\t'offers',\n\t);\n\n\tconst oddsChangeType = useOddsChange(outcome?.decimal_odds, odds);\n\tconst isDisabled = useCheckBetError({ bet });\n\tconst acceptType = useSportsBetSlipAcceptType();\n\n\tconst getUpdated = useCallback(() => {\n\t\treturn data?.outcomes?.length\n\t\t\t? data.outcomes.find((data) => data.id === outcome.id)\n\t\t\t: null;\n\t}, [data, outcome]);\n\n\tuseEffect(() => {\n\t\tif (bet.placed_at || placingBet) {\n\t\t\treturn;\n\t\t}\n\t\tconst updatedOutcome = getUpdated();\n\t\tsetUpdatedOutcome(updatedOutcome);\n\t\tsetOdds(updatedOutcome?.decimal_odds || outcome?.decimal_odds);\n\t}, [outcome?.decimal_odds, data, getUpdated]);\n\n\tuseOnMount(() => {\n\t\tsetActive(true);\n\n\t\treturn () => {\n\t\t\treturn setActive(false);\n\t\t};\n\t});\n\n\tuseEffect(() => {\n\t\tlet error =\n\t\t\tcheckDisabledOutcome(updatedOutcome?.state) ||\n\t\t\tcheckSuspendedOffer(data?.state)\n\t\t\t\t? OFFER_SUSPENDED_ERROR\n\t\t\t\t: null;\n\t\tif (!error) {\n\t\t\terror = checkDisabledOffer(data?.state) ? OFFER_CLOSED_ERROR : null;\n\t\t}\n\n\t\t// console.log('checkIsDisabledOffer', {\n\t\t// \tbool,\n\t\t// \tofferState: data?.state,\n\t\t// \toutcomeState: updatedOutcome?.state,\n\t\t// \tbet,\n\t\t// });\n\n\t\tif (!error && !bet?.error?.default) {\n\t\t\treturn;\n\t\t}\n\t\tupdate({\n\t\t\terror: {\n\t\t\t\t...(bet?.error || {}),\n\t\t\t\tdefault:\n\t\t\t\t\terror ??\n\t\t\t\t\t([OFFER_SUSPENDED_ERROR, OFFER_CLOSED_ERROR].indexOf(\n\t\t\t\t\t\tbet?.error?.default as string,\n\t\t\t\t\t) > -1\n\t\t\t\t\t\t? null\n\t\t\t\t\t\t: bet?.error?.default),\n\t\t\t},\n\t\t});\n\t}, [data?.state, updatedOutcome?.state]);\n\n\tuseEffect(() => {\n\t\tif (!odds || !outcome?.decimal_odds || bet.placed_at || placingBet) {\n\t\t\treturn;\n\t\t}\n\t\tlet type: ChangedOddsType = false;\n\t\tif (odds > outcome?.decimal_odds && acceptType.id === NO_ODDS_ACCEPT) {\n\t\t\ttype = 'high';\n\t\t}\n\t\tif (odds < outcome?.decimal_odds && acceptType.id !== ALL_ACCEPT) {\n\t\t\ttype = 'low';\n\t\t}\n\t\tif (bet?.newOdds !== odds || bet?.oddsChanged !== type) {\n\t\t\tupdate({ newOdds: odds, oddsChanged: type });\n\t\t}\n\t}, [odds, outcome?.decimal_odds, acceptType.id, update]);\n\n\t// console.log('BetSlipElementOdds', {\n\t// \tofferState: data?.state,\n\t// \toutcomeState: updatedOutcome?.state,\n\t// \toutcome,\n\t// \tbet,\n\t// \tdata,\n\t// \tupdatedOutcome,\n\t// \tisDisabled,\n\t// });\n\n\tif (checkDisabledOffer(data?.state)) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport const StyledBetSlipElementOdds = styled.div<{\n\t$disabled?: boolean;\n}>`\n\talign-items: center;\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\n\t> span {\n\t\t${(props) =>\n\t\t\tprops.$disabled\n\t\t\t\t? css`\n\t\t\t\t\t\tcolor: ${props.theme.colors.borderColor};\n\t\t\t\t `\n\t\t\t\t: ''}\n\t}\n\n\t${StyledMatchOddsChange} {\n\t\tfloat: left;\n\t\tmargin-right: 0.5rem;\n\t\tposition: static;\n\n\t\t&.opened {\n\t\t\tmargin-top: 5px;\n\t\t}\n\t}\n`;\n","import { FunctionComponent, useCallback, useContext } from 'react';\nimport styled from 'styled-components';\nimport {\n\tboxNoHeight,\n\tcutTextStyle,\n} from '@legacyApp/client/modules/style/defaults';\nimport { transSports } from '@legacyApp/client/modules/translation/translate';\nimport { fontSize } from '@legacyApp/client/modules/style/mixins/fontSize';\nimport {\n\tMatchOddsName,\n\tMatchOddsNameData,\n\tMatchOddsNameParseProps,\n\tMatchOddsNameParseResponse,\n\tStyledMatchOddsName,\n} from '../../Match/MatchOdds/MatchOddsName';\nimport { StyledMatchOdds } from '../../Match/MatchOdds/MatchOdds';\nimport {\n\tOfferName,\n\tStyledMatchOfferName,\n} from '../../Match/Details/Offer/OfferName/OfferName';\nimport {\n\tOddsNameContext,\n\tOddsNameContextParseData,\n} from '../../../context/OddsNameContext';\nimport { THREE_WAY_HANDICAP } from '../../../hooks/useEventOffer/eventOfferTypes.contants';\nimport {\n\tparseThreeWayData,\n\tparseThreeWayHandicapDecimalLine,\n} from '../../Match/Details/Offer/Strategies/ThreeWayHandicap';\nimport { useSportsBetSlipBetOutcome } from '../../../store/selectors/sportsBetSlip.selectors';\nimport { BetSlipContext } from './BetElement';\nimport { BetSlipElementOdds } from './BetSlipElementOdds';\n\nexport type BetSlipOddsNameParse = (\n\tprops: MatchOddsNameParseProps,\n\toffer_label?: string,\n) => MatchOddsNameParseResponse;\n\nconst isOfferThreeWayHandicap = (offer_label: string): boolean =>\n\t!!(offer_label && offer_label.indexOf(THREE_WAY_HANDICAP.name) > -1);\n\nexport const parseBetSlipOddsData = (\n\tdata: MatchOddsNameData,\n\toffer_label: string,\n): MatchOddsNameData => {\n\tif (isOfferThreeWayHandicap(offer_label)) {\n\t\treturn parseThreeWayData(data);\n\t}\n\treturn data;\n};\n\nexport const parseBetSlipOddsName: BetSlipOddsNameParse = (\n\t{ name, data },\n\toffer_label,\n) => {\n\tif (isOfferThreeWayHandicap(offer_label)) {\n\t\t// console.log('parseBetSlipOddsName', {\n\t\t// \tname,\n\t\t// \tmatch,\n\t\t// \tfullName,\n\t\t// \tparse,\n\t\t// \tnoShort,\n\t\t// \tdata,\n\t\t// \toffer_label,\n\t\t// });\n\t\treturn (\n\t\t\t\n\t\t\t\t{name} - {transSports({ label: 'Starts' })}{' '}\n\t\t\t\t{parseThreeWayHandicapDecimalLine(data?.decimal_line)}\n\t\t\t\n\t\t);\n\t}\n\treturn name;\n};\n\nexport const BetSlipElementDetails: FunctionComponent = () => {\n\tconst { bet } = useContext(BetSlipContext);\n\tconst outcome = useSportsBetSlipBetOutcome({\n\t\tmatchId: bet.matchId,\n\t\toutcomeId: bet.outcomeId,\n\t});\n\n\tconst parseOdds = useCallback(\n\t\t(props: MatchOddsNameParseProps): MatchOddsNameParseResponse => {\n\t\t\treturn parseBetSlipOddsName(props, outcome?.offer_label || '');\n\t\t},\n\t\t[outcome?.offer_label],\n\t);\n\n\tconst parseData: OddsNameContextParseData = useCallback(\n\t\t(data) => {\n\t\t\treturn parseBetSlipOddsData(data, outcome?.offer_label || '');\n\t\t},\n\t\t[outcome?.offer_label],\n\t);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport const StyledOddsName = styled.span`\n\tdisplay: inline !important;\n`;\n\nexport const StyledName = styled.div`\n\t${cutTextStyle};\n\talign-items: flex-end;\n\tdisplay: flex;\n\tjustify-content: flex-start;\n\n\tspan {\n\t\tdisplay: inline-block;\n\t\t${cutTextStyle}\n\t}\n`;\n\nexport const StyledBetElementDetails = styled.div`\n\t${boxNoHeight};\n\talign-items: flex-end;\n\tdisplay: grid;\n\tgrid-template-columns: calc(100% - 55px) 55px;\n\n\t${StyledMatchOfferName} {\n\t\tcolor: ${(props) => props.theme.colors.textDisabled};\n\t\t${fontSize({ sizeDiff: -4, sizeDesktopDiff: -4, sizeBigScreenDiff: -4 })};\n\t\tmargin-left: 0.5rem;\n\t}\n\n\t${StyledMatchOddsName} {\n\t\t${fontSize({ sizeDiff: -2, sizeDesktopDiff: -2, sizeBigScreenDiff: -2 })};\n\t}\n\n\t${StyledMatchOdds} {\n\t\ttext-align: right;\n\t}\n`;\n","import { FunctionComponent, ReactElement } from 'react';\nimport { InputCurrencyContainer } from '@legacyApp/client/components/inputCurrency';\nimport { useValidateProfit } from '@legacyApp/hooks/game/useValidateProfit';\nimport { GameType } from '@modules/games/Game/constants/availableGames';\n\nconst ProfitInput: FunctionComponent<{\n\tvalue: number | string;\n\tupdate: (string) => void;\n\tupdateError?: (error) => void;\n\tgame: GameType;\n\tlabel?: string | ReactElement;\n}> = ({ value, update, updateError, game, label }) => {\n\tconst { error } = useValidateProfit({\n\t\tvalue,\n\t\tgame,\n\t\tpreventInitialCheck: true,\n\t\tupdateError,\n\t});\n\n\t// console.log('ProfitInput', {\n\t// \tvalue, error,\n\t// });\n\n\treturn (\n\t\t\n\t);\n};\n\nexport { ProfitInput };\n","import { useEffect, useState } from 'react';\nimport { useAppSelector } from '@legacyApp/hooks/store/useAppSelector';\nimport { BetSlipBet } from '../types/BetSlip/BetSlipBet';\n\nconst getBetFromBetSlipList = (\n\tbetsList: BetSlipBet[],\n\tmatchId: string,\n\toutcomeId: string,\n): BetSlipBet => {\n\tif (betsList?.length) {\n\t\treturn betsList.find(\n\t\t\t(el) => el.matchId === matchId && outcomeId === el.outcomeId,\n\t\t);\n\t}\n\treturn null;\n};\n\nexport const useBetSlipElementOdds = (\n\tmatchId: string,\n\toutcomeId: string,\n): number => {\n\tconst { outcome, betsList } = useAppSelector((state) => {\n\t\tconst match = state?.sportsBetSlip?.bets?.[matchId];\n\t\treturn {\n\t\t\toutcome: match?.outcome[outcomeId],\n\t\t\tbetsList: state?.sportsBetSlip?.betsList,\n\t\t};\n\t});\n\n\tconst [bet, setBet] = useState(null);\n\tconst [odds, setOdds] = useState(null);\n\n\tuseEffect(() => {\n\t\tsetBet(getBetFromBetSlipList(betsList, matchId, outcomeId));\n\t}, [betsList, matchId, outcomeId]);\n\n\tuseEffect(() => {\n\t\tsetBet(getBetFromBetSlipList(betsList, matchId, outcomeId));\n\t}, [betsList, matchId, outcomeId]);\n\n\tuseEffect(() => {\n\t\tsetOdds(bet?.newOdds || outcome?.decimal_odds || 1);\n\t}, [bet?.newOdds, outcome?.decimal_odds]);\n\n\treturn odds;\n};\n","import React, { FunctionComponent, useContext } from 'react';\nimport styled, { css } from 'styled-components';\nimport { transSports } from '@legacyApp/client/modules/translation/translate';\nimport { ButtonStyle } from '@legacyApp/client/components/button/button.style';\nimport { config } from '@legacyApp/client/config';\nimport { scientificToDecimal } from '@legacyApp/methods/math/scientificToDecimal';\nimport { fontSize } from '@legacyApp/client/modules/style/mixins/fontSize';\nimport { GameType } from '@modules/games/Game/constants/availableGames';\nimport { roundNumber } from '@common/methods/roundNumber/roundNumber';\nimport { StakeInput } from '../BetSlipForm/StakeInput';\nimport { ProfitInput } from '../BetSlipForm/ProfitInput';\nimport { BetSlipErrorDataType } from '../../../types/BetSlip/BetSlipBet';\nimport { useBetSlipElementOdds } from '../../../hooks/useBetSlipElementOdds';\nimport {\n\tuseSportsBetSlipBetOutcome,\n\tuseSportsBetSlipType,\n} from '../../../store/selectors/sportsBetSlip.selectors';\nimport { useEventData } from '../../../hooks/useEventData';\nimport { checkDisabledOffer } from '../../Match/Details/OutcomesList/OutcomesList';\nimport { BetSlipContext } from './BetElement';\n\nexport const BetSlipElementForm: FunctionComponent = () => {\n\tconst { bet, update } = useContext(BetSlipContext);\n\tconst type = useSportsBetSlipType();\n\tconst odds = useBetSlipElementOdds(bet?.matchId, bet?.outcomeId);\n\tconst outcome = useSportsBetSlipBetOutcome({\n\t\tmatchId: bet.matchId,\n\t\toutcomeId: bet.outcomeId,\n\t});\n\n\tconst { data } = useEventData(\n\t\toutcome?.offer_id,\n\t\t'BetSlipElementOdds',\n\t\t'odds',\n\t\t'offers',\n\t);\n\n\tif (type.id === 'multi' || bet.placed_at) {\n\t\treturn null;\n\t}\n\n\tconst disabled = checkDisabledOffer(data?.state);\n\n\t// console.log('BetSlipElementForm', {\n\t// \tdisabled,\n\t// \tdata,\n\t// \tstate: data?.state,\n\t// });\n\n\treturn (\n\t\t\n\t\t\t{transSports({ label: 'Stake' })}\n\t\t\t\t}\n\t\t\t\tvalue={scientificToDecimal(bet?.stake)}\n\t\t\t\tupdateError={(error: BetSlipErrorDataType) =>\n\t\t\t\t\tupdate({ error: { stake: error } })\n\t\t\t\t}\n\t\t\t\tupdate={(stake: string) =>\n\t\t\t\t\tupdate({ stake: roundNumber(stake, config.decimals.bet) })\n\t\t\t\t}\n\t\t\t\tprecision={config.decimals.bet}\n\t\t\t/>\n\t\t\t\n\t\t\t\t\t\t{transSports({ label: 'Estimated profit' })}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\tvalue={scientificToDecimal(\n\t\t\t\t\troundNumber(bet?.stake * (odds - 1), config.decimals.balance),\n\t\t\t\t)}\n\t\t\t\tupdateError={(error: BetSlipErrorDataType) =>\n\t\t\t\t\tupdate({ error: { profit: error } })\n\t\t\t\t}\n\t\t\t\tupdate={(profit: string) =>\n\t\t\t\t\tupdate({\n\t\t\t\t\t\tstake: roundNumber(\n\t\t\t\t\t\t\tparseFloat(profit) / (odds - 1),\n\t\t\t\t\t\t\tconfig.decimals.bet,\n\t\t\t\t\t\t),\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t/>\n\t\t\n\t);\n};\n\nexport const BetSlipInput = css`\n\t.input-wrapper {\n\t\tmargin-top: 0 !important;\n\t\tpadding-top: 0;\n\n\t\t.input {\n\t\t\tbackground-color: #051426 !important;\n\t\t}\n\n\t\t.label,\n\t\t${ButtonStyle}, span,\n\t\t> div > .relative > i,\n\t\t> div > .relative > svg {\n\t\t\tfont-family: ${(props) => props.theme.text.fonts.Black};\n\t\t\t${fontSize({\n\t\t\t\tsizeDiff: -4,\n\t\t\t\tsizeDesktopDiff: -4,\n\t\t\t\tsizeBigScreenDiff: -4,\n\t\t\t\timportant: true,\n\t\t\t})}\n\t\t}\n\n\t\t.input {\n\t\t\tfont-family: ${(props) => props.theme.text.fonts.Black};\n\t\t\t${fontSize({\n\t\t\t\tsizeDiff: -2,\n\t\t\t\tsizeDesktopDiff: -4,\n\t\t\t\tsizeBigScreenDiff: -4,\n\t\t\t\timportant: true,\n\t\t\t})}\n\t\t}\n\n\t\t@media (max-width: ${(props) => props.theme.media.maxWidthSmallTablet}) {\n\t\t\t.input {\n\t\t\t\tpadding: 7px 10px;\n\t\t\t}\n\t\t}\n\t}\n`;\n\nconst StyledBetSlipElementForm = styled.div<{\n\t$disabled: boolean;\n}>`\n\tdisplay: grid;\n\tgrid-column-gap: 0.5rem;\n\tgrid-template-columns: calc(50% - 0.25rem) calc(50% - 0.25rem);\n\tpadding-top: 0.25rem !important;\n\n\t${BetSlipInput};\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthSmallTablet}) {\n\t\tpadding: 0 0.4rem 0.4rem !important;\n\t}\n\n\t${(props) =>\n\t\tprops.$disabled\n\t\t\t? css`\n\t\t\t\t\topacity: 0.3;\n\t\t\t\t\tpointer-events: none;\n\t\t\t `\n\t\t\t: ''}\n`;\n","import { FunctionComponent, useContext } from 'react';\nimport styled from 'styled-components';\nimport {\n\tfaCalendarCheck,\n\tfaExclamationCircle,\n} from '@fortawesome/free-solid-svg-icons';\nimport { darken } from 'polished';\nimport { transSports } from '@legacyApp/client/modules/translation/translate';\nimport { AwesomeIcon } from '@common/components/icons/AwesomeIcon';\nimport { fontSize } from '@legacyApp/client/modules/style/mixins/fontSize';\nimport { BetSlipErrorType } from '../../../types/BetSlip/BetSlipBet';\nimport { useCheckOnlyBetError } from '../../../hooks/useCheckBetError';\nimport { useSportsBetSlipType } from '../../../store/selectors/sportsBetSlip.selectors';\nimport { BetSlipContext } from './BetElement';\n\nexport const BetSlipError: FunctionComponent<{\n\terror: BetSlipErrorType;\n}> = ({ error }) => {\n\tif (!error) {\n\t\treturn null;\n\t}\n\tif (error.multiMatch && error.multiMatch !== true) {\n\t\treturn <>{transSports({ label: error.multiMatch })};\n\t}\n\tif (error.default && error.default !== true) {\n\t\treturn <>{transSports({ label: error.default })};\n\t}\n\tconst errorKey = Object.keys(error).filter(\n\t\t(key) => error[key] && typeof error[key] !== 'boolean',\n\t)[0];\n\treturn (\n\t\t<>{error[errorKey] ? transSports({ label: error[errorKey] }) : null}\n\t);\n};\n\nexport const BetSlipElementMessage: FunctionComponent = () => {\n\tconst { bet } = useContext(BetSlipContext);\n\n\tconst type = useSportsBetSlipType();\n\tconst isBetSlipError = useCheckOnlyBetError({ bet });\n\tconst isPlacedMulti = type.id === 'multi' && bet.placed_at;\n\tconst isMessage =\n\t\t(isBetSlipError || bet.placed_at || bet.info) && !isPlacedMulti;\n\n\tif (!isMessage) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t\n\t\t\t{isMessage && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{(isBetSlipError ? : null) ||\n\t\t\t\t\t\ttransSports({ label: bet.info }) ||\n\t\t\t\t\t\ttransSports({ label: 'Bet slip placed!' })}\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport const StyledBetSlipElementMessage = styled.div<{\n\t$success?: boolean;\n}>`\n\t${fontSize({ sizeDiff: -4, sizeDesktopDiff: -4, sizeBigScreenDiff: -4 })};\n\talign-items: center;\n\tbackground-color: ${(props) =>\n\t\tprops.$success\n\t\t\t? darken(0.05, props.theme.colors.positive)\n\t\t\t: props.theme.colors.alertError};\n\tdisplay: flex;\n\tfont-family: ${(props) => props.theme.text.fonts.Regular};\n\theight: auto;\n\tjustify-content: flex-start;\n\tpadding-bottom: 0.3rem;\n\tpadding-top: 0.3rem;\n`;\n","import { FunctionComponent } from 'react';\nimport styled from 'styled-components';\nimport { formatToFullDate } from '@legacyApp/client/modules/app/timeService';\n\nexport const Timestamp: FunctionComponent<{\n\ttime: number;\n}> = ({ time }) => {\n\treturn {formatToFullDate(time * 1000)};\n};\n\nexport const StyledTimestamp = styled.span`\n\tfont-family: ${(props) => props.theme.text.fonts.Regular};\n`;\n","import { FunctionComponent } from 'react';\nimport styled from 'styled-components';\n\nimport { fontSize } from '@legacyApp/client/modules/style/mixins/fontSize';\nimport { BetSlipTypeType } from '../../../types/BetSlip/BetSlipType';\n\nexport const TypeLabel: FunctionComponent<{ type: BetSlipTypeType }> = ({\n\ttype,\n}) => {\n\tif (!type || ['single', 'multi'].indexOf(type) > -1) {\n\t\treturn null;\n\t}\n\treturn {type.split('-').join(' ')};\n};\n\nexport const StyledTypeLabel = styled.div`\n\t${fontSize({ size: '10px', sizeDesktop: '12px', sizeBigScreen: '12px' })};\n\tbackground-color: #052144;\n\tfont-family: ${(props) => props.theme.text.fonts.Black};\n\tposition: relative;\n\ttext-transform: capitalize;\n\n\t&:before {\n\t\tbackground-color: #283d55;\n\t\tbottom: -1px;\n\t\tcontent: '';\n\t\theight: 2px;\n\t\tleft: 50%;\n\t\tposition: absolute;\n\t\ttransform: translateX(-50%);\n\t\twidth: calc(100% - 1rem);\n\t\tz-index: 1;\n\t}\n`;\n","import { FunctionComponent, useContext, useRef, useState } from 'react';\nimport styled from 'styled-components';\nimport { faExternalLinkAlt } from '@fortawesome/free-solid-svg-icons';\nimport { Button } from '@legacyApp/client/components/button';\nimport { useOpenBetModal } from '@legacyApp/hooks/bets/useOpenBetModal';\nimport { ButtonStyle } from '@legacyApp/client/components/button/button.style';\nimport { AwesomeIcon } from '@common/components/icons/AwesomeIcon';\nimport { useOnMount } from '@common/hooks/useOnMount';\nimport { fontSize } from '@legacyApp/client/modules/style/mixins/fontSize';\nimport { StateLabel, StyledStateLabel } from './StateLabel';\nimport { StyledTimestamp, Timestamp } from './Timestamp';\nimport { BetslipDetailsContext } from './BetSlipDetails';\nimport { TypeLabel } from './TypeLabel';\n\nexport const TitleBar: FunctionComponent = () => {\n\tconst refElement = useRef();\n\tconst [disableOpenModal, setDisableOpenModal] = useState(false);\n\tconst { data } = useContext(BetslipDetailsContext);\n\tconst { openCallback } = useOpenBetModal({\n\t\tdata,\n\t\tid: data.hash,\n\t\tgame: data.dataType,\n\t\ttype: data.dataType,\n\t\t// elementQuery: `[data-element-id=\"betDetails-titleBar-${data.hash}\"]`,\n\t});\n\n\tuseOnMount(() => {\n\t\tif (refElement.current) {\n\t\t\tconst bool = !!refElement.current.closest('.modal');\n\t\t\tif (bool) {\n\t\t\t\tsetDisableOpenModal(true);\n\t\t\t}\n\t\t}\n\t});\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t{!disableOpenModal && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t\n\t);\n};\n\nexport const TitleBarStyled = styled.div<{ ref?: any }>`\n\talign-items: center;\n\tbackground-color: #052144;\n\tdisplay: flex;\n\tjustify-content: flex-start;\n\tposition: relative;\n\n\t${StyledStateLabel} {\n\t\tmargin-right: 0.75rem;\n\t}\n\n\t${StyledTimestamp} {\n\t\tpadding-right: 13px;\n\t\t${fontSize({ size: '10px', sizeDesktop: '12px', sizeBigScreen: '12px' })};\n\t}\n\n\t${ButtonStyle} {\n\t\tmargin: 0;\n\t\tpadding: 0.25rem;\n\t\tposition: absolute;\n\t\tright: 0.5rem;\n\t\ttop: 50%;\n\t\ttransform: translateY(-50%);\n\t\t${fontSize({ size: '13px', sizeDesktop: '11px' })};\n\t}\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthSmallTablet}) {\n\t\t${StyledStateLabel} {\n\t\t\tmargin-right: 0.25rem;\n\t\t}\n\n\t\t${ButtonStyle} {\n\t\t\tright: 0;\n\t\t}\n\t}\n`;\n","import { FunctionComponent, useContext } from 'react';\nimport styled from 'styled-components';\nimport { boxNoHeight } from '@legacyApp/client/modules/style/defaults';\nimport SummaryValue, { StyledSummaryValue } from '../BetSlipForm/SummaryValue';\nimport { MatchOdds } from '../../Match/MatchOdds/MatchOdds';\nimport { BetSlipDetailsProgressState } from '../../../types/BetSlipDetails/BetSlipDetailsType';\nimport { useBetSlipTotalOddsAndProfit } from '../../../hooks/useBetSlipTotalOddsAndProfit';\nimport { BetslipDetailsContext } from './BetSlipDetails';\n\nexport const SummaryBar: FunctionComponent = () => {\n\tconst { data } = useContext(BetslipDetailsContext);\n\n\tconst { totalOdds, profit } = useBetSlipTotalOddsAndProfit(data);\n\n\treturn (\n\t\t\n\t\t\t}\n\t\t\t/>\n\t\t\t\n\t\t\t{data.state === BetSlipDetailsProgressState.PENDING ? (\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nconst StyledSummaryBar = styled.div`\n\t${boxNoHeight};\n\n\t${StyledSummaryValue} {\n\t\tmargin: 0 0 5px;\n\n\t\t&:last-of-type {\n\t\t\tmargin-bottom: 0;\n\t\t}\n\t}\n`;\n","import { config } from '@legacyApp/client/config';\n\nimport { roundNumber } from '@common/methods/roundNumber/roundNumber';\n\nexport const getCashoutValue = (stake: number, odds: number) => {\n\treturn roundNumber(stake * odds, config.decimals.balance);\n};\n","import { useCallback, useContext, useEffect, useState } from 'react';\nimport { useFetchApi } from '@legacyApp/hooks/fetch/useFetchApi';\nimport { getSportsApiUrl } from '@legacyApp/client/modules/app/sportsService';\nimport { LOADING_IDS } from '@common/constants/fetch/loading.ids';\nimport { useAppDispatch } from '@legacyApp/hooks/store/useAppDispatch';\nimport { showAlert } from '@legacyApp/client/store/alerts/alerts.actions';\nimport { transSports } from '@legacyApp/client/modules/translation/translate';\nimport { BetSlipHistoryContext } from '../context/BetSlipHistoryContext';\nimport { BetslipDetailsContext } from '../components/BetSlipSection/BetSlipDetails/BetSlipDetails';\nimport { updateBalance } from '../../balance/store/balance.actions';\nimport { getCashoutValue } from '../methods/getCashoutValue';\n\nconst createLoadingId = (hash) => {\n\tif (!hash) {\n\t\treturn null;\n\t}\n\treturn `${LOADING_IDS.BETSLIP_CASHOUT}${hash}`;\n};\n\nexport const useCashout = () => {\n\tconst { data } = useContext(BetslipDetailsContext);\n\tconst { getList } = useContext(BetSlipHistoryContext);\n\n\tconst [loadingId, setLoadingId] = useState(createLoadingId(data?.hash));\n\n\tconst { fetch } = useFetchApi();\n\tconst dispatch = useAppDispatch();\n\n\tconst submitCashout = useCallback(async () => {\n\t\tawait fetch({\n\t\t\turl: getSportsApiUrl('/betslips/cashout'),\n\t\t\tmethod: 'POST',\n\t\t\tloaderId: loadingId,\n\t\t\tparameters: {\n\t\t\t\tAuthorization: true,\n\t\t\t\tbody: {\n\t\t\t\t\tuuid: data.hash,\n\t\t\t\t\ttotal_cashout_odds: data.total_available_cashout_odds,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\t\t.then((response) => {\n\t\t\t\tif (response.userBalance) {\n\t\t\t\t\tdispatch(updateBalance(response.userBalance, 'betSlipCashout'));\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tshowAlert(\n\t\t\t\t\t\t\t'info',\n\t\t\t\t\t\t\ttransSports({\n\t\t\t\t\t\t\t\tlabel:\n\t\t\t\t\t\t\t\t\t'You have been granted {{cashout_value}} {{cashout_currency}} from cashout',\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\tcashout_value: getCashoutValue(\n\t\t\t\t\t\t\t\t\t\tdata.total_available_cashout_odds,\n\t\t\t\t\t\t\t\t\t\tNumber(data.amount),\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tcashout_currency: data.currency.toUpperCase(),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tgetList();\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\tgetList();\n\t\t\t});\n\t}, [\n\t\tdata.amount,\n\t\tdata.currency,\n\t\tdata.hash,\n\t\tdata.total_available_cashout_odds,\n\t\tdispatch,\n\t\tfetch,\n\t\tgetList,\n\t\tloadingId,\n\t]);\n\n\tuseEffect(() => {\n\t\tconst newLoadingId = createLoadingId(data?.hash);\n\t\tif (newLoadingId !== loadingId) {\n\t\t\tsetLoadingId(newLoadingId);\n\t\t}\n\t}, [data?.hash]);\n\n\treturn {\n\t\tsubmitCashout,\n\t\tloadingId,\n\t};\n};\n","import { FC, useContext } from 'react';\nimport styled from 'styled-components';\nimport { boxNoHeight } from '@legacyApp/client/modules/style/defaults';\nimport { Button } from '@legacyApp/client/components/button';\nimport { ButtonStyle } from '@legacyApp/client/components/button/button.style';\nimport SummaryValue, { StyledSummaryValue } from '../BetSlipForm/SummaryValue';\nimport { useCashout } from '../../../hooks/useCashout';\nimport { getCashoutValue } from '../../../methods/getCashoutValue';\nimport { BetslipDetailsContext } from './BetSlipDetails';\n\nexport const CashoutBar: FC = () => {\n\tconst { data } = useContext(BetslipDetailsContext);\n\n\tconst cashoutOdds = data?.total_available_cashout_odds || null;\n\n\tconst { submitCashout, loadingId } = useCashout();\n\n\tif (!cashoutOdds) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nconst StyledSummaryBar = styled.div`\n\t${boxNoHeight};\n\tpadding-top: 0.25rem !important;\n\n\t${ButtonStyle} {\n\t\tmargin: 0 !important;\n\t\tpadding: 0.25rem 0.5rem;\n\t\twidth: 100%;\n\n\t\t${StyledSummaryValue} {\n\t\t\tfont-size: 14px !important;\n\t\t}\n\t}\n`;\n","import { createContext, FunctionComponent } from 'react';\nimport styled from 'styled-components';\nimport {\n\tborderRadius,\n\tboxNoHeight,\n} from '@legacyApp/client/modules/style/defaults';\nimport { BetSlipDetailsType } from '../../../types/BetSlipDetails/BetSlipDetailsType';\nimport { EventElement } from './EventElement';\nimport { TitleBar } from './TitleBar';\nimport { SummaryBar } from './SummaryBar';\nimport { CashoutBar } from './CashoutBar';\n\nexport const BetslipDetailsContext = createContext<{\n\tdata: BetSlipDetailsType;\n}>({\n\tdata: null,\n});\n\nexport const BetSlipDetails: FunctionComponent<{\n\tdata: BetSlipDetailsType;\n}> = ({ data }) => {\n\t// console.log('BetSlipDetails', {data});\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t{data.betslip_events &&\n\t\t\t\t\tdata.betslip_events.map((el, index) => (\n\t\t\t\t\t\t\n\t\t\t\t\t))}\n\t\t\t\t\n\t\t\t\t{data?.total_available_cashout_odds && }\n\t\t\t\n\t\t\n\t);\n};\n\nexport const StyledBetSlipDetails = styled.div`\n\t${boxNoHeight};\n\t${borderRadius};\n\tbackground-color: #162d47;\n\tmargin-bottom: 0.7rem;\n\toverflow: hidden;\n\n\t> span,\n\t> div {\n\t\tpadding: 0.5rem 0.7rem;\n\t}\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthSmallTablet}) {\n\t\t> span,\n\t\t> div {\n\t\t\tpadding: 0.4rem;\n\t\t}\n\t}\n`;\n","import { FC, FunctionComponent, PropsWithChildren, useCallback } from 'react';\nimport styled, { css } from 'styled-components';\nimport { boxNoHeight } from '@legacyApp/client/modules/style/defaults';\nimport { Icon } from '@common/components/icons';\nimport { DeveloperData } from '@common/components/default/DeveloperData/DeveloperData';\nimport { getTimestamp } from '@legacyApp/client/modules/app/timeService';\nimport { fontSize } from '@legacyApp/client/modules/style/mixins/fontSize';\nimport { isTrueOrZero } from '@common/methods/isTrueOrZero';\nimport { MatchContext } from '../../../context/MatchContext';\nimport { OddsNameContext } from '../../../context/OddsNameContext';\nimport {\n\tMatchOddsName,\n\tStyledMatchOddsName,\n} from '../../Match/MatchOdds/MatchOddsName';\nimport { MatchOdds, StyledMatchOdds } from '../../Match/MatchOdds/MatchOdds';\nimport { MatchName } from '../../Match/MatchName/MatchName';\nimport { MatchScoreHandler } from '../../Match/MatchScore/MatchScoreHandler';\nimport { SportContext } from '../../../context/SportContext';\nimport {\n\tOfferName,\n\tStyledMatchOfferName,\n} from '../../Match/Details/Offer/OfferName/OfferName';\nimport { BetSlipDetailsEventType } from '../../../types/BetSlipDetails/BetSlipDetailsEventType';\nimport { createNameFromSlug } from '../../../methods/createNameFromSlug';\nimport { StyledMatchScoreWrapper } from '../../Match/MatchScore/ScoreWrapper';\nimport { StyledScoreSimpleHorizontal } from '../../Match/MatchScore/types/ScoreSimple';\nimport {\n\tStyledTimeInformation,\n\tTimeInformation,\n} from '../../Match/MatchDate/TimeInformation';\nimport {\n\tparseBetSlipOddsData,\n\tparseBetSlipOddsName,\n} from '../BetElement/BetSlipElementDetails';\nimport { MatchLiveBadge, StyledLive } from '../../Match/MatchDate/MatchDate';\nimport { BetSlipDetailsProgressState } from '../../../types/BetSlipDetails/BetSlipDetailsType';\nimport { StateLabel } from './StateLabel';\n\nexport const EventElementOddsNameContext: FC<\n\tPropsWithChildren<{\n\t\tdata: Partial;\n\t}>\n> = ({ data, children }) => {\n\tconst label = data.offer.label;\n\tconst parseOdds = useCallback(\n\t\t(props) => {\n\t\t\treturn parseBetSlipOddsName(props, label);\n\t\t},\n\t\t[label],\n\t);\n\n\tconst parseData = useCallback(\n\t\t(props) => {\n\t\t\treturn parseBetSlipOddsData(props, label);\n\t\t},\n\t\t[label],\n\t);\n\n\tconst sport = {\n\t\t...data.offer.event.sport,\n\t\tslug: data.offer.event.sport.slug,\n\t\tname: createNameFromSlug(data.offer.event.sport.slug),\n\t\tfeatured: null,\n\t\tposition: null,\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{children}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport const EventElement: FunctionComponent<{\n\tdata: Partial;\n}> = ({ data }) => {\n\tif (!data?.offer?.event) {\n\t\treturn (\n\t\t\t\n\t\t);\n\t}\n\n\tconst iconId = data.offer.event.sport.slug ||\n\t\tdata.offer.event.sport.name.toLowerCase();\n\n\t// console.log('EventElement', iconId);\n\n\tconst title = (\n\t\t\n\t\t\t}\n\t\t\t/>{' '}\n\t\t\t\n\t\t\t{data.state !== BetSlipDetailsProgressState.CASHOUT && (\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n\n\t// const title = data.state !== BetSlipDetailsProgressState.PENDING ? titleElement : (\n\t// \t\n\t// \t\t\n\t// \t\t\t{titleElement}\n\t// \t\t\n\t// \t\n\t// );\n\n\t// const title = titleElement;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{title}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{' '}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{data.offer.event?.start_at &&\n\t\t\t\tdata.offer.event?.start_at * 1000 > getTimestamp() ? (\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\tisTrueOrZero(data.offer.event.home_team_score) && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)\n\t\t\t\t)}\n\t\t\t\n\t\t\n\t);\n};\n\nconst StyledMatchOddsNameBox = styled.div`\n\t${boxNoHeight};\n\tmargin-bottom: 0.3rem;\n`;\n\nconst StyledMatchScoreBox = styled.div`\n\t${boxNoHeight};\n\talign-items: center;\n\tdisplay: flex;\n\tflex-direction: row;\n\tmargin-top: 0.25rem;\n`;\n\nconst StyledEventTitle = styled.div`\n\talign-items: center;\n\tdisplay: grid;\n\tgrid-column-gap: 0.25rem;\n\tgrid-template-columns: 15px calc(100% - 60px - 0.5rem) 45px;\n\n\t> div {\n\t\tfont-family: ${(props) => props.theme.text.fonts.Black};\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\n\t\t> span {\n\t\t\twhite-space: nowrap;\n\t\t}\n\t}\n\n\t${StyledMatchOdds} {\n\t\ttext-align: right;\n\t}\n`;\n\nexport const ElementBottomBorder = css`\n\tposition: relative;\n\n\t&:before {\n\t\tbackground-color: #283d55;\n\t\tbottom: 0;\n\t\tcontent: '';\n\t\theight: 2px;\n\t\tleft: 50%;\n\t\tposition: absolute;\n\t\ttransform: translateX(-50%);\n\t\twidth: calc(100% - 1rem);\n\t}\n`;\n\nconst StyledEvent = styled.div`\n\t${boxNoHeight};\n\tfont-family: ${(props) => props.theme.text.fonts.Regular};\n\tuser-select: text;\n\n\t* {\n\t\tuser-select: text;\n\t}\n\n\t&:not(:last-of-type) {\n\t\t${ElementBottomBorder}\n\t}\n\n\t${StyledTimeInformation} {\n\t\t${boxNoHeight};\n\t\tcolor: ${(props) => props.theme.colors.textDisabled};\n\t\tfont-family: ${(props) => props.theme.text.fonts.Regular};\n\t\t${fontSize({ size: '10px', sizeDesktop: '12px', sizeBigScreen: '14px' })};\n\t}\n\n\t${StyledMatchOddsName},\n\t${StyledEventTitle} {\n\t\t${fontSize({ sizeDiff: -2, sizeDesktopDiff: -2 })}\n\t}\n\n\t${StyledMatchOfferName},\n\t${StyledLive},\n\t${StyledMatchScoreWrapper} {\n\t\t${fontSize({ sizeDiff: -3, sizeDesktopDiff: -4 })}\n\t}\n\n\t${StyledMatchOdds},\n\t${StyledMatchOddsName} {\n\t\tfont-family: ${(props) => props.theme.text.fonts.Bold};\n\t\tline-height: 1;\n\t}\n\n\t${StyledMatchOfferName} {\n\t\tcolor: ${(props) => props.theme.colors.textDisabled};\n\t\tdisplay: block;\n\t\tmargin: 0.35rem 0 0.15rem;\n\t\t${boxNoHeight};\n\t}\n\n\t${StyledMatchScoreWrapper} {\n\t\tcolor: ${(props) => props.theme.colors.active};\n\t\tdisplay: inline;\n\t\twidth: unset;\n\n\t\t${StyledScoreSimpleHorizontal} {\n\t\t\tdisplay: block;\n\t\t\tpadding: 0;\n\n\t\t\t> span {\n\t\t\t\tpadding: 0;\n\t\t\t}\n\t\t}\n\t}\n`;\n","import { FunctionComponent } from 'react';\nimport styled from 'styled-components';\nimport { darken } from 'polished';\nimport { borderRadius } from '@legacyApp/client/modules/style/defaults';\nimport { trans } from '@legacyApp/client/modules/translation/translate';\nimport { fontSize } from '@legacyApp/client/modules/style/mixins/fontSize';\nimport {\n\tBetSlipDetailsProgressState,\n\tBetSlipDetailsState,\n} from '../../../types/BetSlipDetails/BetSlipDetailsType';\n\nexport const StateLabel: FunctionComponent<{ state: BetSlipDetailsState }> = ({\n\tstate,\n}) => {\n\tif (!state || state === BetSlipDetailsProgressState.PENDING) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t\n\t\t\t{trans({ label: state })}\n\t\t\n\t);\n};\n\nexport const StyledStateLabel = styled.div<{ $state?: BetSlipDetailsState }>`\n\tbackground-color: ${(props) =>\n\t\t['win', BetSlipDetailsProgressState.CASHOUT].indexOf(props.$state) === -1\n\t\t\t? darken(0.3, props.theme.colors.textDisabled)\n\t\t\t: darken(0.05, props.theme.colors.positive)};\n\tcolor: ${(props) => props.theme.colors.text};\n\tdisplay: inline-block;\n\t${fontSize({ size: '10px', sizeDesktop: '12px', sizeBigScreen: '12px' })};\n\tfont-family: ${(props) => props.theme.text.fonts.Regular};\n\t${borderRadius};\n\tpadding: 0 5px;\n\ttext-transform: capitalize;\n`;\n","import { FunctionComponent, ReactElement } from 'react';\nimport { InputCurrencyContainer } from '@legacyApp/client/components/inputCurrency';\nimport { useValidateStake } from '@legacyApp/hooks/game/useValidateStake';\nimport { GameType } from '@modules/games/Game/constants/availableGames';\n\nconst StakeInput: FunctionComponent<{\n\tvalue: number | string;\n\tupdate: (string) => void;\n\tupdateError?: (error) => void;\n\tgame: GameType;\n\tlabel?: string | ReactElement;\n\tprecision?: number;\n}> = ({ value, update, updateError, game, label, precision }) => {\n\tconst { error } = useValidateStake({\n\t\tvalue,\n\t\tgame,\n\t\tpreventInitialCheck: true,\n\t\tupdateError,\n\t});\n\n\t// console.log('StakeInput', {\n\t// \tvalue, error,\n\t// });\n\n\treturn (\n\t\t\n\t);\n};\n\nexport { StakeInput };\n","import PropTypes from 'prop-types';\nimport { Tooltip } from '@legacyApp/client/components/tooltip';\nimport { enhanceComponent } from '@legacyApp/client/wrappers/enhanceComponent';\nimport { BalanceAmount } from './balanceAmount';\n\nconst BalanceAmountWithConverterTooltip = ({\n\tformCurrency,\n\tactiveCurrency,\n\tvalue,\n\tconverted,\n\t...props\n}) => {\n\treturn (\n\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t}\n\t\t>\n\t\t\t\n\t\t\n\t);\n};\n\nBalanceAmountWithConverterTooltip.propTypes = {\n\tvalue: PropTypes.number,\n\tactiveCurrency: PropTypes.string,\n\tconverted: PropTypes.number,\n\tformCurrency: PropTypes.string,\n};\n\nexport default enhanceComponent({\n\tBalanceAmountWithConverterTooltip,\n\tprops: {\n\t\tcurrencyConverter: true,\n\t},\n});\n","import styled from 'styled-components';\nimport { FC, ReactNode } from 'react';\nimport { trans } from '@legacyApp/client/modules/translation/translate';\nimport { CurrencyType } from '@legacyApp/types/wallet/CurrencyType';\nimport { TransNamespace } from '@legacyApp/client/modules/translation/TransNamespace';\nimport { currencyLogoStyle } from '@legacyApp/client/modules/style/mixins/currencyLogoStyle';\nimport { fontSize } from '@legacyApp/client/modules/style/mixins/fontSize';\nimport { CSSClassNameCurrencyLogo } from '@legacyApp/client/components/currencySymbol/tokenSymbol';\nimport {\n\tBalanceCurrencyValueBigStyle,\n\tBalanceCurrencyValueSmallStyle,\n} from '@common/components/number/balanceAmount/balanceCurrencyValue.style';\nimport BalanceAmountWithConverterTooltip from '@common/components/number/balanceAmount/BalanceAmountWithConverterTooltip';\n\nconst SummaryValue: FC<{\n\ttitle: string;\n\tvalue: number | ReactNode;\n\tcurrency?: CurrencyType;\n\tsimpleValue?: boolean;\n\tvalueProps?: any;\n\tnamespace?: TransNamespace;\n}> = ({ title, value, currency, valueProps, simpleValue, namespace }) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{trans({ label: title, namespace: namespace || TransNamespace.SPORTS })}\n\t\t\t\n\t\t\t{simpleValue ? (\n\t\t\t\tvalue\n\t\t\t) : (\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport const StyledSummaryValue = styled.div`\n\talign-items: center;\n\tdisplay: flex;\n\tjustify-content: space-between;\n\tmargin: 0.4rem 0;\n\ttext-transform: capitalize;\n\twidth: 100%;\n\n\t> span:first-of-type {\n\t\tfont-family: ${(props) => props.theme.text.fonts.Black};\n\t}\n\n\t.${CSSClassNameCurrencyLogo} {\n\t\tmargin-right: 0 !important;\n\t\t${currencyLogoStyle({ size: '14px', important: true })};\n\n\t\t@media (max-width: ${(props) => props.theme.media.maxWidthTablet}) {\n\t\t\t${currencyLogoStyle({ size: '13px', important: true })};\n\t\t}\n\t}\n\n\t&,\n\t${BalanceCurrencyValueBigStyle} {\n\t\t${fontSize({\n\t\t\tsizeDiff: -2,\n\t\t\tsizeDesktopDiff: -4,\n\t\t\tsizeBigScreenDiff: -4,\n\t\t\timportant: true,\n\t\t})}\n\t}\n\n\t${BalanceCurrencyValueSmallStyle} {\n\t\t${fontSize({\n\t\t\tsizeDiff: -5,\n\t\t\tsizeDesktopDiff: -7,\n\t\t\tsizeBigScreenDiff: -7,\n\t\t\timportant: true,\n\t\t})}\n\t\t${fontSize({\n\t\t\tlabel: 'line-height',\n\t\t\tsizeDiff: -2,\n\t\t\tsizeDesktopDiff: -4,\n\t\t\tsizeBigScreenDiff: -4,\n\t\t\timportant: true,\n\t\t})}\n\t}\n`;\n\nexport default SummaryValue;\n","import { FunctionComponent, useContext } from 'react';\nimport styled from 'styled-components';\nimport { simpleTrans } from '@legacyApp/client/modules/translation/translationService';\nimport { TransNamespace } from '@legacyApp/client/modules/translation/TransNamespace';\nimport { parseName } from '../../../MatchOdds/MatchOddsName';\nimport { MatchContext } from '../../../../../context/MatchContext';\nimport { OfferType } from '../../../../../types/Match/OfferType';\n\nexport const OfferName: FunctionComponent<{\n\toffer: OfferType;\n}> = ({ offer }) => {\n\tconst { match } = useContext(MatchContext);\n\treturn (\n\t\t\n\t\t\t{parseName({\n\t\t\t\tname: simpleTrans(offer.label, undefined, TransNamespace.SPORTS),\n\t\t\t\tmatch,\n\t\t\t})}\n\t\t\n\t);\n};\n\nexport const StyledMatchOfferName = styled.span``;\n","import styled, { css } from 'styled-components';\nimport { FunctionComponent, useEffect, useState } from 'react';\nimport { faLock } from '@fortawesome/free-solid-svg-icons';\nimport { Button } from '@legacyApp/client/components/button';\nimport { enhanceComponent } from '@legacyApp/client/wrappers/enhanceComponent';\nimport { useAppDispatch } from '@legacyApp/hooks/store/useAppDispatch';\nimport { DeveloperData } from '@common/components/default/DeveloperData/DeveloperData';\nimport {\n\tborderRadius,\n\tcutTextStyle,\n} from '@legacyApp/client/modules/style/defaults';\nimport { transSports } from '@legacyApp/client/modules/translation/translate';\nimport { AwesomeIcon } from '@common/components/icons/AwesomeIcon';\nimport { fontSize } from '@legacyApp/client/modules/style/mixins/fontSize';\nimport { MatchOdds, StyledMatchOdds } from '../MatchOdds/MatchOdds';\nimport { MatchOddsName, StyledMatchOddsName } from '../MatchOdds/MatchOddsName';\nimport { sportsBetSlipClearPlacedBets } from '../../../store/sportsBetSlip/sportsBetSlip.thunk';\nimport { MatchOutcomeType } from '../../../types/Match/OutcomeType';\nimport {\n\tMatchOddsChange,\n\tStyledMatchOddsChange,\n} from '../MatchOdds/MatchOddsChange';\nimport { useSportsBetSlipBetOutcome } from '../../../store/selectors/sportsBetSlip.selectors';\nimport { checkDisabledOutcome } from './OutcomesList/OutcomesList';\n\nconst ButtonOutcome: FunctionComponent<{\n\tdata: MatchOutcomeType;\n\ttoggle: (data: MatchOutcomeType) => void;\n\tmatchId: number;\n\tdisabled: boolean;\n}> = ({ data, toggle, matchId, disabled }) => {\n\tconst isSelected = !!useSportsBetSlipBetOutcome({\n\t\t// @ts-expect-error invalid types\n\t\tmatchId,\n\t\t// @ts-expect-error invalid types\n\t\toutcomeId: data?.id,\n\t});\n\tconst dispatch = useAppDispatch();\n\n\tconst [disabledButton, setDisabled] = useState(false);\n\n\tuseEffect(() => {\n\t\tsetDisabled(\n\t\t\t!data?.decimal_odds || checkDisabledOutcome(data?.state) || disabled,\n\t\t);\n\t}, [data?.decimal_odds, data.state, data.id, disabled]);\n\n\tconst onClick = () => {\n\t\tif (disabledButton) {\n\t\t\treturn;\n\t\t}\n\t\ttoggle(data);\n\t\tif (!isSelected) {\n\t\t\tdispatch(sportsBetSlipClearPlacedBets());\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t{data && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t{disabledButton ? (\n\t\t\t\t\n\t\t\t\t\t{' '}\n\t\t\t\t\t{transSports({ label: 'Suspended' })}\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport const OutcomeHeight = (callback) => css`\n\t${callback(45)};\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthDesktop}) {\n\t\t${callback(40)};\n\t}\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthTablet}) {\n\t\t${callback(34)};\n\t}\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthSmallTablet}) {\n\t\t${callback(30)};\n\t}\n`;\n\nexport const StyledOutcomeButton = styled(Button)`\n\t${OutcomeHeight((height) => `height: ${height}px;`)};\n\talign-items: center;\n\tbackground-color: ${(props) =>\n\t\tprops.$active ? '#0B59B9' : props.theme.colors.darkActive};\n\tdisplay: grid;\n\tflex-direction: row;\n\tjustify-content: center;\n\tmargin: 0;\n\tpadding: 0.25rem;\n\tposition: relative;\n\n\t&:disabled {\n\t\tbackground-color: #0c294c !important;\n\t}\n\n\tspan {\n\t\tdisplay: inline-block;\n\t\t${cutTextStyle};\n\t\ttext-overflow: clip;\n\t}\n\n\t${StyledMatchOdds} {\n\t\tfont-family: ${(props) => props.theme.text.fonts.Black};\n\t\t${fontSize({ size: '11px', sizeDesktop: '14px', sizeBigScreen: '16px' })}\n\t}\n\n\t${StyledMatchOddsName} {\n\t\tfont-family: ${(props) => props.theme.text.fonts.Regular};\n\t\tmax-width: 100%;\n\t\ttext-align: center;\n\t\ttext-overflow: ellipsis;\n\t\twhite-space: nowrap;\n\t\t${fontSize({ size: '9px', sizeDesktop: '11px', sizeBigScreen: '13px' })}\n\t}\n\n\t${StyledMatchOddsChange} {\n\t\theight: 100%;\n\t\tleft: -1px;\n\t\tmargin-top: 0 !important;\n\t\toverflow: hidden;\n\t\tposition: absolute;\n\t\ttop: -1px;\n\t\t${borderRadius};\n\t\twidth: 100%;\n\n\t\t&:after {\n\t\t\tborder-bottom: 12px solid;\n\t\t\tborder-left: 12px solid transparent !important;\n\t\t\tborder-right: 12px solid transparent !important;\n\t\t\tborder-top: unset;\n\t\t\theight: 0;\n\t\t\tleft: -8px;\n\t\t\tposition: absolute;\n\t\t\ttop: -2px;\n\t\t\ttransform: rotate(315deg);\n\t\t\twidth: 0;\n\t\t}\n\n\t\t&[data-change='low'] {\n\t\t\ttop: 1px;\n\n\t\t\t&:after {\n\t\t\t\tbottom: -2px;\n\t\t\t\ttop: unset;\n\t\t\t\ttransform: rotate(225deg);\n\t\t\t}\n\t\t}\n\t}\n\n\t@media (max-width: ${(props) => props.theme.media.maxWidthSmallTablet}) {\n\t\tpadding: 0.2rem;\n\n\t\tspan {\n\t\t\t&:not(:first-of-type) {\n\t\t\t\tfont-size: 10px !important;\n\t\t\t}\n\n\t\t\t&:first-of-type {\n\t\t\t\ttop: -12px;\n\t\t\t\tfont-size: 7px;\n\t\t\t}\n\t\t}\n\n\t\t${StyledMatchOddsChange} {\n\t\t\t&:after {\n\t\t\t\tborder-bottom-width: 8px;\n\t\t\t\tborder-left-width: 8px !important;\n\t\t\t\tborder-right-width: 8px !important;\n\t\t\t\tleft: -6px;\n\t\t\t}\n\t\t}\n\t}\n`;\n\nexport default enhanceComponent({\n\tButtonOutcome,\n});\n","export const getMatchLink = (id: number): string => {\n\treturn `/sports/event/${id}`;\n};\n","import styled, { css } from 'styled-components';\nimport {\n\tFunctionComponent,\n\tReactNode,\n\tuseContext,\n\tuseEffect,\n\tuseState,\n} from 'react';\nimport { faChevronRight } from '@fortawesome/free-solid-svg-icons';\nimport { enhanceComponent } from '@legacyApp/client/wrappers/enhanceComponent';\nimport { RectangleLoader } from '@common/components/contentLoaders/RectangleLoader';\nimport { LoaderListWrapper } from '@common/components/contentLoaders/LoaderListWrapper';\nimport { useAppDispatch } from '@legacyApp/hooks/store/useAppDispatch';\nimport { DeveloperData } from '@common/components/default/DeveloperData/DeveloperData';\nimport { LinkTo } from '@common/components/default/LinkTo/LinkTo';\nimport { transSports } from '@legacyApp/client/modules/translation/translate';\nimport { ButtonStyle } from '@legacyApp/client/components/button/button.style';\nimport {\n\tcutTextStyle,\n\tverticalMatchDetailsLayoutTitle,\n} from '@legacyApp/client/modules/style/defaults';\nimport { AwesomeIcon } from '@common/components/icons/AwesomeIcon';\nimport { SportContext } from '../../../../context/SportContext';\nimport { OutcomeStateType } from '../../../../types/Match/OutcomeType';\nimport {\n\tMatchOfferType,\n\tOfferStateType,\n} from '../../../../types/Match/OfferType';\nimport ButtonOutcome from '../ButtonOutcome';\nimport { sportsBetSlipToggleBet } from '../../../../store/sportsBetSlip/sportsBetSlip.thunk';\nimport { MatchContext } from '../../../../context/MatchContext';\nimport { getMatchLink } from '../../../../methods/getMatchLink';\n\nexport const checkDisabledOffer = (state: OfferStateType): boolean => {\n\treturn ['closed', 'missing'].indexOf(state) > -1;\n};\n\nexport const checkSuspendedOffer = (state: OfferStateType): boolean => {\n\treturn ['suspended'].indexOf(state) > -1;\n};\n\nexport const checkDisabledOutcome = (state: OutcomeStateType): boolean => {\n\treturn ['suspended'].indexOf(state) > -1;\n};\n\nconst OutcomesList: FunctionComponent<{\n\tmarket: MatchOfferType;\n\tpreloadLength?: number;\n\tpreloadElement?: ReactNode;\n\thideDisabled?: boolean;\n}> = ({ market, preloadLength = 3, preloadElement, hideDisabled }) => {\n\tconst dispatch = useAppDispatch();\n\tconst { match } = useContext(MatchContext);\n\tconst { id, slug } = useContext(SportContext);\n\tconst toggle = (data) => dispatch(sportsBetSlipToggleBet(data));\n\tconst [isOfferDisabled, setIsDisabledOffer] = useState(\n\t\tcheckDisabledOffer(market?.state),\n\t);\n\n\tuseEffect(() => {\n\t\tsetIsDisabledOffer(checkDisabledOffer(market?.state));\n\t}, [market?.state]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{transSports({ label: market.label })}\n\t\t\t\n\t\t\t{market && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t{!isOfferDisabled ? (\n\t\t\t\t (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t))\n\t\t\t\t\t}\n\t\t\t\t\tpreloadLength={preloadLength}\n\t\t\t\t\tlistElementCallback={(el) => (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\ttoggle({\n\t\t\t\t\t\t\t\t\tdata: { ...match, sport: match.sport || { id, slug } },\n\t\t\t\t\t\t\t\t\toutcome: { ...el, offer_label: market.label },\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t/>\n\t\t\t) : hideDisabled ? null : match.total_offers ? (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{transSports({ label: 'Check betting offer' })}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport const StyledNoOfferButton = styled(ButtonStyle)<{\n\tlocalTheme: object;\n}>`\n\t${cutTextStyle};\n\tcolor: ${(props) => props.theme.colors.textDisabled};\n\tfont-family: ${(props) => props.theme.text.fonts.Black};\n\tmargin-right: 1rem;\n\ttext-align: right;\n\twidth: 100%;\n\n\ti,\n\tsvg {\n\t\tfont-size: 14px;\n\t\tmargin-left: 0.5rem;\n\t}\n`;\n\nexport const StyledOutcomesListLabel = styled.div`\n\t${verticalMatchDetailsLayoutTitle};\n\tjustify-content: center;\n\twidth: 100%;\n`;\n\nexport const StyledOutcomesList = styled.div<{\n\t$childCount: number;\n\t$noOffer: boolean;\n}>`\n\tposition: relative;\n\t${(props) =>\n\t\tprops.$noOffer\n\t\t\t? ''\n\t\t\t: css`\n\t\t\t\t\tdisplay: grid;\n\t\t\t\t\tgrid-column-gap: 0.5rem;\n\t\t\t\t\tgrid-template-columns: ${props.$childCount\n\t\t\t\t\t\t? props.$childCount > 3\n\t\t\t\t\t\t\t? 'repeat(3, 1fr)'\n\t\t\t\t\t\t\t: `repeat(${props.$childCount}, 1fr)`\n\t\t\t\t\t\t: '100%'};\n\n\t\t\t\t\t${props.$childCount > 3\n\t\t\t\t\t\t? css`\n\t\t\t\t\t\t\t\tgrid-row-gap: 2rem;\n\t\t\t\t\t\t `\n\t\t\t\t\t\t: ''}\n\t\t\t `}\n\n\tsvg {\n\t\theight: unset;\n\t}\n`;\n\nexport default enhanceComponent({\n\tOutcomesList,\n});\n","import styled from 'styled-components';\nimport { FC, FunctionComponent, useContext } from 'react';\nimport { isLive } from '@legacyApp/client/modules/app/sportsService';\nimport { TransSports } from '@legacyApp/client/modules/translation/translate';\nimport { verticalMatchDetailsLayoutTitle } from '@legacyApp/client/modules/style/defaults';\nimport { MatchContext } from '../../../context/MatchContext';\nimport { BetSlipDetailsState } from '../../../types/BetSlipDetails/BetSlipDetailsType';\nimport { TimeInformation } from './TimeInformation';\n\nexport const MatchLiveBadge: FC<{\n\teventBetSlipState?: BetSlipDetailsState;\n}> = ({ eventBetSlipState }) => {\n\tconst { match } = useContext(MatchContext);\n\n\tconst isMatchLive = isLive(match, eventBetSlipState);\n\n\treturn isMatchLive ? (\n\t\t\n\t\t\t\n\t\t\n\t) : null;\n};\n\nconst MatchDate: FunctionComponent<{\n\tnoDate?: boolean;\n}> = ({ noDate }) => {\n\tconst { match } = useContext(MatchContext);\n\n\tconst isMatchLive = isLive(match);\n\n\tif (!isMatchLive && noDate) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t{!noDate && }\n\t\t\n\t);\n};\n\nexport const StyledDate = styled.div`\n\t${verticalMatchDetailsLayoutTitle};\n\n\t> span {\n\t\tdisplay: block !important;\n\t}\n`;\n\nexport const StyledLive = styled.span`\n\tcolor: ${(props) => props.theme.colors.positive};\n\tdisplay: inline-block;\n\tfont-family: ${(props) => props.theme.text.fonts.Black};\n\tmargin-right: 4px;\n\ttext-transform: uppercase;\n`;\n\nexport { MatchDate };\n","import { useContext, useEffect, useState } from 'react';\nimport { Loadable } from '@legacyApp/client/components/loader/loadable/loadable';\nimport { minute } from '@legacyApp/client/modules/app/time';\nimport {\n\tAMERICAN_FOOTBALL_ID,\n\tAUSSIE_RULES_ID,\n\tBADMINTON_ID,\n\tBANDY_ID,\n\tBASEBALL_ID,\n\tBASKETBALL_ID,\n\tBEACH_VOLLEYBALL_ID,\n\tBOXING_ID,\n\tCRICKET_ID,\n\tDARTS_ID,\n\tFIELD_HOCKEY_ID,\n\tFLOORBALL_ID,\n\tFOOTBALL_ID,\n\tFUTSAL_ID,\n\tHANDBALL_ID,\n\tICE_HOCKEY_ID,\n\tMMA_ID,\n\tNETBALL_ID,\n\tRUGBY_ID,\n\tSNOOKER_ID,\n\tTABLE_TENNIS_ID,\n\tTENNIS_ID,\n\tVOLLEYBALL_ID,\n\tWATERPOLO_ID,\n} from '../constants/sports';\nimport { MatchContext } from '../context/MatchContext';\nimport { SportContext } from '../context/SportContext';\n\nexport interface TimestampComponentProps {\n\troundLabel?: string;\n\troundMaxLength?: number;\n\troundLength?: number;\n\tmaxRounds?: number;\n}\n\nconst simpleComponent = Loadable(\n\t{ loader: () => import('../components/Match/MatchDate/types/SimpleCounter') },\n\tundefined,\n\tundefined,\n\ttrue,\n);\n\nconst TimestampComponents = [\n\t{\n\t\tsports: [\n\t\t\t{\n\t\t\t\tid: [\n\t\t\t\t\tFOOTBALL_ID, // overtime with halves and penalties\n\t\t\t\t],\n\t\t\t\tprops: {\n\t\t\t\t\troundMaxLength: 49 * minute,\n\t\t\t\t\troundLength: 45 * minute,\n\t\t\t\t\tmaxRounds: 2,\n\t\t\t\t\troundLabel: 'half',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: [\n\t\t\t\t\tFIELD_HOCKEY_ID, // overtime with halves and penalties\n\t\t\t\t],\n\t\t\t\tprops: {\n\t\t\t\t\troundMaxLength: 32 * minute,\n\t\t\t\t\troundLength: 35 * minute,\n\t\t\t\t\tmaxRounds: 2,\n\t\t\t\t\troundLabel: 'half',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: [\n\t\t\t\t\tHANDBALL_ID, // overtime with halves and penalties\n\t\t\t\t\tRUGBY_ID, // overtime with halves (golden point only rugby league, golden point on second half rugby union) and penalties\n\t\t\t\t\tFUTSAL_ID, // overtime with halves and penalties\n\t\t\t\t],\n\t\t\t\tprops: {\n\t\t\t\t\troundLabel: 'half',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: [\n\t\t\t\t\tBASKETBALL_ID, // overtime 5 min periods until the winner - [1Q, 2Q, 3Q, 4Q, ...overtime]\n\t\t\t\t\tNETBALL_ID, // overtime 5 min periods until the winner - [1Q, 2Q, 3Q, 4Q, ...overtime]\n\t\t\t\t\tAMERICAN_FOOTBALL_ID, // [1Q, 2Q, 3Q, 4Q, overtime]\n\t\t\t\t\tAUSSIE_RULES_ID, // [1Q, 2Q, 3Q, 4Q, overtime]\n\t\t\t\t],\n\t\t\t\tprops: {\n\t\t\t\t\troundLabel: 'quarter',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: [\n\t\t\t\t\tICE_HOCKEY_ID, // 1 overtime (golden point) and penalties - [1st, 2nd, 3rd, overtime, penalty],\n\t\t\t\t\tWATERPOLO_ID, // [1st, 2nd, 3rd, 4th, overtime, penalty]\n\t\t\t\t\tFLOORBALL_ID, // [1st, 2nd, 3rd, 4th, overtime, penalty]\n\t\t\t\t],\n\t\t\t\tprops: {\n\t\t\t\t\troundLabel: 'period',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: [\n\t\t\t\t\tBASEBALL_ID, // 9 innings that could be extended until the winner - [1, 2, 3, 4, 5, 6, 7, 8, 9]\n\t\t\t\t],\n\t\t\t\tprops: {\n\t\t\t\t\troundLabel: 'inning',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: [\n\t\t\t\t\tTENNIS_ID, // sets with offer and tiebreaks\n\t\t\t\t\tVOLLEYBALL_ID, // 5 extended sets\n\t\t\t\t\tBADMINTON_ID, // 3 extended sets\n\t\t\t\t],\n\t\t\t\tprops: {\n\t\t\t\t\troundLabel: 'set',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: [\n\t\t\t\t\tTABLE_TENNIS_ID, // sets with offer and tiebreaks\n\t\t\t\t],\n\t\t\t\tprops: {\n\t\t\t\t\troundLabel: 'game',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\tComponent: Loadable(\n\t\t\t{\n\t\t\t\tloader: () =>\n\t\t\t\t\timport('../components/Match/MatchDate/types/RoundsCounter'),\n\t\t\t},\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\ttrue,\n\t\t),\n\t},\n\t{\n\t\tsports: [\n\t\t\t{\n\t\t\t\tid: [\n\t\t\t\t\tCRICKET_ID,\n\t\t\t\t\tSNOOKER_ID,\n\t\t\t\t\tBANDY_ID,\n\t\t\t\t\tBEACH_VOLLEYBALL_ID,\n\t\t\t\t\tDARTS_ID,\n\t\t\t\t\tBOXING_ID,\n\t\t\t\t\tMMA_ID,\n\t\t\t\t\t// ESPORTS_ID,\n\t\t\t\t],\n\t\t\t\tprops: {},\n\t\t\t},\n\t\t],\n\t},\n];\n\nconst getData = ({ sportId }: { sportId: number }) => {\n\tconst data = TimestampComponents.find(\n\t\t(el) => !!el.sports.some((el) => el.id.indexOf(sportId) > -1),\n\t);\n\t// console.log('useTimestampComponent', {\n\t// \tdata,\n\t// \tsportId,\n\t// });\n\tif (!data) {\n\t\treturn null;\n\t}\n\treturn {\n\t\tComponent: data.Component || simpleComponent,\n\t\tprops: data.sports.find((el) => el.id.indexOf(sportId) > -1)?.props,\n\t};\n};\n\nexport const useTimestampComponent = () => {\n\tconst { match } = useContext(MatchContext);\n\tconst { id } = useContext(SportContext);\n\n\tconst [data, setData] = useState(null);\n\n\tuseEffect(() => {\n\t\tsetData(getData({ sportId: id || match?.sport?.id }));\n\t}, [id, match?.sport?.id]);\n\n\treturn data;\n};\n","import { FC } from 'react';\nimport { useTimestampComponent } from '../../../hooks/useTimestampComponent';\n\nexport const LiveTimeInformation: FC = () => {\n\tconst data = useTimestampComponent();\n\tconst { Component, props } = data || {};\n\n\t// console.log('LiveTimeInformation', data);\n\n\tif (Component) {\n\t\treturn ;\n\t}\n\n\treturn null;\n};\n","import { FC, useContext } from 'react';\nimport styled from 'styled-components';\nimport {\n\tformatToFullDateNoSeconds,\n\tgetTimestamp,\n} from '@legacyApp/client/modules/app/timeService';\nimport { trans } from '@legacyApp/client/modules/translation/translate';\nimport { TimerCountDown } from '@common/components/timerCountDown';\nimport { useTimeDiff } from '@legacyApp/hooks/timer/useTimeDiff';\nimport { mathService } from '@legacyApp/client/modules/math/mathService';\nimport { hour, minute } from '@legacyApp/client/modules/app/time';\nimport { MatchContext } from '../../../context/MatchContext';\nimport { LiveTimeInformation } from './LiveTimeInformation';\n\nexport const TimeInformation: FC<{\n\tnoParse?: boolean;\n}> = ({ noParse }) => {\n\tconst { match } = useContext(MatchContext);\n\n\tconst [diff, setDiffValue] = useTimeDiff(match?.start_at, minute);\n\n\tif (!match?.start_at) {\n\t\treturn null;\n\t}\n\n\tconst eventTimestamp: number = getTimestamp(match?.start_at);\n\n\t// console.log('TimeInformation', {\n\t// \tdiff,\n\t// \tnoParse,\n\t// \teventTimestamp,x\n\t// \tcurr: getTimestamp(),\n\t// });\n\n\tif (!noParse && diff) {\n\t\tif (diff < 0) {\n\t\t\tif (mathService.abs(diff) < hour) {\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t\t\t{trans({ label: 'Starts in' })}{' '}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tif (diff > 0) {\n\t\t\treturn ;\n\t\t}\n\t}\n\n\treturn (\n\t\t\n\t\t\t{formatToFullDateNoSeconds(eventTimestamp)}\n\t\t\n\t);\n};\n\nexport const StyledTimeInformation = styled.span`\n\tspan {\n\t\tdisplay: inline !important;\n\t}\n`;\n","import { FC } from 'react';\nimport styled, { css } from 'styled-components';\nimport { Icon } from '@common/components/icons';\nimport { transSports } from '@legacyApp/client/modules/translation/translate';\nimport { simpleTrans } from '@legacyApp/client/modules/translation/translationService';\nimport { capitalize } from '@legacyApp/client/modules/app/appService';\nimport { TransNamespace } from '@legacyApp/client/modules/translation/TransNamespace';\nimport { createNameFromSlug } from '../../methods/createNameFromSlug';\n\nconst SPORTS_MAP = {\n\tmma: 'MMA',\n\tesports: 'eSports',\n\tsoccer: 'Football',\n};\n\nconst mapSportName = (name) => {\n\tif (!name?.toLowerCase) {\n\t\treturn name;\n\t}\n\treturn SPORTS_MAP[name.toLowerCase()] ?? capitalize(createNameFromSlug(name));\n};\n\nexport const SportName: FC<{\n\ticonId?: string; // slug\n\tseoLabel?: boolean;\n\tname: string;\n\tnoTranslationCheck?: boolean;\n}> = ({ iconId, seoLabel, name, noTranslationCheck }) => {\n\tconst sportNameMapped = mapSportName(name);\n\n\treturn (\n\t\t<>\n\t\t\t{iconId && (\n\t\t\t\t<>\n\t\t\t\t\t{' '}\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\t{transSports({\n\t\t\t\t\tlabel: seoLabel ? 'Crypto {{sport_name}} Betting' : sportNameMapped,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tsport_name:\n\t\t\t\t\t\t\tsimpleTrans(sportNameMapped, undefined, TransNamespace.SPORTS) ||\n\t\t\t\t\t\t\t'',\n\t\t\t\t\t},\n\t\t\t\t\tnoTranslationCheck,\n\t\t\t\t})}\n\t\t\t\n\t\t\n\t);\n};\n\nexport const StyledSportNameText = styled.span<{\n\t$allowTransform?: boolean;\n}>`\n\ttext-transform: none !important;\n\t${(props) =>\n\t\tprops.$allowTransform\n\t\t\t? ''\n\t\t\t: css`\n\t\t\t\t\ttext-transform: none !important;\n\t\t\t `}\n`;\n","import { FunctionComponent, useContext } from 'react';\nimport styled from 'styled-components';\nimport { cutTextStyle } from '@legacyApp/client/modules/style/defaults';\nimport { RectangleLoader } from '@common/components/contentLoaders/RectangleLoader';\nimport { MatchContext } from '../../../context/MatchContext';\nimport { TeamType } from '../../../types/Match/TeamType';\nimport { SportName } from '../../SportName/SportName';\n\nexport const CompetitorName: FunctionComponent<{\n\tdata: TeamType;\n\tshort?: boolean;\n}> = ({ data, short }) => {\n\treturn (\n\t\t\n\t\t\t{(short && data?.short_name ? data?.short_name : data?.name) || (\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t)}\n\t\t
\n\t);\n};\n\nexport const MatchName: FunctionComponent<{ short?: boolean }> = ({\n\tshort,\n}) => {\n\tconst { match } = useContext(MatchContext);\n\tif (match?.home_team && match?.away_team) {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t-\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n\tif (match?.sport?.name) {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t/\n\t\t\t\t\n\t\t\t\t/\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n\n\treturn null;\n};\n\nexport const StyledCompetitorName = styled.span`\n\t&:first-of-type {\n\t\tdiv {\n\t\t\tfloat: right;\n\t\t}\n\t}\n\n\tdiv {\n\t\tmax-width: 110px;\n\t\twidth: 100%;\n\t}\n`;\n\nconst StyledSeparator = styled.span`\n\tmargin: 0 0.25rem;\n`;\n\nexport const StyledMatchName = styled.div`\n\t${cutTextStyle};\n\talign-items: center;\n\tdisplay: flex;\n\tjustify-content: flex-start;\n\n\tspan {\n\t\tdisplay: inline-block;\n\t\t${cutTextStyle};\n\t}\n`;\n","import styled from 'styled-components';\nimport React, { FunctionComponent } from 'react';\nimport { config } from '@legacyApp/client/config';\nimport { isFunction } from '@common/methods/isFunction';\n\nconst MatchOdds: FunctionComponent<{\n\todds: number;\n}> = ({ odds }) => {\n\treturn (\n\t\t\n\t\t\t{isFunction(odds?.toFixed)\n\t\t\t\t? odds.toFixed(config.games.sports.oddsDecimal) || 'Invalid odds'\n\t\t\t\t: null}\n\t\t\n\t);\n};\n\nexport const StyledMatchOdds = styled.span`\n\tfont-family: ${(props) => props.theme.text.fonts.Black};\n\t@media (max-width: ${(props) => props.theme.media.maxWidthSmallTablet}) {\n\t\tfont-size: 11px;\n\t}\n`;\n\nexport { MatchOdds };\n","import styled, { css, keyframes } from 'styled-components';\nimport React, { FunctionComponent } from 'react';\nimport { usePrevious } from '@legacyApp/hooks/render/usePrevious';\nimport { ChangedOddsType, useOddsChange } from '../../../hooks/useOddsChange';\n\nconst MatchOddsChange: FunctionComponent<{\n\todds: number;\n\tforceChangeType?: ChangedOddsType;\n\tchange?: ChangedOddsType;\n}> = ({ odds, forceChangeType, change }) => {\n\tconst prevOdds = usePrevious(odds);\n\tconst changeType = useOddsChange(prevOdds, odds);\n\tconst type =\n\t\t(change !== null && change !== undefined ? change : changeType) ||\n\t\tforceChangeType;\n\treturn (\n\t\t<>\n\t\t\t{!!type && (\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport const StyledMatchOddsChange = styled.i<{\n\t$changed?: ChangedOddsType;\n\t$noAnimation?: boolean;\n}>`\n\t${(props) =>\n\t\tprops.$changed && !props.$noAnimation\n\t\t\t? css`\n\t\t\t\t\tanimation: ${Blink} 1s linear infinite;\n\t\t\t `\n\t\t\t: ''}\n\n\t&:after {\n\t\tborder-color: ${(props) =>\n\t\t\tprops.$changed === 'high'\n\t\t\t\t? props.theme.colors.positive\n\t\t\t\t: props.$changed === 'low'\n\t\t\t\t? props.theme.colors.negative\n\t\t\t\t: ''}!important;\n\t}\n`;\n\nconst Blink = keyframes`\n 0% {\n opacity: 0;\n }\n 50% {\n opacity: 1;\n }\n\t100% {\n\t\topacity: 0;\n\t}\n`;\n\nexport { MatchOddsChange };\n","import { FunctionComponent, ReactElement, useContext } from 'react';\nimport styled from 'styled-components';\nimport { OmitInterface } from '@legacyApp/types/default/OmitInterface';\nimport { DeveloperData } from '@common/components/default/DeveloperData/DeveloperData';\nimport { simpleTrans } from '@legacyApp/client/modules/translation/translationService';\nimport { TransNamespace } from '@legacyApp/client/modules/translation/TransNamespace';\nimport { isFunction } from '@common/methods/isFunction';\nimport { OddsNameContext } from '../../../context/OddsNameContext';\nimport { OutcomeType } from '../../../types/Match/OutcomeType';\nimport { MatchType } from '../../../types/Match/MatchType';\nimport { MatchContext } from '../../../context/MatchContext';\n\nexport type MatchOddsNameData = OmitInterface;\n\nexport interface MatchOddsNameParseProps {\n\tname: MatchOddsNameParseResponse;\n\tmatch?: MatchType;\n\tfullName?: boolean;\n\tparse?: MatchOddsNameParse;\n\tnoShort?: boolean;\n\tdata?: MatchOddsNameData;\n}\n\nexport type MatchOddsNameParseResponse = string | ReactElement;\n\nexport type MatchOddsNameParse = ({\n\tname,\n\tmatch,\n\tfullName,\n\tparse,\n\tnoShort,\n\tdata,\n}: MatchOddsNameParseProps) => MatchOddsNameParseResponse;\n\nexport const parseName: MatchOddsNameParse = ({\n\tname,\n\tmatch,\n\tfullName,\n\tparse,\n\tnoShort,\n\tdata,\n}) => {\n\tif (!name) {\n\t\treturn name;\n\t}\n\t// console.log('parseName', name, match, fullName);\n\tconst nameKey = noShort ? 'name' : 'short_name';\n\tif (fullName) {\n\t\tif (`${name}` === '1') {\n\t\t\tname = match?.home_team?.[nameKey];\n\t\t}\n\t\tif (`${name}` === '2') {\n\t\t\tname = match?.away_team?.[nameKey];\n\t\t}\n\t\tif (`${name}`.toLowerCase() === 'x') {\n\t\t\tname = simpleTrans('Draw', undefined, TransNamespace.SPORTS);\n\t\t}\n\t}\n\tif (`${name}`.indexOf('{homeTeam}') > -1 && match?.home_team?.[nameKey]) {\n\t\tif (typeof name === 'string') {\n\t\t\tname = name.split('{homeTeam}').join(match?.home_team?.[nameKey]);\n\t\t}\n\t}\n\tif (`${name}`.indexOf('{awayTeam}') > -1 && match?.away_team?.[nameKey]) {\n\t\tif (typeof name === 'string') {\n\t\t\tname = name.split('{awayTeam}').join(match?.away_team?.[nameKey]);\n\t\t}\n\t}\n\tif (parse) {\n\t\tname = parse({ name, match, fullName, data });\n\t}\n\t// console.log('MatchOddsName', {name});\n\n\treturn name;\n};\n\nexport const MatchOddsName: FunctionComponent<{\n\tdata?: MatchOddsNameData;\n\tfullName?: boolean;\n\tnoShort?: boolean;\n}> = ({ data, fullName, noShort }) => {\n\tconst { match } = useContext(MatchContext);\n\tconst { parse, parseData } = useContext(OddsNameContext);\n\tif (!data) {\n\t\treturn ;\n\t}\n\tconst newData = isFunction(parseData) ? parseData(data) : data;\n\treturn (\n\t\t\n\t\t\t{parseName({ name: data?.label, match, fullName, parse, noShort, data })}{' '}\n\t\t\t{newData?.decimal_line}\n\t\t\n\t);\n};\n\nexport const StyledMatchOddsName = styled.span`\n\ttext-transform: capitalize;\n`;\n","import { FunctionComponent } from 'react';\nimport { RectangleLoader } from '@common/components/contentLoaders/RectangleLoader';\nimport { ColumnLayout } from '@common/components/layout/ColumnLayout/ColumnLayout';\nimport { isTrueOrZero } from '@common/methods/isTrueOrZero';\nimport { ScoreContext } from '../../../context/ScoreContext';\nimport { RoundType, ScoreType } from '../../../types/Match/ScoreType';\nimport { ScoreParamsType } from '../../../types/Match/ScoreParamsType';\nimport sortService, {\n\tDIRECTION,\n} from '../../../../../LegacyApp/client/modules/app/sortService';\nimport { ScoreWrapper } from './ScoreWrapper';\nimport { StyledScoreSimpleHorizontal } from './types/ScoreSimple';\n\nexport const sortScoreRounds = (rounds: RoundType[]) => {\n\tif (!rounds?.length) {\n\t\treturn rounds;\n\t}\n\treturn rounds\n\t\t.sort((a, b) => sortService.sort(DIRECTION.ASC, a.round, b.round))\n\t\t.map((round) => {\n\t\t\tif (!round?.games?.length) {\n\t\t\t\treturn round;\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...round,\n\t\t\t\tgames: round.games.sort((a, b) =>\n\t\t\t\t\tsortService.sort(DIRECTION.ASC, a.game, b.game),\n\t\t\t\t),\n\t\t\t};\n\t\t});\n};\n\nconst MatchScoreHandler: FunctionComponent<{\n\tscore: ScoreType;\n\tparams?: ScoreParamsType;\n}> = ({ score, params }) => {\n\t// const score = {\n\t// \t'id': 115118,\n\t// \t'home_team_score': 0,\n\t// \t'away_team_score': 1,\n\t// \t'home_team_score_overtime': null,\n\t// \t'away_team_score_overtime': null,\n\t// \t'home_team_score_penalties': null,\n\t// \t'away_team_score_penalties': null,\n\t// \t'open_for_live': 1,\n\t// \t'has_scoring': true,\n\t// \t'rounds': [\n\t// \t\t{\n\t// \t\t\t'round': 1,\n\t// \t\t\t'home_team_score': 6,\n\t// \t\t\t'away_team_score': 7,\n\t// \t\t\t'created_at': 1631821535,\n\t// \t\t\t'games': [\n\t// \t\t\t\t// {\n\t// \t\t\t\t// \t'game': 1,\n\t// \t\t\t\t// \t'home_team_point': '40',\n\t// \t\t\t\t// \t'away_team_point': 'A'\n\t// \t\t\t\t// },\n\t// \t\t\t\t// {\n\t// \t\t\t\t// \t'game': 2,\n\t// \t\t\t\t// \t'home_team_point': '40',\n\t// \t\t\t\t// \t'away_team_point': '15'\n\t// \t\t\t\t// },\n\t// \t\t\t\t// {\n\t// \t\t\t\t// \t'game': 3,\n\t// \t\t\t\t// \t'home_team_point': '15',\n\t// \t\t\t\t// \t'away_team_point': '40'\n\t// \t\t\t\t// },\n\t// \t\t\t\t// {\n\t// \t\t\t\t// \t'game': 4,\n\t// \t\t\t\t// \t'home_team_point': '40',\n\t// \t\t\t\t// \t'away_team_point': '15'\n\t// \t\t\t\t// },\n\t// \t\t\t\t// {\n\t// \t\t\t\t// \t'game': 5,\n\t// \t\t\t\t// \t'home_team_point': '40',\n\t// \t\t\t\t// \t'away_team_point': 'A'\n\t// \t\t\t\t// },\n\t// \t\t\t\t// {\n\t// \t\t\t\t// \t'game': 6,\n\t// \t\t\t\t// \t'home_team_point': '40',\n\t// \t\t\t\t// \t'away_team_point': '15'\n\t// \t\t\t\t// },\n\t// \t\t\t\t// {\n\t// \t\t\t\t// \t'game': 7,\n\t// \t\t\t\t// \t'home_team_point': '15',\n\t// \t\t\t\t// \t'away_team_point': '40'\n\t// \t\t\t\t// },\n\t// \t\t\t\t// {\n\t// \t\t\t\t// \t'game': 8,\n\t// \t\t\t\t// \t'home_team_point': '40',\n\t// \t\t\t\t// \t'away_team_point': '15'\n\t// \t\t\t\t// },\n\t// \t\t\t\t// {\n\t// \t\t\t\t// \t'game': 9,\n\t// \t\t\t\t// \t'home_team_point': '30',\n\t// \t\t\t\t// \t'away_team_point': '40'\n\t// \t\t\t\t// },\n\t// \t\t\t\t// {\n\t// \t\t\t\t// \t'game': 10,\n\t// \t\t\t\t// \t'home_team_point': '40',\n\t// \t\t\t\t// \t'away_team_point': '0'\n\t// \t\t\t\t// },\n\t// \t\t\t\t// {\n\t// \t\t\t\t// \t'game': 11,\n\t// \t\t\t\t// \t'home_team_point': 'A',\n\t// \t\t\t\t// \t'away_team_point': '40'\n\t// \t\t\t\t// },\n\t// \t\t\t\t// {\n\t// \t\t\t\t// \t'game': 12,\n\t// \t\t\t\t// \t'home_team_point': '40',\n\t// \t\t\t\t// \t'away_team_point': 'A'\n\t// \t\t\t\t// },\n\t// \t\t\t\t// {\n\t// \t\t\t\t// \t'game': 13,\n\t// \t\t\t\t// \t'home_team_point': '3',\n\t// \t\t\t\t// \t'away_team_point': '7'\n\t// \t\t\t\t// }\n\t// \t\t\t]\n\t// \t\t},\n\t// \t\t{\n\t// \t\t\t'round': 2,\n\t// \t\t\t'home_team_score': 0,\n\t// \t\t\t'away_team_score': 0,\n\t// \t\t\t'created_at': 1631824974,\n\t// \t\t\t'games': [\n\t// \t\t\t\t// {\n\t// \t\t\t\t// \t'game': 1,\n\t// \t\t\t\t// \t'home_team_point': '40',\n\t// \t\t\t\t// \t'away_team_point': '15'\n\t// \t\t\t\t// }\n\t// \t\t\t]\n\t// \t\t}\n\t// \t]\n\t// };\n\n\treturn (\n\t\t\n\t\t\t{isTrueOrZero(score?.home_team_score) &&\n\t\t\tisTrueOrZero(score?.away_team_score) ? (\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t
\n\t\t\t\t\t{params?.horizontal ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t\t-{' '}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t,\n\t\t\t\t\t\t\t\t,\n\t\t\t\t\t\t\t]}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t
\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport { MatchScoreHandler };\n","import { useContext, useEffect, useState } from 'react';\nimport { Loadable } from '@legacyApp/client/components/loader/loadable/loadable';\nimport {\n\tAMERICAN_FOOTBALL_ID,\n\tAUSSIE_RULES_ID,\n\tBADMINTON_ID,\n\tBANDY_ID,\n\tBASEBALL_ID,\n\tBASKETBALL_ID,\n\tBEACH_VOLLEYBALL_ID,\n\tBOXING_ID,\n\tCRICKET_ID,\n\tDARTS_ID,\n\tESPORTS_ID,\n\tFIELD_HOCKEY_ID,\n\tFLOORBALL_ID,\n\tFOOTBALL_ID,\n\tFUTSAL_ID,\n\tHANDBALL_ID,\n\tICE_HOCKEY_ID,\n\tMMA_ID,\n\tNETBALL_ID,\n\tRUGBY_ID,\n\tSNOOKER_ID,\n\tTABLE_TENNIS_ID,\n\tTENNIS_ID,\n\tVOLLEYBALL_ID,\n\tWATERPOLO_ID,\n} from '../constants/sports';\nimport { ScoreContext } from '../context/ScoreContext';\nimport { ScoreRoundsProps } from '../components/Match/MatchScore/types/ScoreRounds';\nimport { ScoreParamsType } from '../types/Match/ScoreParamsType';\n\nconst simpleComponent = Loadable(\n\t{ loader: () => import('../components/Match/MatchScore/types/ScoreSimple') },\n\tundefined,\n\tundefined,\n\ttrue,\n);\n\nconst ScoreComponents = [\n\t{\n\t\tids: [MMA_ID, BOXING_ID],\n\t\tsimple: {\n\t\t\tComponent: () => null,\n\t\t},\n\t\textended: {\n\t\t\tComponent: () => null,\n\t\t},\n\t},\n\t{\n\t\tids: [\n\t\t\tFOOTBALL_ID, // overtime with halves and penalties\n\t\t\tHANDBALL_ID, // overtime with halves and penalties\n\t\t\tRUGBY_ID, // overtime with halves (golden point only rugby league, golden point on second half rugby union) and penalties\n\t\t\tFUTSAL_ID, // overtime with halves and penalties\n\t\t\tFIELD_HOCKEY_ID,\n\t\t],\n\t\textended: {\n\t\t\tComponent: Loadable(\n\t\t\t\t{\n\t\t\t\t\tloader: () =>\n\t\t\t\t\t\timport('../components/Match/MatchScore/types/ScoreHalf'),\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\tundefined,\n\t\t\t\ttrue,\n\t\t\t),\n\t\t},\n\t},\n\t{\n\t\tids: [\n\t\t\tBASKETBALL_ID, // overtime 5 min periods until the winner - [1Q, 2Q, 3Q, 4Q, ...overtime]\n\t\t\tAMERICAN_FOOTBALL_ID, // [1Q, 2Q, 3Q, 4Q, overtime]\n\t\t\tAUSSIE_RULES_ID, // [1Q, 2Q, 3Q, 4Q, overtime]\n\t\t\tNETBALL_ID,\n\t\t],\n\t\textended: {\n\t\t\tComponent: Loadable(\n\t\t\t\t{\n\t\t\t\t\tloader: () =>\n\t\t\t\t\t\timport('../components/Match/MatchScore/types/ScoreRounds'),\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\tundefined,\n\t\t\t\ttrue,\n\t\t\t),\n\t\t\tprops: {\n\t\t\t\troundsCount: 4,\n\t\t\t\troundsLabels: ['1Q', '2Q', '3Q', '4Q'],\n\t\t\t\tisSummary: true,\n\t\t\t} as ScoreRoundsProps,\n\t\t},\n\t},\n\t{\n\t\tids: [\n\t\t\tICE_HOCKEY_ID, // 1 overtime (golden point) and penalties - [1st, 2nd, 3rd, overtime, penalty],\n\t\t],\n\t\textended: {\n\t\t\tComponent: Loadable(\n\t\t\t\t{\n\t\t\t\t\tloader: () =>\n\t\t\t\t\t\timport('../components/Match/MatchScore/types/ScoreRounds'),\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\tundefined,\n\t\t\t\ttrue,\n\t\t\t),\n\t\t\tprops: {\n\t\t\t\troundsCount: 3,\n\t\t\t\troundsLabels: ['1st', '2nd', '3rd'],\n\t\t\t\tisSummary: true,\n\t\t\t} as ScoreRoundsProps,\n\t\t},\n\t},\n\t{\n\t\tids: [ESPORTS_ID],\n\t\textended: {\n\t\t\tComponent: Loadable(\n\t\t\t\t{\n\t\t\t\t\tloader: () =>\n\t\t\t\t\t\timport(\n\t\t\t\t\t\t\t'../components/Match/MatchScore/types/ScoreRoundsConditional'\n\t\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\tundefined,\n\t\t\t\ttrue,\n\t\t\t),\n\t\t\tprops: {\n\t\t\t\troundsCount: 1,\n\t\t\t\troundsLabels: ['M1', 'M2', 'M3', 'M4', 'M5'],\n\t\t\t},\n\t\t},\n\t},\n\t{\n\t\tids: [\n\t\t\tWATERPOLO_ID, // [1st, 2nd, 3rd, 4th, overtime, penalty]\n\t\t\tFLOORBALL_ID, // [1st, 2nd, 3rd, 4th, overtime, penalty]\n\t\t],\n\t\textended: {\n\t\t\tComponent: Loadable(\n\t\t\t\t{\n\t\t\t\t\tloader: () =>\n\t\t\t\t\t\timport('../components/Match/MatchScore/types/ScoreRounds'),\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\tundefined,\n\t\t\t\ttrue,\n\t\t\t),\n\t\t\tprops: {\n\t\t\t\troundsCount: 4,\n\t\t\t\troundsLabels: ['1st', '2nd', '3rd', '4th'],\n\t\t\t\tisSummary: true,\n\t\t\t} as ScoreRoundsProps,\n\t\t},\n\t},\n\t{\n\t\tids: [\n\t\t\tBASEBALL_ID, // 9 innings that could be extended until the winner - [1, 2, 3, 4, 5, 6, 7, 8, 9]\n\t\t],\n\t\textended: {\n\t\t\tComponent: Loadable(\n\t\t\t\t{\n\t\t\t\t\tloader: () =>\n\t\t\t\t\t\timport('../components/Match/MatchScore/types/ScoreRounds'),\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\tundefined,\n\t\t\t\ttrue,\n\t\t\t),\n\t\t\tprops: {\n\t\t\t\troundsCount: 9,\n\t\t\t\troundsLabels: [\n\t\t\t\t\t'1st',\n\t\t\t\t\t'2nd',\n\t\t\t\t\t'3rd',\n\t\t\t\t\t'4th',\n\t\t\t\t\t'5th',\n\t\t\t\t\t'6th',\n\t\t\t\t\t'7th',\n\t\t\t\t\t'8th',\n\t\t\t\t\t'9th',\n\t\t\t\t\t'10th',\n\t\t\t\t\t'11th',\n\t\t\t\t\t'12th',\n\t\t\t\t\t'13th',\n\t\t\t\t],\n\t\t\t\tisSummary: true,\n\t\t\t} as ScoreRoundsProps,\n\t\t},\n\t},\n\t{\n\t\tids: [CRICKET_ID, SNOOKER_ID, BANDY_ID, BEACH_VOLLEYBALL_ID, DARTS_ID],\n\t},\n\t{\n\t\tids: [\n\t\t\tTENNIS_ID, // sets with offer and tiebreaks\n\t\t],\n\t\tsimple: {\n\t\t\tComponent: Loadable(\n\t\t\t\t{\n\t\t\t\t\tloader: () =>\n\t\t\t\t\t\timport('../components/Match/MatchScore/types/ScoreSimpleSets'),\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\tundefined,\n\t\t\t\ttrue,\n\t\t\t),\n\t\t},\n\t\textended: {\n\t\t\tComponent: Loadable(\n\t\t\t\t{\n\t\t\t\t\tloader: () =>\n\t\t\t\t\t\timport('../components/Match/MatchScore/types/ScoreSets'),\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\tundefined,\n\t\t\t\ttrue,\n\t\t\t),\n\t\t},\n\t},\n\t{\n\t\tids: [\n\t\t\tTABLE_TENNIS_ID, // sets with offer and tiebreaks\n\t\t],\n\t\tsimple: {\n\t\t\tComponent: Loadable(\n\t\t\t\t{\n\t\t\t\t\tloader: () =>\n\t\t\t\t\t\timport('../components/Match/MatchScore/types/ScoreSimpleSets'),\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\tundefined,\n\t\t\t\ttrue,\n\t\t\t),\n\t\t\tprops: {\n\t\t\t\tcolumns: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: '',\n\t\t\t\t\t\tid: 'games',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: '',\n\t\t\t\t\t\tid: 'sets',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\textended: {\n\t\t\tComponent: Loadable(\n\t\t\t\t{\n\t\t\t\t\tloader: () =>\n\t\t\t\t\t\timport('../components/Match/MatchScore/types/ScoreSets'),\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\tundefined,\n\t\t\t\ttrue,\n\t\t\t),\n\t\t\tprops: {\n\t\t\t\troundsLabels: ['G1', 'G2', 'G3', 'G4', 'G5'],\n\t\t\t},\n\t\t},\n\t},\n\t{\n\t\tids: [\n\t\t\tVOLLEYBALL_ID, // 5 extended sets\n\t\t\tBADMINTON_ID, // 3 extended sets\n\t\t],\n\t\tsimple: {\n\t\t\tComponent: Loadable(\n\t\t\t\t{\n\t\t\t\t\tloader: () =>\n\t\t\t\t\t\timport('../components/Match/MatchScore/types/ScoreSimpleSets'),\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\tundefined,\n\t\t\t\ttrue,\n\t\t\t),\n\t\t\tprops: {\n\t\t\t\tcolumns: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: '',\n\t\t\t\t\t\tid: 'games',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: '',\n\t\t\t\t\t\tid: 'sets',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\textended: {\n\t\t\tComponent: Loadable(\n\t\t\t\t{\n\t\t\t\t\tloader: () =>\n\t\t\t\t\t\timport('../components/Match/MatchScore/types/ScoreSets'),\n\t\t\t\t},\n\t\t\t\tundefined,\n\t\t\t\tundefined,\n\t\t\t\ttrue,\n\t\t\t),\n\t\t},\n\t},\n] as const;\n\nconst getData = ({\n\tparams,\n\tsportId,\n}: {\n\tparams: ScoreParamsType;\n\tsportId: number;\n}) => {\n\tconst data = ScoreComponents.find((el) =>\n\t\tel.ids.some((el) => el === sportId),\n\t);\n\tconst type = `${params?.extended ? 'extended' : 'simple'}`;\n\t// console.log('useScoreComponent', {\n\t// \ttype,\n\t// \tdata,\n\t// \tsportId,\n\t// \tparams,\n\t// });\n\tif (!data || data[type] === null) {\n\t\treturn null;\n\t}\n\treturn data[type] || { Component: simpleComponent };\n};\n\nexport const useScoreComponent = ({ sportId }: { sportId: number }) => {\n\tconst { params } = useContext(ScoreContext);\n\n\tconst [data, setData] = useState(null);\n\n\tuseEffect(() => {\n\t\tsetData(getData({ params, sportId }));\n\t}, [sportId]);\n\n\treturn {\n\t\tdata,\n\t};\n};\n","import { FunctionComponent, useContext } from 'react';\nimport styled from 'styled-components';\nimport { DeveloperData } from '@common/components/default/DeveloperData/DeveloperData';\nimport { fontSize } from '@legacyApp/client/modules/style/mixins/fontSize';\nimport { useScoreComponent } from '../../../hooks/useScoreComponent';\nimport { SportContext } from '../../../context/SportContext';\nimport { MatchContext } from '../../../context/MatchContext';\n\nconst ScoreWrapper: FunctionComponent = () => {\n\tconst { id } = useContext(SportContext);\n\n\tconst { match } = useContext(MatchContext);\n\n\tconst { data } = useScoreComponent({ sportId: id || match?.sport?.id });\n\n\tconst { Component, props } = data || {};\n\n\t// console.log('ScoreWrapper', {Component, props, id, match});\n\n\treturn (\n\t\t\n\t\t\t{Component ? (\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport const StyledMatchScoreWrapper = styled.div`\n\tfont-family: ${(props) => props.theme.text.fonts.Black};\n\t${fontSize({ size: '12px', sizeDesktop: '14px', sizeBigScreen: '16px' })};\n`;\n\nexport { ScoreWrapper };\n","import { FunctionComponent, useContext } from 'react';\nimport styled from 'styled-components';\nimport { enhanceComponent } from '@legacyApp/client/wrappers/enhanceComponent';\nimport { ColumnLayout } from '@common/components/layout/ColumnLayout/ColumnLayout';\nimport { ScoreContext } from '../../../../context/ScoreContext';\n\nconst ScoreSimple: FunctionComponent = () => {\n\tconst { score, params } = useContext(ScoreContext);\n\t// if (params?.horizontal) console.log('ScoreSimple', {\n\t// \tscore,\n\t// \tparams,\n\t// });\n\n\tif (params?.horizontal) {\n\t\treturn (\n\t\t\t\n\t\t\t\t{score?.home_team_score} - {score?.away_team_score}\n\t\t\t\n\t\t);\n\t}\n\n\treturn (\n\t\t{score?.home_team_score},\n\t\t\t\t{score?.away_team_score},\n\t\t\t]}\n\t\t/>\n\t);\n};\n\nexport const StyledScoreSimpleHorizontal = styled.div`\n\talign-items: center;\n\tdisplay: flex;\n\tflex-wrap: nowrap;\n\tjustify-content: center;\n\tpadding: 0 0.5rem;\n\twidth: auto;\n\n\t> span {\n\t\tcolor: ${(props) => props.theme.colors.active};\n\t\tpadding: 0 0.3rem;\n\t}\n\n\t> svg {\n\t\theight: 20px;\n\t}\n`;\n\nexport default enhanceComponent({ ScoreSimple });\n","export const NO_ODDS_ACCEPT = 0;\nexport const ONLY_HIGHER_ACCEPT = 1;\nexport const ALL_ACCEPT = 2;\n","export const FOOTBALL_ID = 1;\nexport const TENNIS_ID = 2;\nexport const BASKETBALL_ID = 3;\nexport const ICE_HOCKEY_ID = 4;\nexport const VOLLEYBALL_ID = 5;\nexport const TABLE_TENNIS_ID = 6;\nexport const HANDBALL_ID = 7;\nexport const BASEBALL_ID = 8;\nexport const BADMINTON_ID = 9;\nexport const RUGBY_ID = 10;\nexport const CRICKET_ID = 11;\nexport const AMERICAN_FOOTBALL_ID = 12;\nexport const FUTSAL_ID = 13;\nexport const WATERPOLO_ID = 14;\nexport const SNOOKER_ID = 15;\nexport const FLOORBALL_ID = 16;\nexport const BANDY_ID = 17;\nexport const BEACH_VOLLEYBALL_ID = 18;\nexport const DARTS_ID = 19;\nexport const AUSSIE_RULES_ID = 20;\nexport const BOXING_ID = 21;\nexport const MMA_ID = 22;\nexport const NETBALL_ID = 23;\nexport const FIELD_HOCKEY_ID = 24;\nexport const ESPORTS_ID = 25;\n\nexport const SPORTS = {\n\tfootball: FOOTBALL_ID,\n\ttennis: TENNIS_ID,\n\tbasketball: BASKETBALL_ID,\n\t'ice-hockey': ICE_HOCKEY_ID,\n\tvolleyball: VOLLEYBALL_ID,\n\t'table-tennis': TABLE_TENNIS_ID,\n\thandball: HANDBALL_ID,\n\tbaseball: BASEBALL_ID,\n\tbadminton: BADMINTON_ID,\n\trugby: RUGBY_ID,\n\tcricket: CRICKET_ID,\n\t'american-football': AMERICAN_FOOTBALL_ID,\n\tfutsal: FUTSAL_ID,\n\twaterpolo: WATERPOLO_ID,\n\tsnooker: SNOOKER_ID,\n\tfloorball: FLOORBALL_ID,\n\tbandy: BANDY_ID,\n\t'beach-volley': BEACH_VOLLEYBALL_ID,\n\tdarts: DARTS_ID,\n\t'aussie-rules': AUSSIE_RULES_ID,\n\tboxing: BOXING_ID,\n\tmma: MMA_ID,\n\tnetball: NETBALL_ID,\n\t'field-hockey': FIELD_HOCKEY_ID,\n\tesports: ESPORTS_ID,\n};\n","import { NEXT_CONFIG } from '@common/constants/config/nextConfig';\nimport { minute, second } from '@legacyApp/client/modules/app/time';\n\nconst DISABLE_INTERVALS = NEXT_CONFIG.DEV;\nconst checkInterval = (interval) => (DISABLE_INTERVALS ? null : interval);\n\nexport const LIVE_INTERVAL = checkInterval(3 * second);\n// export const UPCOMING_INTERVAL = checkInterval(5 * second);\n\nexport const ALL_TOURNAMENTS_LIST_INTERVAL = checkInterval(5 * minute);\nexport const FEATURED_TOURNAMENTS_LIST_INTERVAL = checkInterval(5 * minute);\n\n// score and odds data\nexport const EVENTS_DATA_INTERVAL = LIVE_INTERVAL;\n\n// betslip history\nexport const BETSLIP_HISTORY_INTERVAL = checkInterval(30 * second);\n\n// MAIN PAGE\n// sports list\nexport const SPORTS_LIST_MENU_INTERVAL = checkInterval(5 * minute);\n// top cards\nexport const MAIN_PAGE_LIVE_EVENTS_CARDS_INTERVAL = checkInterval(minute);\nexport const MAIN_PAGE_PREMATCH_EVENTS_CARDS_INTERVAL = checkInterval(minute);\n// live highlights\nexport const MAIN_PAGE_LIVE_SPORTS_LIVE_HIGHLIGHTS_INTERVAL =\n\tcheckInterval(minute);\nexport const MAIN_PAGE_LIVE_EVETNS_LIVE_HIGHLIGHTS_INTERVAL =\n\tcheckInterval(minute);\n// trending\nexport const MAIN_PAGE_PREMATCH_SPORTS_TRENDING_INTERVAL = checkInterval(\n\t3 * minute,\n);\nexport const MAIN_PAGE_PREMATCH_EVETNS_TRENDING_INTERVAL =\n\tcheckInterval(minute);\n\n// LIVE PAGE\n// events list\nexport const LIVE_PAGE_EVENTS_TABLE_INTERVAL = checkInterval(5 * second);\nexport const LIVE_PAGE_SPORTS_TABLE_INTERVAL = checkInterval(10 * second);\n\n// SPORT PAGE\n// events list\nexport const SPORT_PAGE_LIVE_EVENTS_TABLE_INTERVAL = checkInterval(minute);\nexport const SPORT_PAGE_PREMATCH_EVETNS_TABLE_INTERVAL = checkInterval(minute);\n\n// TOURNAMENT PAGE\n// events list\nexport const TOURNAMENT_PAGE_LIVE_EVENTS_TABLE_INTERVAL = checkInterval(minute);\nexport const TOURNAMENT_PAGE_PREMATCH_EVETNS_TABLE_INTERVAL =\n\tcheckInterval(minute);\n\n// TEAM PAGE\n// events list\nexport const TEAM_PAGE_LIVE_EVENTS_TABLE_INTERVAL = checkInterval(minute);\nexport const TEAM_PAGE_PREMATCH_EVETNS_TABLE_INTERVAL = checkInterval(minute);\n\n// EVENT PAGE\nexport const EVENT_PAGE_LIVE_OFFERS_INTERVAL = checkInterval(5 * second);\nexport const EVENT_PAGE_UPCOMING_OFFERS_INTERVAL = checkInterval(15 * second);\n","import { createContext } from 'react';\nimport { UseBetSlipHistoryGetListType } from '../hooks/useBetSlipHistory';\n\nexport interface BetSlipHistoryContextType {\n\tgetList?: UseBetSlipHistoryGetListType;\n}\n\nexport const BetSlipHistoryContext = createContext({\n\tgetList: null,\n});\n","import { createContext } from 'react';\nimport { MatchType } from '../types/Match/MatchType';\n\nexport const MatchContext = createContext<{\n\tmatch: MatchType;\n\tvisible?: boolean;\n}>({\n\tmatch: null,\n\tvisible: true,\n});\n","import { createContext } from 'react';\nimport {\n\tMatchOddsNameData,\n\tMatchOddsNameParse,\n} from '../components/Match/MatchOdds/MatchOddsName';\n\nexport type OddsNameContextParseData = (\n\tdata: MatchOddsNameData,\n) => MatchOddsNameData;\n\nexport interface OddsNameContextType {\n\tparse?: MatchOddsNameParse;\n\tparseData?: OddsNameContextParseData;\n}\n\nexport const OddsNameContext = createContext({\n\tparse: null,\n\tparseData: null,\n});\n","import { createContext } from 'react';\nimport { ScoreType } from '../types/Match/ScoreType';\nimport { ScoreParamsType } from '../types/Match/ScoreParamsType';\n\nexport const ScoreContext = createContext<{\n\tscore: ScoreType;\n\tparams?: ScoreParamsType;\n}>({\n\tscore: null,\n\tparams: null,\n});\n","import { createContext } from 'react';\nimport { SportContextType } from '../types/Sport/SportContextType';\n\nexport const SportContext = createContext({\n\tid: null,\n\tslug: null,\n\tname: null,\n});\n","import { createContext } from 'react';\nimport { SportbookListContextType } from '../types/SportbookListContextType';\n\nexport const SportsbookListContext = createContext({\n\tid: null,\n});\n","import { useEffect, useState } from 'react';\nimport { roundNumber } from '@common/methods/roundNumber/roundNumber';\nimport { getBetSlipEventsTotalOdds } from '../methods/getBetSlipEventsTotalOdds';\nimport { BetSlipDetailsType } from '../types/BetSlipDetails/BetSlipDetailsType';\n\nexport const useBetSlipTotalOddsAndProfit = (data: BetSlipDetailsType) => {\n\tconst { betslip_events, amount, profit, total_odds } = data;\n\n\tconst [totalOdds, setTotalOdds] = useState(total_odds || 0);\n\tconst [estimatedProfit, setEstimatedProfit] = useState(Number(profit) || 0);\n\n\tuseEffect(() => {\n\t\tconst odds = total_odds\n\t\t\t? total_odds\n\t\t\t: getBetSlipEventsTotalOdds(betslip_events);\n\t\tsetTotalOdds(odds);\n\t\tif (profit === null) {\n\t\t\tsetEstimatedProfit(roundNumber((odds - 1) * parseFloat(amount)));\n\t\t}\n\t}, [betslip_events, amount, profit, totalOdds, total_odds]);\n\n\t// console.log('useBetSlipTotalOddsAndProfit', { data, totalOdds, estimatedProfit });\n\n\treturn {\n\t\ttotalOdds,\n\t\tprofit: estimatedProfit,\n\t};\n};\n","import { BetSlipDetailsEventType } from '../types/BetSlipDetails/BetSlipDetailsEventType';\n\nexport const getBetSlipEventsTotalOdds = (\n\tbetslip_events: BetSlipDetailsEventType[],\n) => {\n\treturn betslip_events?.length\n\t\t? betslip_events.reduce((a: number, b) => a * b.decimal_odds, 1)\n\t\t: 1;\n};\n","import { useAppSelector } from '@legacyApp/hooks/store/useAppSelector';\nimport { BetSlipBet, BetSlipErrorType } from '../types/BetSlip/BetSlipBet';\nimport { useSportsBetSlipType } from '../store/selectors/sportsBetSlip.selectors';\n\nexport const checkBetSlipError = (\n\terror: BetSlipErrorType,\n\tnotBoolean?: boolean,\n) => {\n\treturn error\n\t\t? !!Object.keys(error).filter(\n\t\t\t\t(key) =>\n\t\t\t\t\t!!error[key] && (notBoolean ? typeof error[key] !== 'boolean' : true),\n\t\t ).length\n\t\t: false;\n};\n\nexport const useCheckOnlyBetError = ({ bet }: { bet?: BetSlipBet }) => {\n\tconst type = useSportsBetSlipType();\n\n\tconst { stake, profit, ...betError } = bet?.error || {};\n\n\treturn checkBetSlipError(type.id === 'multi' ? betError : bet?.error, true);\n};\n\nexport const useCheckBetError = ({ bet }: { bet?: BetSlipBet }) => {\n\tconst { type, error } = useAppSelector((state) => state.sportsBetSlip);\n\n\tconst { stake, ...betError } = bet?.error || {};\n\n\treturn checkBetSlipError(\n\t\ttype.id === 'multi' ? error?.message || betError : bet?.error,\n\t\ttrue,\n\t);\n};\n","import queryString from 'querystring';\nimport { fetchApi } from '@legacyApp/client/store/fetch/fetch.thunk';\nimport { getSportsApiUrl } from '@legacyApp/client/modules/app/sportsService';\nimport { AppThunk } from '@legacyApp/types/store/ThunkAction';\nimport { loop } from '@legacyApp/client/modules/app/appService';\nimport { EVENTS_DATA_INTERVAL } from '../../constants/updateIntervals';\nimport {\n\tEventsDataElementId,\n\tEventsDataType,\n\tEventsDataTypes,\n\tEventsEventIdType,\n\tsportsEventsDataAddId,\n\tsportsEventsDataLoading,\n\tsportsEventsDataUpdateData,\n} from './sportsEventsData.actions';\n\nlet timeout = null;\nlet initTimeout = null;\n\nexport const sportsEventsDataAdd = (\n\tdataType: EventsDataType,\n\teventId: EventsEventIdType,\n\telementId: EventsDataElementId,\n): AppThunk => {\n\treturn (dispatch) => {\n\t\tdispatch(sportsInitEventsDataUpdate());\n\t\tdispatch(sportsEventsDataAddId({ dataType, eventId, elementId }));\n\t};\n};\n\nexport const sportsInitEventsDataUpdate = (repeat?: boolean): AppThunk => {\n\treturn (dispatch) => {\n\t\tif (initTimeout) {\n\t\t\tclearTimeout(initTimeout);\n\t\t}\n\t\tinitTimeout = setTimeout(() => {\n\t\t\t// console.log('sportsInitEventsDataUpdate', {repeat});\n\t\t\tif (!repeat) {\n\t\t\t\tdispatch(updateEventsData());\n\t\t\t}\n\t\t\tif (timeout) {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t}\n\t\t\tif (EVENTS_DATA_INTERVAL) {\n\t\t\t\ttimeout = setTimeout(() => {\n\t\t\t\t\tdispatch(updateEventsData());\n\t\t\t\t}, EVENTS_DATA_INTERVAL);\n\t\t\t}\n\t\t}, 50);\n\t};\n};\n\nconst _getIds = (state, dataType) => {\n\tconst ids = state.sportsEventsData?.ids[dataType];\n\tconst idsData = {};\n\tObject.keys(ids || {}).forEach((key) => {\n\t\tconst [id, type] = key.split('__');\n\t\tidsData[type || 'events'] ??= [];\n\t\tidsData[type || 'events'].push(id);\n\t});\n\treturn idsData;\n};\n\nconst _getDataTypes = (state) => {\n\tconst dataTypes = Object.keys(\n\t\tstate.sportsEventsData?.ids || {},\n\t) as EventsDataType[];\n\t// console.log('updateEventsData', {dataTypes});\n\tif (!dataTypes.length) {\n\t\treturn false;\n\t}\n\tconst isData = dataTypes.some((dataType) => {\n\t\tconst idsData = _getIds(state, dataType);\n\t\treturn Object.keys(idsData).some((type) => idsData[type].length);\n\t});\n\treturn isData ? dataTypes : false;\n};\n\nconst _parseDataTypeToApiUrlType = (dataType: EventsDataType) => {\n\tif (dataType === 'score') {\n\t\treturn 'results';\n\t}\n\treturn dataType;\n};\n\nexport const updateEventsData = (): AppThunk => {\n\treturn (dispatch, getState) => {\n\t\tconst state = getState();\n\t\t// if (state.sportsEventsData?.loading) return;\n\t\tdispatch(sportsEventsDataLoading(true));\n\t\tconst dataTypes = _getDataTypes(state);\n\t\tif (!dataTypes) {\n\t\t\treturn dispatch(sportsEventsDataLoading(false));\n\t\t}\n\t\tloop(dataTypes, (dataType: keyof EventsDataTypes) => {\n\t\t\tconst idsData = _getIds(state, dataType);\n\t\t\treturn loop(Object.keys(idsData), (type: string) => {\n\t\t\t\t// console.log('updateEventsData', dataType, type, idsData[type]);\n\t\t\t\tif (!idsData[type].length) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst data = {};\n\t\t\t\tidsData[type].forEach(\n\t\t\t\t\t(id) =>\n\t\t\t\t\t\t(data[`${id}__${type}`] = { id, state: 'missing', outcomes: [] }),\n\t\t\t\t);\n\t\t\t\treturn dispatch(\n\t\t\t\t\tfetchApi({\n\t\t\t\t\t\turl: getSportsApiUrl(\n\t\t\t\t\t\t\t`/${_parseDataTypeToApiUrlType(\n\t\t\t\t\t\t\t\tdataType,\n\t\t\t\t\t\t\t)}/${type}?${queryString.stringify({ 'id[]': idsData[type] })}`,\n\t\t\t\t\t\t),\n\t\t\t\t\t\tloaderId: `getEventsData_${dataType}_${type}`,\n\t\t\t\t\t\t// fromState: EVENTS_DATA_INTERVAL / 2,\n\t\t\t\t\t}),\n\t\t\t\t).then((response) => {\n\t\t\t\t\tif (!response) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (response?.data?.length) {\n\t\t\t\t\t\tresponse.data.forEach((el) => {\n\t\t\t\t\t\t\tdata[`${el.id}__${type}`] = el;\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tdispatch(\n\t\t\t\t\t\tsportsEventsDataUpdateData({\n\t\t\t\t\t\t\tdataType,\n\t\t\t\t\t\t\tdata,\n\t\t\t\t\t\t}),\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t});\n\t\t}).then(() => {\n\t\t\tdispatch(sportsEventsDataLoading(false));\n\t\t\tdispatch(sportsInitEventsDataUpdate(true));\n\t\t});\n\t};\n};\n","import { useContext, useEffect, useState } from 'react';\nimport { useAppDispatch } from '@legacyApp/hooks/store/useAppDispatch';\nimport { useAppSelector } from '@legacyApp/hooks/store/useAppSelector';\nimport { usePrevious } from '@legacyApp/hooks/render/usePrevious';\nimport { useOnMount } from '@common/hooks/useOnMount';\nimport { sportsEventsDataAdd } from '../store/sportsEventsData/sportsEventsData.thunk';\nimport {\n\tEventsDataElementId,\n\tEventsDataTypes,\n\tsportsEventsDataElementRemoved,\n\tsportsEventsDataRemoveId,\n} from '../store/sportsEventsData/sportsEventsData.actions';\nimport { MatchOfferType } from '../types/Match/OfferType';\nimport { ScoreType } from '../types/Match/ScoreType';\nimport { SportsbookListContext } from '../context/SportsbookListContext';\n\nexport type EventsDataIdTypesType = 'events' | 'offers';\n\nexport type DataType = MatchOfferType | ScoreType;\n\nexport function useEventData(\n\tid: number,\n\telementId: EventsDataElementId,\n\tdataType: T,\n\ttype?: EventsDataIdTypesType,\n\tinitial?: EventsDataTypes[T],\n): {\n\tdata: EventsDataTypes[T];\n\tsetActive: (val: boolean) => void;\n} {\n\tconst key = `${id}__${type || 'events'}`;\n\n\tconst listData = useContext(SportsbookListContext);\n\n\tconst dataId = listData?.id || elementId;\n\n\tconst [active, setActive] = useState(false);\n\tconst dispatch = useAppDispatch();\n\n\tconst prevKey = usePrevious(key);\n\tconst prevDataId = usePrevious(dataId);\n\tconst prevDataType = usePrevious(dataType);\n\n\tconst ids = useAppSelector(\n\t\t(state) => state.sportsEventsData?.ids?.[dataType],\n\t);\n\tconst data = useAppSelector(\n\t\t(state) => state.sportsEventsData?.data?.[dataType]?.[key],\n\t) as EventsDataTypes[T];\n\n\tconst isSportsActive = useAppSelector((state) => !!state.sportsEventsData);\n\n\tuseEffect(() => {\n\t\t// console.log('useEventData - active toggled', active, {\n\t\t// \tactive,\n\t\t// \tdata,\n\t\t// initial,\n\t\t// \tids,\n\t\t// \tid,\n\t\t// \tkey,\n\t\t// \telementId,\n\t\t// \tlistData,\n\t\t// \tdataType,\n\t\t// \ttype,\n\t\t// });\n\n\t\tif (!isSportsActive) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (active) {\n\t\t\tdispatch(sportsEventsDataAdd(dataType, key, dataId));\n\t\t}\n\t\tif (!active && ids?.[key]?.length) {\n\t\t\tdispatch(\n\t\t\t\tsportsEventsDataRemoveId({ dataType, eventId: key, elementId: dataId }),\n\t\t\t);\n\t\t}\n\t\tif (prevDataId !== dataId || prevKey !== key || prevDataType !== dataType) {\n\t\t\tdispatch(\n\t\t\t\tsportsEventsDataRemoveId({\n\t\t\t\t\tdataType: prevDataType,\n\t\t\t\t\teventId: prevKey,\n\t\t\t\t\telementId: prevDataId,\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\t}, [\n\t\tisSportsActive,\n\t\tactive,\n\t\tkey,\n\t\tdataType,\n\t\tdispatch,\n\t\telementId,\n\t\tids,\n\t\tlistData.id,\n\t\tprevDataId,\n\t\tdataId,\n\t\tprevKey,\n\t\tprevDataType,\n\t]);\n\n\tuseOnMount(() => {\n\t\treturn () => {\n\t\t\t// console.log('useEventData - unmount', active, {\n\t\t\t// \tactive,\n\t\t\t// \tdata,\n\t\t\t// \tinitial,\n\t\t\t// \tlistData,\n\t\t\t// \tids,\n\t\t\t// \tid,\n\t\t\t// \tkey,\n\t\t\t// \telementId,\n\t\t\t// \tdataType,\n\t\t\t// \ttype,\n\t\t\t// });\n\t\t\tdispatch(\n\t\t\t\tsportsEventsDataElementRemoved({\n\t\t\t\t\tdataType,\n\t\t\t\t\teventId: key,\n\t\t\t\t\telementId: dataId,\n\t\t\t\t}),\n\t\t\t);\n\t\t};\n\t});\n\n\treturn {\n\t\tdata: {\n\t\t\toutcomes: undefined,\n\t\t\tstate: undefined,\n\t\t\t...(initial || {}),\n\t\t\t...data,\n\t\t},\n\t\tsetActive,\n\t};\n}\n","import { useEffect, useState } from 'react';\nimport { useTimeout } from 'rooks';\n\nexport type ChangedOddsType = 'low' | 'high' | false;\n\nexport const useOddsChange = (\n\tcurrent: number,\n\tnext: number,\n): ChangedOddsType => {\n\tconst [changeState, setChange] = useState(false);\n\n\tconst timeout = useTimeout(() => setChange(false), 5000);\n\n\tuseEffect(() => {\n\t\tlet type: ChangedOddsType = false;\n\t\tif (next < current) {\n\t\t\ttype = 'low';\n\t\t}\n\t\tif (next > current) {\n\t\t\ttype = 'high';\n\t\t}\n\t\tsetChange(type);\n\n\t\tif (timeout?.isActive) {\n\t\t\ttimeout.clear();\n\t\t}\n\t\ttimeout.start();\n\n\t\treturn () => {\n\t\t\tif (timeout?.isActive) {\n\t\t\t\ttimeout.clear();\n\t\t\t}\n\t\t};\n\t}, [next]);\n\n\treturn changeState;\n};\n","import { capitalize } from '@legacyApp/client/modules/app/appService';\nimport { isFunction } from '@common/methods/isFunction';\n\nexport const createNameFromSlug = (name: string): string => {\n\t// console.log('createNameFromSlug', {name});\n\tif (!name) {\n\t\treturn null;\n\t}\n\treturn isFunction(name.split) ? capitalize(name.split('-').join(' ')) : name;\n};\n","import Redux from 'redux';\nimport { actionSimple } from '@legacyApp/client/modules/app/actionService';\nimport { ScoreType } from '../../types/Match/ScoreType';\nimport { MatchOfferType } from '../../types/Match/OfferType';\nimport {\n\tSPORTS_EVENTS_DATA_ADD_ID,\n\tSPORTS_EVENTS_DATA_ELEMENT_REMOVED,\n\tSPORTS_EVENTS_DATA_LOADING,\n\tSPORTS_EVENTS_DATA_REMOVE_DATA,\n\tSPORTS_EVENTS_DATA_REMOVE_ID,\n\tSPORTS_EVENTS_DATA_UPDATE_DATA,\n} from './sportsEventsData.constants';\n\nexport interface EventsDataTypes {\n\tscore: ScoreType;\n\todds: MatchOfferType;\n}\n\nexport type EventsDataType = keyof EventsDataTypes;\n\nexport type EventsEventIdType = string | number;\nexport type EventsDataElementId = string;\n\nexport const sportsEventsDataAddId = ({\n\tdataType,\n\teventId,\n\telementId,\n}: {\n\tdataType: EventsDataType;\n\teventId: EventsEventIdType;\n\telementId: EventsDataElementId;\n}): Redux.AnyAction => {\n\treturn {\n\t\ttype: SPORTS_EVENTS_DATA_ADD_ID,\n\t\tdataType,\n\t\teventId,\n\t\telementId,\n\t};\n};\n\nexport const sportsEventsDataRemoveId = ({\n\tdataType,\n\teventId,\n\telementId,\n}: {\n\tdataType: EventsDataType;\n\teventId: EventsEventIdType;\n\telementId: EventsDataElementId;\n}): Redux.AnyAction => {\n\treturn {\n\t\ttype: SPORTS_EVENTS_DATA_REMOVE_ID,\n\t\tdataType,\n\t\teventId,\n\t\telementId,\n\t};\n};\n\nexport const sportsEventsDataElementRemoved = ({\n\tdataType,\n\teventId,\n\telementId,\n}: {\n\tdataType: EventsDataType;\n\teventId: EventsEventIdType;\n\telementId: EventsDataElementId;\n}): Redux.AnyAction => {\n\treturn {\n\t\ttype: SPORTS_EVENTS_DATA_ELEMENT_REMOVED,\n\t\tdataType,\n\t\teventId,\n\t\telementId,\n\t};\n};\n\nexport const sportsEventsDataRemoveData = ({\n\tdataType,\n\teventId,\n}: {\n\tdataType: EventsDataType;\n\teventId: EventsEventIdType;\n}): Redux.AnyAction => {\n\treturn {\n\t\ttype: SPORTS_EVENTS_DATA_REMOVE_DATA,\n\t\tdataType,\n\t\teventId,\n\t};\n};\n\nexport const sportsEventsDataUpdateData = ({\n\tdataType,\n\tdata,\n}: {\n\tdataType: EventsDataType;\n\tdata: object;\n}): Redux.AnyAction => {\n\treturn {\n\t\ttype: SPORTS_EVENTS_DATA_UPDATE_DATA,\n\t\tdataType,\n\t\tdata,\n\t};\n};\n\nexport const sportsEventsDataLoading = actionSimple(SPORTS_EVENTS_DATA_LOADING);\n","export const SPORTS_EVENTS_DATA_ADD_ID = 'SPORTS_EVENTS_DATA_ADD_ID';\nexport const SPORTS_EVENTS_DATA_REMOVE_ID = 'SPORTS_EVENTS_DATA_REMOVE_ID';\nexport const SPORTS_EVENTS_DATA_UPDATE_DATA = 'SPORTS_EVENTS_DATA_UPDATE_DATA';\nexport const SPORTS_EVENTS_DATA_REMOVE_DATA = 'SPORTS_EVENTS_DATA_REMOVE_DATA';\nexport const SPORTS_EVENTS_DATA_ELEMENT_REMOVED =\n\t'SPORTS_EVENTS_DATA_ELEMENT_REMOVED';\nexport const SPORTS_EVENTS_DATA_LOADING = 'SPORTS_EVENTS_DATA_LOADING';\n"],"names":["ConverterValue","actionEnabled","props","currency","value","precision","countPrecision","defaultPrecision","config","checkTablet","deviceType","this","converterCurrency","mapApiCurrencyToLayoutCurrency","price","isTrueOrZero","activeSwitch","parsePrecision","content","noClick","onClick","mathService","trans","label","options","React","enhanceComponent","ConverterValueContainer","connect","state","stats","user","activeCurrency","converter","confirm","app","dispatch","switch","data","converterSwitchCurrency","ConverterValueStyle","styled","className","onclick","box","fontSize","size","sizeDesktop","noclick","InputCurrency","setState","converted","toUsd","undefined","updateConverted","updateValue","setValue","formCurrency","update","toNative","setConverted","prevProps","noChildrenWrapper","name","inputClasses","error","noConverterInfo","onFocusOut","onChangeDelayed","onChange","type","noTippy","as","InputCurrencyContainer","converterToUsd","converterToNative","useValidate","validate","preventInitialCheck","updateError","useState","setError","prevValue","usePrevious","prevValidate","useEffect","result","jsonToString","useValidateProfitCallback","useAppSelector","useCallback","game","validateProfitAmount","useValidateProfit","validateCallback","useValidateStakeCallback","useAppDispatch","isLogged","validateBetAmountThunk","checkBalance","useValidateStake","useTimeDiff","start_at","interval","diff","setDiff","setDiffValue","start","eventTimestamp","getTimestamp","currentTimestamp","roundNumber","useInterval","callback","id","ColumnLayout","cells","children","StyledColumn","$cells","length","map","el","index","StyledCell","theme","text","fonts","Black","sizeBigScreen","cutTextStyle","media","maxWidthSmallTablet","BalanceCurrencyValueBigStyle","classnames","chatViewport","viewportPadding","css","minWidth","calcStyle","a","minWidthSmallTablet","b","BalanceCurrencyValueSmallStyle","minWidthDesktop","getTimestamp_","date","TimerCountDown","precise","dispatchCallback","renderer","timestamp","setTimestamp","prevDate","renderer_","days","hours","minutes","seconds","completed","formatted","isFunction","hoursPrecise","Date","toTimeString","getState","balances","balance","balancesArray","validateBetAmount","activeGame","BetSlipElementTitle","bet","useContext","BetSlipContext","match","MatchContext","matchId","outcomeId","onDelete","sportsBetSlipDeleteBet","StyledBetSlipElementTitle","StyledMatchName","sport","slug","MatchDate","noDate","MatchName","short","StyledCloseButton","localTheme","AwesomeIcon","icon","faTimes","sizeDiff","sizeDesktopDiff","sizeBigScreenDiff","StyledDate","Button","colors","active","layout","transition","createContext","BetElement","useSportsBetSlipBetData","M","Provider","sportsBetSlipUpdateBetsListElement","StyledBetElement","BetSlipElementMessage","BetSlipElementDetails","BetSlipElementForm","borderRadius","CheckboxStyle","InputWrapperStyle","inputButton","StyledSummaryValue","important","CSSClassNameCurrencyLogo","currencyLogoStyle","maxWidthTablet","THREE_WAY_HANDICAP","StyledMatchOffer","StyledOutcomesList","textDisabled","Regular","parseThreeWayHandicapDecimalLine","indexOf","parseFloat","parseThreeWayData","decimal_line","StyledOfferLineTitle","rgba","BetSlipElementOdds","outcome","useSportsBetSlipBetOutcome","placingBet","useSportsBetSlipPlacingBet","decimal_odds","odds","setOdds","updatedOutcome","setUpdatedOutcome","useEventData","offer_id","setActive","oddsChangeType","useOddsChange","isDisabled","useCheckBetError","acceptType","useSportsBetSlipAcceptType","getUpdated","outcomes","find","placed_at","useOnMount","checkDisabledOutcome","checkSuspendedOffer","OFFER_SUSPENDED_ERROR","checkDisabledOffer","OFFER_CLOSED_ERROR","default","NO_ODDS_ACCEPT","ALL_ACCEPT","newOdds","oddsChanged","StyledBetSlipElementOdds","$disabled","style","position","color","fontFamily","whiteSpace","textAlign","top","left","string","MatchOddsChange","change","forceChangeType","MatchOdds","result_odds","borderColor","StyledMatchOddsChange","isOfferThreeWayHandicap","offer_label","parseBetSlipOddsData","parseBetSlipOddsName","StyledOddsName","transSports","parseOdds","parseData","parse","StyledBetElementDetails","StyledName","MatchOddsName","fullName","OfferName","O","offer","boxNoHeight","StyledMatchOfferName","StyledMatchOddsName","StyledMatchOdds","ProfitInput","translateValue","getBetFromBetSlipList","betsList","useSportsBetSlipType","sportsBetSlip","bets","setBet","useBetSlipElementOdds","disabled","StyledBetSlipElementForm","StakeInput","GameType","scientificToDecimal","stake","profit","BetSlipInput","ButtonStyle","BetSlipError","multiMatch","errorKey","Object","keys","filter","key","isBetSlipError","useCheckOnlyBetError","isPlacedMulti","isMessage","info","StyledBetSlipElementMessage","$success","faExclamationCircle","faCalendarCheck","darken","positive","alertError","Timestamp","time","StyledTimestamp","formatToFullDate","TypeLabel","StyledTypeLabel","split","join","TitleBar","refElement","useRef","disableOpenModal","setDisableOpenModal","BetslipDetailsContext","openCallback","useOpenBetModal","hash","dataType","current","closest","TitleBarStyled","ref","StateLabel","published_at","faExternalLinkAlt","StyledStateLabel","SummaryBar","useBetSlipTotalOddsAndProfit","totalOdds","StyledSummaryBar","SummaryValue","title","simpleValue","amount","BetSlipDetailsProgressState","valueProps","getCashoutValue","createLoadingId","LOADING_IDS","CashoutBar","cashoutOdds","total_available_cashout_odds","getList","BetSlipHistoryContext","loadingId","setLoadingId","fetch","useFetchApi","submitCashout","url","getSportsApiUrl","method","loaderId","parameters","Authorization","body","uuid","total_cashout_odds","then","response","userBalance","updateBalance","showAlert","cashout_value","Number","cashout_currency","toUpperCase","newLoadingId","useCashout","BetSlipDetails","StyledBetSlipDetails","betslip_events","EventElement","EventElementOddsNameContext","event","createNameFromSlug","featured","iconId","toLowerCase","StyledEventTitle","noIcon","StyledEvent","StyledMatchOddsNameBox","noShort","noParse","home_team_score","StyledMatchScoreBox","eventBetSlipState","params","horizontal","score","ElementBottomBorder","StyledTimeInformation","StyledLive","StyledMatchScoreWrapper","Bold","StyledScoreSimpleHorizontal","$state","BalanceAmountWithConverterTooltip","currencyConverter","namespace","TransNamespace","toString","parseName","simpleTrans","StyledOutcomeButton","height","maxWidthDesktop","$active","darkActive","ButtonOutcome","toggle","isSelected","disabledButton","setDisabled","sportsBetSlipClearPlacedBets","DeveloperData","faLock","getMatchLink","StyledNoOfferButton","StyledOutcomesListLabel","verticalMatchDetailsLayoutTitle","$noOffer","$childCount","OutcomesList","market","preloadLength","preloadElement","hideDisabled","SportContext","isOfferDisabled","setIsDisabledOffer","bottom","total_offers","LinkTo","href","faChevronRight","LoaderListWrapper","loaded","list","RectangleLoader","width","listElementCallback","sportsBetSlipToggleBet","MatchLiveBadge","isLive","simpleComponent","Loadable","loader","TimestampComponents","sports","FOOTBALL_ID","roundMaxLength","minute","roundLength","maxRounds","roundLabel","FIELD_HOCKEY_ID","HANDBALL_ID","RUGBY_ID","FUTSAL_ID","BASKETBALL_ID","NETBALL_ID","AMERICAN_FOOTBALL_ID","AUSSIE_RULES_ID","ICE_HOCKEY_ID","WATERPOLO_ID","FLOORBALL_ID","BASEBALL_ID","TENNIS_ID","VOLLEYBALL_ID","BADMINTON_ID","TABLE_TENNIS_ID","Component","CRICKET_ID","SNOOKER_ID","BANDY_ID","BEACH_VOLLEYBALL_ID","DARTS_ID","BOXING_ID","MMA_ID","useTimestampComponent","setData","sportId","some","getData","LiveTimeInformation","TimeInformation","hour","formatToFullDateNoSeconds","SPORTS_MAP","mma","esports","soccer","SportName","seoLabel","noTranslationCheck","sportNameMapped","capitalize","mapSportName","StyledSportNameText","$allowTransform","sport_name","CompetitorName","StyledCompetitorName","short_name","home_team","away_team","StyledSeparator","category","tournament","toFixed","prevOdds","changeType","$noAnimation","$changed","Blink","negative","keyframes","nameKey","OddsNameContext","newData","sortScoreRounds","rounds","sort","sortService","DIRECTION","round","games","MatchScoreHandler","away_team_score","ScoreComponents","ids","simple","extended","roundsCount","roundsLabels","isSummary","ESPORTS_ID","columns","useScoreComponent","ScoreContext","ScoreWrapper","ScoreSimple","ONLY_HIGHER_ACCEPT","DISABLE_INTERVALS","NEXT_CONFIG","checkInterval","LIVE_INTERVAL","second","EVENTS_DATA_INTERVAL","BETSLIP_HISTORY_INTERVAL","visible","SportsbookListContext","total_odds","setTotalOdds","estimatedProfit","setEstimatedProfit","reduce","getBetSlipEventsTotalOdds","checkBetSlipError","notBoolean","betError","message","timeout","initTimeout","sportsInitEventsDataUpdate","repeat","clearTimeout","setTimeout","updateEventsData","_getIds","sportsEventsData","idsData","forEach","push","_parseDataTypeToApiUrlType","sportsEventsDataLoading","dataTypes","_getDataTypes","loop","fetchApi","queryString","sportsEventsDataUpdateData","elementId","initial","listData","dataId","prevKey","prevDataId","prevDataType","isSportsActive","eventId","sportsEventsDataAddId","sportsEventsDataAdd","sportsEventsDataRemoveId","sportsEventsDataElementRemoved","next","changeState","setChange","useTimeout","isActive","clear","SPORTS_EVENTS_DATA_ADD_ID","SPORTS_EVENTS_DATA_REMOVE_ID","SPORTS_EVENTS_DATA_ELEMENT_REMOVED","sportsEventsDataRemoveData","SPORTS_EVENTS_DATA_REMOVE_DATA","SPORTS_EVENTS_DATA_UPDATE_DATA","actionSimple","SPORTS_EVENTS_DATA_LOADING"],"mappings":"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","debug_id":"6cc1d1b9-90df-5250-baff-18ca594396c8"}