8e9c2e4080
* add deposit page * add web3 provider using web3-react package * add env setup, add guard for incorrect chain id * add lib for web3-provider * make wallet and ethereum connect dialogs look more consistent * add setup tests file for jest-dom * remove chain id config and just use appChainId prop, add disconnect button to invalid chainId state * remove .env file for now, will complete as own ticket * switch handling of connect dialog state to the consuming app * rename web3-provider package to just web3 * envs for each environment so we can specify chainId * remove fallback to testnet for apollo client creation * make web3container enforce connection before rendering childen * move infura id to env var
30 lines
663 B
TypeScript
30 lines
663 B
TypeScript
import { useVegaWallet } from '@vegaprotocol/wallet';
|
|
|
|
interface VegaWalletButtonProps {
|
|
setConnectDialog: (isOpen: boolean) => void;
|
|
}
|
|
|
|
export const VegaWalletButton = ({
|
|
setConnectDialog,
|
|
}: VegaWalletButtonProps) => {
|
|
const { disconnect, keypairs } = useVegaWallet();
|
|
const isConnected = keypairs !== null;
|
|
|
|
const handleClick = () => {
|
|
if (isConnected) {
|
|
disconnect();
|
|
} else {
|
|
setConnectDialog(true);
|
|
}
|
|
};
|
|
|
|
return (
|
|
<button
|
|
onClick={handleClick}
|
|
className="ml-auto inline-block text-ui sm:text-body-large"
|
|
>
|
|
{isConnected ? 'Disconnect Vega wallet' : 'Connect Vega wallet'}
|
|
</button>
|
|
);
|
|
};
|