/ src / components / transactions / MigrateV3 / MigrateV3Modal.tsx
MigrateV3Modal.tsx
 1  import React from 'react';
 2  import { BasicModal } from 'src/components/primitives/BasicModal';
 3  import { useUserMigrationReserves } from 'src/hooks/migration/useUserMigrationReserves';
 4  import { useUserSummaryForMigration } from 'src/hooks/migration/useUserSummaryForMigration';
 5  import { ModalType, useModalContext } from 'src/hooks/useModal';
 6  import { selectCurrentChainIdV3MarketData } from 'src/store/poolSelectors';
 7  import { useRootStore } from 'src/store/root';
 8  
 9  import { MigrateV3ModalContent } from './MigrateV3ModalContent';
10  
11  export const MigrateV3Modal = () => {
12    const { type, close } = useModalContext();
13  
14    const currentChainId = useRootStore((store) => store.currentChainId);
15    const currentNetworkConfig = useRootStore((store) => store.currentNetworkConfig);
16    const currentMarketData = useRootStore((store) => store.currentMarketData);
17    const toMarketData = selectCurrentChainIdV3MarketData(currentChainId, currentNetworkConfig);
18    const fromMarketData = currentMarketData;
19  
20    const { data: userMigrationReserves } = useUserMigrationReserves(fromMarketData, toMarketData);
21    const { data: toUserSummaryForMigration } = useUserSummaryForMigration(toMarketData);
22  
23    return (
24      <BasicModal open={type === ModalType.V3Migration} setOpen={close}>
25        {userMigrationReserves && toUserSummaryForMigration && (
26          <MigrateV3ModalContent
27            userMigrationReserves={userMigrationReserves}
28            toUserSummaryForMigration={toUserSummaryForMigration}
29          />
30        )}
31      </BasicModal>
32    );
33  };