Skip to content

Commit 0df54b7

Browse files
authored
fix: migrate modal re-renders (#2306)
1 parent b8f2c71 commit 0df54b7

File tree

2 files changed

+28
-18
lines changed

2 files changed

+28
-18
lines changed

src/components/transactions/MigrateV3/MigrateV3ModalContent.tsx

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { Trans } from '@lingui/macro';
22
import { Box, Button } from '@mui/material';
33
import { useRouter } from 'next/router';
4-
import { useCallback } from 'react';
4+
import { useMemo } from 'react';
55
import { UserMigrationReserves } from 'src/hooks/migration/useUserMigrationReserves';
66
import { UserSummaryForMigration } from 'src/hooks/migration/useUserSummaryForMigration';
77
import { useModalContext } from 'src/hooks/useModal';
@@ -12,6 +12,7 @@ import {
1212
selectSelectedBorrowReservesForMigrationV3,
1313
} from 'src/store/v3MigrationSelectors';
1414
import { CustomMarket, getNetworkConfig } from 'src/utils/marketsAndNetworksConfig';
15+
import { useShallow } from 'zustand/shallow';
1516

1617
import { TxErrorView } from '../FlowCommons/Error';
1718
import { GasEstimationError } from '../FlowCommons/GasEstimationError';
@@ -40,22 +41,31 @@ export const MigrateV3ModalContent = ({
4041
const router = useRouter();
4142
const networkConfig = getNetworkConfig(currentChainId);
4243

43-
const { supplyPositions, borrowPositions } = useRootStore(
44-
useCallback(
45-
(state) => ({
46-
supplyPositions: selectedUserSupplyReservesForMigration(
47-
state.selectedMigrationSupplyAssets,
48-
userMigrationReserves.supplyReserves,
49-
userMigrationReserves.isolatedReserveV3
50-
),
51-
borrowPositions: selectSelectedBorrowReservesForMigrationV3(
52-
state.selectedMigrationBorrowAssets,
53-
toUserSummaryForMigration,
54-
userMigrationReserves
55-
),
56-
}),
57-
[userMigrationReserves, toUserSummaryForMigration]
58-
)
44+
const { selectedMigrationSupplyAssets, selectedMigrationBorrowAssets } = useRootStore(
45+
useShallow((state) => ({
46+
selectedMigrationSupplyAssets: state.selectedMigrationSupplyAssets,
47+
selectedMigrationBorrowAssets: state.selectedMigrationBorrowAssets,
48+
}))
49+
);
50+
51+
const supplyPositions = useMemo(
52+
() =>
53+
selectedUserSupplyReservesForMigration(
54+
selectedMigrationSupplyAssets,
55+
userMigrationReserves.supplyReserves,
56+
userMigrationReserves.isolatedReserveV3
57+
),
58+
[selectedMigrationSupplyAssets, userMigrationReserves]
59+
);
60+
61+
const borrowPositions = useMemo(
62+
() =>
63+
selectSelectedBorrowReservesForMigrationV3(
64+
selectedMigrationBorrowAssets,
65+
toUserSummaryForMigration,
66+
userMigrationReserves
67+
),
68+
[selectedMigrationBorrowAssets, toUserSummaryForMigration, userMigrationReserves]
5969
);
6070

6171
const supplyAssets = supplyPositions.map((supplyAsset) => {

src/modules/migration/MigrationListItem.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ export const MigrationListItem = ({
162162
</ListColumn>
163163

164164
<ListColumn>
165-
<Box sx={{ display: 'flex' }}>
165+
<Box sx={{ display: 'flex', alignItems: 'center' }}>
166166
<IncentivesCard
167167
value={v2APY}
168168
symbol={userReserve.reserve.symbol}

0 commit comments

Comments
 (0)