Files
explore/ui/address/contract/methods/form/ContractMethodAddressButton.tsx

35 lines
888 B
TypeScript

import React from 'react';
import useAccount from 'lib/web3/useAccount';
import { Button } from '@luxfi/ui/button';
import { Tooltip } from '@luxfi/ui/tooltip';
interface Props {
onClick: (address: string) => void;
isDisabled?: boolean;
}
const ContractMethodAddressButton = ({ onClick, isDisabled }: Props) => {
const { address } = useAccount();
const handleClick = React.useCallback(() => {
address && onClick(address);
}, [ address, onClick ]);
return (
<Tooltip content="Connect your wallet to enter your address." disabled={ Boolean(address) } disableOnMobile>
<Button
variant="subtle"
size="xs"
className="text-base font-medium ml-1"
onClick={ handleClick }
disabled={ isDisabled || !address }
>
Self
</Button>
</Tooltip>
);
};
export default React.memo(ContractMethodAddressButton);