{"version":3,"file":"static/chunks/43357-34e07d4878d3fd39.js","sources":["webpack://_N_E/./src/LegacyApp/client/components/transactionsTable/transactionsTable.tsx","webpack://_N_E/./src/LegacyApp/client/store/transactions/transactions.selectors.ts","webpack://_N_E/./src/LegacyApp/hooks/window/useWindowSize.ts","webpack://_N_E/./src/common/components/layout/Table/tableWrapper.tsx","webpack://_N_E/./src/modules/games/Game/store/gameAutobet/gameAutobet.selectors.ts","webpack://_N_E/./src/ui/components/pagination/index.tsx","webpack://_N_E/./src/ui/components/tab-navigation/TabNavigation.styled.ts","webpack://_N_E/./src/ui/components/tab-navigation/index.tsx","webpack://_N_E/./src/LegacyApp/hooks/window/useIsElementScroll.ts","webpack://_N_E/./src/common/hooks/useInitScrollTo.ts","webpack://_N_E/./src/common/hooks/useMultiRef.ts"],"sourceRoot":"","sourcesContent":["import React, { FC, useCallback, useEffect, useRef } from 'react';\nimport { Pagination, PaginationProps } from '@ui/pagination';\nimport { TableWrapper } from '@common/components/layout/Table/tableWrapper';\nimport { TABLE_ID, TableIdType } from '@modules/transactions/constants/TableId';\nimport { useAppMobile } from '@common/selectors/app.selectors';\nimport { useGameAutoBetPaused } from '@modules/games/Game/store/gameAutobet/gameAutobet.selectors';\nimport { LOADING_IDS } from '@common/constants/fetch/loading.ids';\nimport { TableWrapperProps } from '@common/components/layout/Table/types/TableWrapperProps';\nimport { autobetPause } from '@modules/games/Game/store/gameAutobet/gameAutobet.actions';\nimport { useOnMount } from '@common/hooks/useOnMount';\nimport { isFunction } from '@common/methods/isFunction';\nimport { useStateEffect } from '@common/hooks/useStateEffect';\nimport { useAppDispatch } from '../../../hooks/store/useAppDispatch';\nimport {\n\tuseTransactionsAnimation,\n\tuseTransactionsMeta,\n} from '../../store/transactions/transactions.selectors';\nimport transactionService from '../../../../modules/transactions/transactionsService';\nimport { usePrevious } from '../../../hooks/render/usePrevious';\nimport { TABLE_MOCKS } from '../../../mocks/tableMocks';\nimport {\n\tgetTransactionsThunk,\n\tGetTransactionsThunkProps,\n} from '../../store/transactions/thunks/getTransactions.thunk';\n\ntype GetData = (\n\tid: TableIdType,\n\tpage?: number,\n\tdisable?: boolean,\n\trefresh?: boolean,\n\tgetDataProps?: GetTransactionsThunkProps['props'],\n) => void;\n\nexport interface TransactionsTableProps {\n\tid: TableIdType;\n\tgetData?: GetData;\n\trefreshInterval?: number;\n\tloadingId?: LOADING_IDS;\n\tlimit?: number;\n\tgetDataProps?: Record<string, any>;\n\ttransactions?: TableWrapperProps['data'];\n\tsortCallback?: TableWrapperProps['sortCallback'];\n\tnoResultsText?: TableWrapperProps['noResultsText'];\n\tfilterCallback?: TableWrapperProps['sortCallback'];\n\tcolumns?: TableWrapperProps['columns'];\n\tclassic?: TableWrapperProps['classic'];\n\tdisableCompareKeysGeneration?: boolean;\n}\n\n// TODO:\n// - commented pagination\n\nconst useTableTransactions = (props: TransactionsTableProps) => {\n\tconst transactions_ = useTransactionsAnimation(props.id);\n\n\tconst getTransactions = useCallback(() => {\n\t\tconst transactions =\n\t\t\tprops.transactions ||\n\t\t\ttransactions_ ||\n\t\t\t(TABLE_MOCKS?.[props.id]?.length ? TABLE_MOCKS[props.id] : []);\n\n\t\tconst limited = props.limit\n\t\t\t? transactions?.slice(0, props.limit)\n\t\t\t: transactions;\n\n\t\treturn isFunction(props.filterCallback)\n\t\t\t? props.filterCallback(limited)\n\t\t\t: limited;\n\t}, [props, transactions_]);\n\n\treturn useStateEffect(getTransactions, (a, b) =>\n\t\ttransactionService.isListDifferent(\n\t\t\ta,\n\t\t\tb,\n\t\t\t!props.disableCompareKeysGeneration\n\t\t\t\t? transactionService.getRowCompareKeys(props.id, a)\n\t\t\t\t: null,\n\t\t),\n\t);\n};\n\nexport const TransactionsTable: FC<TransactionsTableProps> = (props) => {\n\tconst updateIntervalRef = useRef(null);\n\n\tconst isMobile = useAppMobile();\n\tconst autoBetPaused = useGameAutoBetPaused();\n\tconst meta = useTransactionsMeta(props.id);\n\tconst transactions = useTableTransactions(props);\n\tconst prevId = usePrevious(props.id);\n\tconst prevRefreshInterval = usePrevious(props.refreshInterval);\n\tconst prevGetDataProps = usePrevious(props.getDataProps);\n\n\tconst pagination = Number(meta?.last_page) > 1;\n\n\tconst dispatch = useAppDispatch();\n\n\tconst getData: GetData = useCallback(\n\t\t(id, page, disable, refresh) => {\n\t\t\tconsole.log('getData', id, page, disable, refresh, props);\n\t\t\tif (props.getData) {\n\t\t\t\treturn props.getData(id, page, disable, refresh, props.getDataProps);\n\t\t\t}\n\n\t\t\tif (!id) {\n\t\t\t\t// console.log('No ID of transactions data');\n\t\t\t\t// sentryError('No ID of transactions data', {\n\t\t\t\t//   id,\n\t\t\t\t//   page,\n\t\t\t\t//   disable,\n\t\t\t\t//   refresh,\n\t\t\t\t// });\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tdispatch(\n\t\t\t\tgetTransactionsThunk({\n\t\t\t\t\tid,\n\t\t\t\t\tpage,\n\t\t\t\t\tdisable,\n\t\t\t\t\trefresh,\n\t\t\t\t\tprops: props.getDataProps,\n\t\t\t\t}),\n\t\t\t);\n\t\t},\n\t\t[dispatch, props],\n\t);\n\n\tconst pauseAutobet = useCallback(\n\t\t(bool) => {\n\t\t\treturn dispatch(autobetPause(bool));\n\t\t},\n\t\t[dispatch],\n\t);\n\n\tconst isAutobetPaused = useCallback(() => {\n\t\treturn props.id === TABLE_ID.myBets && pagination;\n\t}, [pagination, props.id]);\n\n\tconst handlePauseAutobet = useCallback(() => {\n\t\tconst bool = isAutobetPaused();\n\t\tif (!!bool === !autoBetPaused) {\n\t\t\tpauseAutobet(bool);\n\t\t}\n\t}, [autoBetPaused, isAutobetPaused, pauseAutobet]);\n\n\tconst fetchData = useCallback(\n\t\t(id: TableIdType, page, lastId?: TableIdType, refresh?: boolean) => {\n\t\t\tgetData(id, page, false, refresh);\n\t\t\tif (!lastId) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tgetData(lastId, page, true, refresh);\n\t\t},\n\t\t[getData],\n\t);\n\n\tconst startUpdatesInterval = useCallback(\n\t\t(lastTableID?: TableIdType, refresh?: boolean) => {\n\t\t\t// console.log('startUpdateInterval', props.id, lastTableID, updateInterval, props.refreshInterval);\n\t\t\tfetchData(props.id, undefined, lastTableID, refresh);\n\t\t\tif (!props.refreshInterval || pagination) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// console.log('startUpdatesInterval', props.id, updateInterval);\n\t\t\tif (!updateIntervalRef.current) {\n\t\t\t\tupdateIntervalRef.current = setInterval(() => {\n\t\t\t\t\t// console.log('interval', props.id);\n\t\t\t\t\tfetchData(props.id, undefined, undefined, true);\n\t\t\t\t}, props.refreshInterval);\n\t\t\t}\n\t\t},\n\t\t[fetchData, props.id, pagination, props.refreshInterval],\n\t);\n\n\tconst clearUpdatesInterval = useCallback(() => {\n\t\t// console.log('clearUpdatesInterval', props.id, updateInterval);\n\t\tif (updateIntervalRef.current) {\n\t\t\tclearInterval(updateIntervalRef.current);\n\t\t\tupdateIntervalRef.current = undefined;\n\t\t}\n\t}, []);\n\n\tconst restartInterval = useCallback(\n\t\t(lastTableID?: TableIdType) => {\n\t\t\tclearUpdatesInterval();\n\t\t\tstartUpdatesInterval(lastTableID, true);\n\t\t},\n\t\t[clearUpdatesInterval, startUpdatesInterval],\n\t);\n\n\tconst onClickPage: PaginationProps['onClickPage'] = useCallback(\n\t\t(page) => {\n\t\t\tgetData(props.id, page);\n\t\t},\n\t\t[getData, props.id],\n\t);\n\n\tuseOnMount(() => {\n\t\thandlePauseAutobet();\n\t\tstartUpdatesInterval();\n\n\t\treturn () => {\n\t\t\tclearUpdatesInterval();\n\t\t\tgetData(props.id, undefined, true);\n\t\t\tpauseAutobet(false);\n\t\t};\n\t});\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tprevId !== props.id ||\n\t\t\ttransactionService.isDataDifferent(props.getDataProps, prevGetDataProps)\n\t\t) {\n\t\t\thandlePauseAutobet();\n\t\t\trestartInterval(prevId);\n\t\t}\n\t}, [\n\t\thandlePauseAutobet,\n\t\tprevGetDataProps,\n\t\tprevId,\n\t\tprops.getDataProps,\n\t\tprops.id,\n\t\trestartInterval,\n\t]);\n\n\tuseEffect(() => {\n\t\tif (prevRefreshInterval !== props.refreshInterval) {\n\t\t\trestartInterval();\n\t\t}\n\t}, [prevRefreshInterval, props.refreshInterval, restartInterval]);\n\n\tif (!props.id) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<TableWrapper\n\t\t\tdata={transactions}\n\t\t\tclassic={props.classic}\n\t\t\thighlightRow={true}\n\t\t\tid={props.id}\n\t\t\tsortCallback={props.sortCallback}\n\t\t\tnoResultsText={props.noResultsText || 'No transactions'}\n\t\t\tloadingId={props.loadingId}\n\t\t\tnoScroll={true}\n\t\t\tcolumns={props.columns}\n\t\t\tisMobile={isMobile}\n\t\t>\n\t\t\t<Pagination meta={meta} onClickPage={onClickPage} />\n\t\t</TableWrapper>\n\t);\n};\n","import { TableIdType } from '@modules/transactions/constants/TableId';\nimport { TransactionsResponseType } from '@modules/transactions/constants/TransactionsResponse.type';\nimport { GameType } from '@modules/games/Game/constants/availableGames';\nimport { useAppSelector } from '../../../hooks/store/useAppSelector';\nimport transactionService from '../../../../modules/transactions/transactionsService';\n\nexport const useTransactionsAnimation = <T = any>(id: TableIdType) => {\n\tlet dataStored = [];\n\tlet prev = false;\n\n\treturn useAppSelector<TransactionsResponseType<T>['data']>(\n\t\t(state) => {\n\t\t\tconst isAnimating = !!Object.keys(\n\t\t\t\tstate.game?.betsInAnimation?.[state.game.activeGame] ?? {},\n\t\t\t)?.length;\n\t\t\tconst data = state.transactions?.[id];\n\n\t\t\tif (isAnimating !== prev) {\n\t\t\t\tprev = isAnimating;\n\t\t\t}\n\n\t\t\tif (isAnimating !== prev || !dataStored?.length) {\n\t\t\t\tdataStored = data;\n\t\t\t}\n\n\t\t\treturn isAnimating ? dataStored : data;\n\t\t},\n\t\t(previous, next) =>\n\t\t\t!transactionService.isListDifferent(\n\t\t\t\tprevious,\n\t\t\t\tnext,\n\t\t\t\ttransactionService.getRowCompareKeys(id, previous),\n\t\t\t),\n\t);\n};\n\nexport const useTransactions = <T = any>(id: TableIdType, limit?: number) =>\n\tuseAppSelector<TransactionsResponseType<T>['data']>(\n\t\t(state) => {\n\t\t\tif (limit && state.transactions?.[id]?.length > limit) {\n\t\t\t\treturn state.transactions[id].slice(0, limit);\n\t\t\t}\n\t\t\treturn state.transactions?.[id];\n\t\t},\n\t\t(previous, next) =>\n\t\t\t!transactionService.isListDifferent(\n\t\t\t\tprevious,\n\t\t\t\tnext,\n\t\t\t\ttransactionService.getRowCompareKeys(id, previous),\n\t\t\t),\n\t);\n\nexport const useTransactionsPerGameActive = (id: TableIdType, game: GameType) =>\n\tuseAppSelector<boolean>((state) => !!state.transactions[id][game]?.length);\n\nexport const useTransactionsPerGame = <T = any>(\n\tid: TableIdType,\n\tgame: GameType,\n) =>\n\tuseAppSelector<TransactionsResponseType<T>['data']>(\n\t\t(state) => state.transactions[id][game],\n\t\t(previous, next) =>\n\t\t\t!transactionService.isListDifferent(\n\t\t\t\tprevious,\n\t\t\t\tnext,\n\t\t\t\ttransactionService.getRowCompareKeys(id, previous),\n\t\t\t),\n\t);\n\nexport const useTransactionsMeta = (id: TableIdType) =>\n\tuseAppSelector(\n\t\t(state) => state.transactions.meta[id],\n\t\t(previous, next) =>\n\t\t\ttransactionService.isDuplicate(previous, next, [\n\t\t\t\t'current_page',\n\t\t\t\t'total',\n\t\t\t\t'last_page',\n\t\t\t]),\n\t);\n","import { useCallback, useEffect, useState } from 'react';\nimport { useWindowEventListener } from '@common/hooks/useEventListener';\n\ntype Callback = (values: [number, number]) => void;\n\nexport const useWindowSize = (callback: Callback) => {\n\tconst [size, setSize] = useState([0, 0]);\n\tconst updateSize = useCallback(() => {\n\t\tif (size[0] === window.innerWidth && size[1] === window.innerHeight) {\n\t\t\treturn;\n\t\t}\n\t\tsetSize([window.innerWidth, window.innerHeight]);\n\t\tif (!callback) {\n\t\t\treturn;\n\t\t}\n\t\tcallback([window.innerWidth, window.innerHeight]);\n\t}, [callback, size]);\n\n\tuseWindowEventListener('resize', updateSize);\n\n\tuseEffect(() => {\n\t\tupdateSize();\n\t}, [updateSize]);\n\treturn size;\n};\n","import React, { FC, PropsWithChildren, useCallback } from 'react';\nimport { columnsService } from '@modules/table/columnsService';\nimport { useStateEffect } from '@common/hooks/useStateEffect';\nimport transactionService from '../../../../modules/transactions/transactionsService';\nimport { TableWrapperProps } from './types/TableWrapperProps';\nimport { StyledTableWrapper } from './components/Table.styled';\nimport { Table } from './components/table';\n\nexport const TableWrapper: FC<PropsWithChildren<TableWrapperProps>> = ({\n\tchildren,\n\t...props\n}) => {\n\tconst getColumns = useCallback(() => {\n\t\treturn props.columns || columnsService.getColumns(props.id);\n\t}, [props.columns, props.id]);\n\tconst columns = useStateEffect(getColumns, (a, b) =>\n\t\ttransactionService.isListDifferent(a, b, ['id']),\n\t);\n\n\tconst getRowCompareKeys = useCallback(() => {\n\t\treturn (\n\t\t\tprops.rowCompareKeys ||\n\t\t\ttransactionService.getRowCompareKeys(props.id, props.data)\n\t\t);\n\t}, [props.data, props.id, props.rowCompareKeys]);\n\tconst rowCompareKeys = useStateEffect(getRowCompareKeys, (a, b) =>\n\t\ttransactionService.isListDifferent(a, b),\n\t);\n\n\tconst getTableCompareKeys = useCallback(() => {\n\t\treturn (\n\t\t\tprops.tableCompareKeys ||\n\t\t\ttransactionService.getTableCompareKeys(props.id, props.data)\n\t\t);\n\t}, [props.data, props.id, props.tableCompareKeys]);\n\tconst tableCompareKeys = useStateEffect(getTableCompareKeys, (a, b) =>\n\t\ttransactionService.isListDifferent(a, b),\n\t);\n\n\treturn (\n\t\t<StyledTableWrapper>\n\t\t\t<Table\n\t\t\t\t{...props}\n\t\t\t\tcolumns={columns}\n\t\t\t\ttableCompareKeys={tableCompareKeys}\n\t\t\t\trowCompareKeys={rowCompareKeys}\n\t\t\t/>\n\t\t\t{children}\n\t\t</StyledTableWrapper>\n\t);\n};\n","import { shallowEqual } from 'react-redux';\nimport { useAppSelector } from '@legacyApp/hooks/store/useAppSelector';\nimport { CurrencyType } from '@legacyApp/types/wallet/CurrencyType';\nimport transactionService from '../../../../transactions/transactionsService';\nimport { GameType } from '../../constants/availableGames';\nimport { GameStrategy } from '../../types/GameStrategy';\nimport { AutoBetMode } from '../game/thunks/handleBet.thunk';\n\nexport const useGameAutoBetIsRolling = (game: GameType) =>\n\tuseAppSelector<boolean>(\n\t\t(state) => state.gameAutobet?.autoBetRolling[game],\n\t\tshallowEqual,\n\t);\nexport const useGameAutoBetActive = (game: GameType) =>\n\tuseAppSelector<AutoBetMode | boolean>(\n\t\t(state) => state.gameAutobet?.active[game],\n\t\tshallowEqual,\n\t);\nexport const useGameAutoBetMode = () =>\n\tuseAppSelector<string>((state) => state.gameAutobet?.mode, shallowEqual);\n\nexport const useGameAutoBetCurrency = (game: GameType) =>\n\tuseAppSelector<CurrencyType>(\n\t\t(state) => state.gameAutobet?.currency[game],\n\t\tshallowEqual,\n\t);\n\nexport const useGameAutoBetStats = () =>\n\tuseAppSelector<boolean>(\n\t\t(state) => state.gameAutobet?.autoStats,\n\t\tshallowEqual,\n\t);\n\nexport const useGameAutoBetRollsCounter = (game: GameType) =>\n\tuseAppSelector<number>(\n\t\t(state) => state.gameAutobet?.rollsCounter[game],\n\t\tshallowEqual,\n\t);\n\nexport const useGameAutoBetConfigEasy = (game?: GameType) =>\n\tuseAppSelector(\n\t\t(state) => state.gameAutobet?.configEasy[game || state.game?.activeGame],\n\t\t(previous, next) => !transactionService.isDataDifferent(previous, next),\n\t);\n\nexport const useGameAutoBetPaused = () =>\n\tuseAppSelector<boolean>((state) => state.gameAutobet?.pause, shallowEqual);\n\nexport const useGameAutoBetStrategies = () =>\n\tuseAppSelector<GameStrategy[]>(\n\t\t(state) => state.gameAutobet?.strategies,\n\t\t(previous, next) => !transactionService.isListDifferent(previous, next),\n\t);\n\nexport const useGameAutoBetActiveStrategy = (game?: GameType) =>\n\tuseAppSelector<string>(\n\t\t(state) =>\n\t\t\tstate.gameAutobet?.activeStrategy[game || state.game?.activeGame],\n\t\t(previous, next) => !transactionService.isDataDifferent(previous, next),\n\t);\n","import React, { FC, useCallback } from 'react';\nimport { Button, ButtonProps } from '@ui/button';\nimport { trans } from '@legacyApp/client/modules/translation/translate';\nimport { TransactionsMetaType } from '@modules/transactions/constants/TransactionsResponse.type';\nimport { ButtonStyleType } from '@uiTypes/ButtonStyleType';\nimport { Size } from '@uiTypes/Size';\nimport { PaginationStyled } from './Pagination.styled';\n\nexport interface PaginationProps extends ButtonProps {\n\tonClickPage: (page: number) => void;\n\tmeta?: TransactionsMetaType;\n}\n\nexport const Pagination: FC<PaginationProps> = ({\n\tonClickPage,\n\tmeta,\n\tsize,\n}) => {\n\tconst { current_page, last_page } = meta || {};\n\n\tconst nextDisabled = current_page === last_page;\n\tconst prevDisabled = current_page === 1;\n\tconst paginationDisabled =\n\t\t!last_page || (typeof last_page === 'number' && last_page < 2);\n\n\tconst handleClick = useCallback(\n\t\t(page: number) => {\n\t\t\t// console.log(number, this.props);\n\t\t\tif (page === current_page) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonClickPage(page);\n\t\t},\n\t\t[current_page, onClickPage],\n\t);\n\n\tconst nextPage = useCallback(() => {\n\t\tif (nextDisabled) {\n\t\t\treturn;\n\t\t}\n\t\thandleClick(current_page + 1);\n\t}, [current_page, handleClick, nextDisabled]);\n\n\tconst prevPage = useCallback(() => {\n\t\tif (prevDisabled) {\n\t\t\treturn;\n\t\t}\n\t\thandleClick(current_page - 1);\n\t}, [current_page, handleClick, prevDisabled]);\n\n\tif (paginationDisabled) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PaginationStyled>\n\t\t\t<Button\n\t\t\t\tname=\"pagination-prev\"\n\t\t\t\tdisabled={prevDisabled}\n\t\t\t\tonClick={prevPage}\n\t\t\t\tclassName=\"pagination__element\"\n\t\t\t\tlabel={trans({ label: 'Previous page' })}\n\t\t\t\tsize={size || Size.MEDIUM}\n\t\t\t/>\n\t\t\t<Button\n\t\t\t\tname=\"pagination-active\"\n\t\t\t\tstyleType={ButtonStyleType.CLEAR}\n\t\t\t\tlabel={current_page}\n\t\t\t\tsize={size || Size.MEDIUM}\n\t\t\t/>\n\t\t\t<Button\n\t\t\t\tname=\"pagination-next\"\n\t\t\t\tdisabled={nextDisabled}\n\t\t\t\tonClick={nextPage}\n\t\t\t\tlabel={trans({ label: 'Next page' })}\n\t\t\t\tclassName=\"pagination__element\"\n\t\t\t\tsize={size || Size.MEDIUM}\n\t\t\t/>\n\t\t</PaginationStyled>\n\t);\n};\n","import styled from 'styled-components';\nimport { TabButtonStyled } from '@ui/tab-button';\n\nexport const TabNavigationStyled = styled.div`\n\t//background-color: var(--color-dark-700);\n\tborder-radius: 70px;\n\tdisplay: flex;\n\tflex-flow: row nowrap;\n\toverflow: auto;\n\tpadding: 16px;\n\n\t${TabButtonStyled}:not(:first-of-type) {\n\t\tmargin-left: 5px;\n\t}\n\n\t@media (max-width: ${(props) => props.theme.media_v2.max_mobile_medium}) {\n\t\tpadding: 12px;\n\t}\n`;\n\nexport const TabNavigationWrapperStyled = styled.div<{\n\t$isScroll?: boolean;\n}>`\n\tdisplay: flex;\n\tflex-flow: row nowrap;\n\tmax-width: 100%;\n\toverflow: auto;\n\tposition: relative;\n\n\t&:before {\n\t\tbackground-color: var(--color-dark-700);\n\t\tborder-radius: 70px;\n\t\tcontent: '';\n\t\theight: ${(props) => (props.$isScroll ? 'calc(100% - 0px)' : '100%')};\n\t\tleft: 0;\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\twidth: 100%;\n\t\tz-index: -1;\n\t}\n`;\n","import { FC, PropsWithChildren, useEffect } from 'react';\nimport {\n\tTabNavigationStyled,\n\tTabNavigationWrapperStyled,\n} from '@ui/tab-navigation/TabNavigation.styled';\nimport { TabButton, TabButtonProps } from '@ui/tab-button';\nimport { useIsElementScroll } from '@legacyApp/hooks/window/useIsElementScroll';\nimport { useInitScrollTo } from '@common/hooks/useInitScrollTo';\nimport { useMultiRef } from '@common/hooks/useMultiRef';\nimport { usePrevious } from '@legacyApp/hooks/render/usePrevious';\n\nexport type TabNavigationProps = PropsWithChildren<{\n\ttabs: Array<TabButtonProps>;\n\tactiveTabId: TabButtonProps['id'];\n\tonClick?: TabButtonProps['onClick'];\n\tsmall?: TabButtonProps['small'];\n}>;\n\nexport const TabNavigation: FC<TabNavigationProps> = ({\n\ttabs,\n\tactiveTabId,\n\tonClick,\n\tchildren,\n\tsmall,\n}) => {\n\tconst prevId = usePrevious(activeTabId);\n\n\tconst { ref, isScroll } = useIsElementScroll();\n\n\tconst { handleScroll, elementRef, boxRef } = useInitScrollTo({\n\t\tleftPadding: 50,\n\t});\n\n\tconst multiRef = useMultiRef([boxRef, ref]);\n\n\tuseEffect(() => {\n\t\tif (activeTabId !== prevId) {\n\t\t\thandleScroll();\n\t\t}\n\t}, [activeTabId, handleScroll, prevId]);\n\n\tif (!tabs?.length) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<TabNavigationWrapperStyled $isScroll={isScroll}>\n\t\t\t<TabNavigationStyled ref={multiRef}>\n\t\t\t\t{tabs.map((tab) => {\n\t\t\t\t\tif (tab.doNotShowInTabs) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<TabButton\n\t\t\t\t\t\t\trefElement={activeTabId === tab.id ? elementRef : null}\n\t\t\t\t\t\t\tkey={tab.id}\n\t\t\t\t\t\t\t{...tab}\n\t\t\t\t\t\t\tactive={activeTabId === tab.id}\n\t\t\t\t\t\t\tonClick={tab.onClick || onClick}\n\t\t\t\t\t\t\tsmall={small}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</TabNavigationStyled>\n\t\t\t{children}\n\t\t</TabNavigationWrapperStyled>\n\t);\n};\n","import { useCallback, useRef, useState } from 'react';\nimport { useWindowSize } from './useWindowSize';\n\nexport const useIsElementScroll = () => {\n\tconst ref = useRef(null);\n\tconst [isScroll, setIsScroll] = useState(true);\n\n\tconst resizeCallback = useCallback(() => {\n\t\tif (!ref.current) {\n\t\t\treturn;\n\t\t}\n\t\tconst { scrollWidth, clientWidth } = ref.current;\n\t\tconst isScroll_ = scrollWidth > clientWidth;\n\t\tif (isScroll_ !== isScroll) {\n\t\t\tsetIsScroll(isScroll_);\n\t\t}\n\t}, [isScroll]);\n\n\tuseWindowSize(resizeCallback);\n\n\treturn {\n\t\tref,\n\t\tisScroll,\n\t};\n};\n","import { useCallback, useRef } from 'react';\n\nexport interface UseInitScrollTo {\n\tleftPadding?: number;\n\ttopPadding?: number;\n}\n\nexport const useInitScrollTo = ({\n\tleftPadding,\n\ttopPadding,\n}: UseInitScrollTo) => {\n\tconst boxRef = useRef(null);\n\tconst elementRef = useRef(null);\n\n\tconst handleScroll = useCallback(() => {\n\t\t// console.log('useInitScrollTo', { elementRef: elementRef.current, boxRef: boxRef.current });\n\t\tif (!elementRef?.current || !boxRef?.current) {\n\t\t\treturn;\n\t\t}\n\t\tboxRef.current.scrollTo({\n\t\t\ttop: elementRef.current.offsetTop - (topPadding || 0),\n\t\t\tleft: elementRef.current.offsetLeft - (leftPadding || 0),\n\t\t\tbehavior: 'smooth',\n\t\t});\n\t}, [leftPadding, topPadding]);\n\n\treturn {\n\t\thandleScroll,\n\t\tboxRef,\n\t\telementRef,\n\t};\n};\n","import { MutableRefObject, useEffect, useRef } from 'react';\n\nexport const useMultiRef = (\n\trefs: Array<MutableRefObject<any>>,\n): MutableRefObject<any> => {\n\tconst ref = useRef(null);\n\n\tuseEffect(\n\t\tfunction () {\n\t\t\trefs.map((ref_) => {\n\t\t\t\tref_.current = ref.current;\n\t\t\t});\n\t\t},\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[ref.current],\n\t);\n\n\treturn ref;\n};\n"],"names":["TransactionsTable","props","updateIntervalRef","useRef","isMobile","useAppMobile","autoBetPaused","useGameAutoBetPaused","meta","useTransactionsMeta","id","transactions","transactions_","useTransactionsAnimation","getTransactions","useCallback","TABLE_MOCKS","length","limited","limit","slice","isFunction","filterCallback","useStateEffect","a","b","transactionService","disableCompareKeysGeneration","useTableTransactions","prevId","usePrevious","prevRefreshInterval","refreshInterval","prevGetDataProps","getDataProps","pagination","Number","last_page","dispatch","useAppDispatch","getData","page","disable","refresh","getTransactionsThunk","pauseAutobet","bool","autobetPause","isAutobetPaused","TABLE_ID","handlePauseAutobet","fetchData","lastId","startUpdatesInterval","lastTableID","undefined","current","setInterval","clearUpdatesInterval","clearInterval","restartInterval","onClickPage","useOnMount","useEffect","data","classic","highlightRow","sortCallback","noResultsText","loadingId","noScroll","columns","dataStored","prev","useAppSelector","state","isAnimating","Object","keys","game","betsInAnimation","activeGame","previous","next","useTransactionsPerGameActive","useTransactionsPerGame","useWindowSize","callback","useState","size","setSize","updateSize","window","innerWidth","innerHeight","useWindowEventListener","TableWrapper","children","getColumns","columnsService","getRowCompareKeys","rowCompareKeys","getTableCompareKeys","tableCompareKeys","useGameAutoBetIsRolling","gameAutobet","autoBetRolling","shallowEqual","useGameAutoBetActive","active","useGameAutoBetMode","mode","useGameAutoBetCurrency","currency","useGameAutoBetStats","autoStats","useGameAutoBetRollsCounter","rollsCounter","useGameAutoBetConfigEasy","configEasy","pause","useGameAutoBetStrategies","strategies","useGameAutoBetActiveStrategy","activeStrategy","Pagination","current_page","nextDisabled","prevDisabled","paginationDisabled","handleClick","nextPage","prevPage","name","disabled","onClick","className","label","trans","Size","styleType","ButtonStyleType","TabNavigationStyled","styled","TabButtonStyled","theme","media_v2","max_mobile_medium","TabNavigationWrapperStyled","$isScroll","TabNavigation","tabs","activeTabId","small","ref","isScroll","setIsScroll","resizeCallback","isScroll_","scrollWidth","clientWidth","useIsElementScroll","leftPadding","topPadding","boxRef","elementRef","handleScroll","scrollTo","top","offsetTop","left","offsetLeft","behavior","useInitScrollTo","multiRef","refs","map","ref_","useMultiRef","tab","doNotShowInTabs","refElement"],"mappings":"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","debug_id":"b8f361e6-8531-5286-87d2-5900849ac5ad"}