From 70d3e2851d25270acfb3f62cffb1de2d725b70f9 Mon Sep 17 00:00:00 2001 From: vuonghuuhung Date: Mon, 13 Jan 2025 18:30:32 +0700 Subject: [PATCH] Refactor PoolList and useGetPoolList components to streamline imports and improve token inspection handling --- src/pages/Pool-V3/components/PoolList/index.tsx | 4 +--- src/pages/Pool-V3/hooks/useGetPoolList.ts | 13 +++++++------ 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/pages/Pool-V3/components/PoolList/index.tsx b/src/pages/Pool-V3/components/PoolList/index.tsx index ef04ce9e6..d604538d8 100644 --- a/src/pages/Pool-V3/components/PoolList/index.tsx +++ b/src/pages/Pool-V3/components/PoolList/index.tsx @@ -1,4 +1,4 @@ -import { BigDecimal, toDisplay, DOGE_BNB_ORAICHAIN_DENOM } from '@oraichain/oraidex-common'; +import { BigDecimal, toDisplay } from '@oraichain/oraidex-common'; import { isMobile } from '@walletconnect/browser-utils'; import Loading from 'assets/gif/loading.gif'; import DownIcon from 'assets/icons/down-arrow-v2.svg?react'; @@ -6,8 +6,6 @@ import SortDownIcon from 'assets/icons/down_icon.svg?react'; import IconInfo from 'assets/icons/infomationIcon.svg?react'; import UpIcon from 'assets/icons/up-arrow.svg?react'; import SortUpIcon from 'assets/icons/up_icon.svg?react'; -import NoDataDark from 'assets/images/NoDataPool.svg?react'; -import NoData from 'assets/images/NoDataPoolLight.svg?react'; import classNames from 'classnames'; import LoadingBox from 'components/LoadingBox'; import Pagination from 'components/Pagination'; diff --git a/src/pages/Pool-V3/hooks/useGetPoolList.ts b/src/pages/Pool-V3/hooks/useGetPoolList.ts index ec5151fb5..30dfb464f 100644 --- a/src/pages/Pool-V3/hooks/useGetPoolList.ts +++ b/src/pages/Pool-V3/hooks/useGetPoolList.ts @@ -1,17 +1,17 @@ import { parseAssetInfo } from '@oraichain/oraidex-common'; import { PoolWithPoolKey } from '@oraichain/oraidex-contracts-sdk/build/OraiswapV3.types'; import { useQuery } from '@tanstack/react-query'; +import { inspectTokenFromOraiCommonApi } from 'helper'; import { CoinGeckoPrices } from 'hooks/useCoingecko'; import SingletonOraiswapV3 from 'libs/contractSingleton'; import { getPools } from 'pages/Pools/hooks'; import { useEffect, useState } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import { addToOraichainTokens } from 'reducer/token'; -import { RootState, store } from 'store/configure'; +import { RootState } from 'store/configure'; import { PoolInfoResponse } from 'types/pool'; import { calcPrice } from '../components/PriceRangePlot/utils'; import { extractAddress, formatPoolData } from '../helpers/format'; -import { inspectTokenFromOraiCommonApi } from 'helper'; export const useGetPoolList = (coingeckoPrices: CoinGeckoPrices) => { const dispatch = useDispatch(); @@ -92,12 +92,13 @@ export const useGetPoolList = (coingeckoPrices: CoinGeckoPrices) => { if (tokenAddresses.has(HMSTR_DENOM)) tokenAddresses.delete(HMSTR_DENOM); if (tokenAddresses.size > 0) { const tokenAddressesArray = [...tokenAddresses]; - const tokenChunks = []; + const tokenChunksPromise = []; for (let i = 0; i < tokenAddressesArray.length; i += 30) { const chunk = tokenAddressesArray.slice(i, i + 30); - tokenChunks.push(inspectTokenFromOraiCommonApi(chunk)); + tokenChunksPromise.push(inspectTokenFromOraiCommonApi(chunk)); } - dispatch(addToOraichainTokens(tokenChunks.flat())); + const tokens = await Promise.all(tokenChunksPromise); + dispatch(addToOraichainTokens(tokens.flat())); } const listPools = (poolList || []).map((p) => formatPoolData(p)); @@ -105,7 +106,7 @@ export const useGetPoolList = (coingeckoPrices: CoinGeckoPrices) => { const fmtPools = (await Promise.all(listPools)).filter((e) => e.isValid); setDataPool(fmtPools); })(); - }, [poolList, coingeckoPrices]); + }, [poolList]); return { poolList: dataPool || [],