Skip to content

Commit c54f8d3

Browse files
authored
[GSW-2407] optimize pool positions query key with scopeId (#792)
1 parent cf482bf commit c54f8d3

File tree

5 files changed

+7
-14
lines changed

5 files changed

+7
-14
lines changed

packages/web/src/hooks/pool/data/use-position-data.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ export interface UsePositionDataOption {
1313
page?: number;
1414
limit?: number;
1515
withClosed?: boolean;
16+
scopeId?: string;
1617
queryOption?: UseQueryOptions<PositionModel[], Error, PositionModel[], QueryKey>;
1718
}
1819

@@ -48,7 +49,7 @@ export const usePositionData = (options?: UsePositionDataOption) => {
4849
isFetched: isFetchedPoolPositions,
4950
isLoading: isLoadingPoolPositions,
5051
refetch: refetchPooPositions,
51-
} = useMakePoolPositions(rawPositions, pools, isFetchedPosition);
52+
} = useMakePoolPositions(rawPositions, pools, isFetchedPosition, options?.scopeId || "");
5253

5354
const availableStake = useMemo(() => {
5455
if (!isFetchedPoolPositions) {

packages/web/src/layouts/earn/containers/earn-my-position-container/EarnMyPositionContainer.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ const EarnMyPositionContainer: React.FC<EarnMyPositionContainerProps> = ({
6565
address,
6666
page,
6767
limit,
68+
scopeId: "EarnMyPositionContainer",
6869
});
6970

7071
const [mappedData, setMappedData] = useState<PoolPositionModel[]>([]);

packages/web/src/layouts/pool/pool-incentivize/containers/incentivize-pool-modal-container/IncentivizePoolModalContainer.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ const IncentivizePoolModalContainer: React.FC<IncentivizePoolModalContainerProps
5252

5353
// refetch functions
5454
const { updateBalances } = useTokenData();
55-
const { refetch: refetchPositions } = usePositionData({ address });
55+
const { refetch: refetchPositions } = usePositionData({ address, scopeId: "IncentivizePoolModalContainer" });
5656

5757
const { refetch: refetchPools } = useGetPoolList();
5858
const { refetch: refetchIncentivizePools } = useGetIncentivizePoolList();

packages/web/src/layouts/portfolio/components/wallet-my-positions-header/WalletMyPositionsHeader.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ const WalletMyPositionsHeader: React.FC<{ toggleClosed: () => void; isClosed: bo
2020
totalPositionCount,
2121
} = usePositionData({
2222
isClosed: false,
23+
scopeId: "WalletMyPositionsHeader",
2324
});
2425

2526
const hasClosedPositions = React.useMemo(() => {

packages/web/src/react-query/positions/use-make-pool-positions.ts

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { useMemo } from "react";
21
import { UseQueryOptions, useQuery } from "@tanstack/react-query";
32

43
import { GNOT_TOKEN } from "@common/values/token-constant";
@@ -14,20 +13,11 @@ export const useMakePoolPositions = (
1413
positions: PositionModel[] | undefined,
1514
pools: PoolModel[],
1615
isFetchedPosition: boolean,
16+
scopeId?: string,
1717
options?: UseQueryOptions<PoolPositionModel[], Error>,
1818
) => {
19-
const positionIdArray = useMemo(() => {
20-
if (!positions || positions.length === 0) return [];
21-
return positions.map(position => position.id);
22-
}, [positions]);
23-
24-
const positionIds = useMemo(() => {
25-
if (positionIdArray.length === 0) return "";
26-
return [...positionIdArray].sort((a, b) => a - b).join(",");
27-
}, [positionIdArray]);
28-
2919
const query = useQuery<PoolPositionModel[], Error>({
30-
queryKey: [QUERY_KEY.poolPositions, positionIds],
20+
queryKey: [QUERY_KEY.poolPositions, scopeId],
3121
queryFn: async () => {
3222
return new Promise(resolve => {
3323
const poolPositions: PoolPositionModel[] = [];

0 commit comments

Comments
 (0)