/ src / components / transactions / Swap / SwapModal.tsx
SwapModal.tsx
 1  import { Trans } from '@lingui/macro';
 2  import React from 'react';
 3  import { BasicModal } from 'src/components/primitives/BasicModal';
 4  import { UserAuthenticated } from 'src/components/UserAuthenticated';
 5  import { ModalContextType, ModalType, useModalContext } from 'src/hooks/useModal';
 6  
 7  import { ModalWrapper } from '../FlowCommons/ModalWrapper';
 8  import { SwapModalContent } from './SwapModalContent';
 9  
10  export const SwapModal = () => {
11    const { type, close, args } = useModalContext() as ModalContextType<{
12      underlyingAsset: string;
13    }>;
14    return (
15      <BasicModal open={type === ModalType.Swap} setOpen={close}>
16        <ModalWrapper title={<Trans>Switch</Trans>} underlyingAsset={args.underlyingAsset}>
17          {(params) => (
18            <UserAuthenticated>
19              {(user) => <SwapModalContent {...params} user={user} />}
20            </UserAuthenticated>
21          )}
22        </ModalWrapper>
23      </BasicModal>
24    );
25  };