Web3-react’s plugin to display modal

@bitiumagency/web3-react-modal

@Web3-react’s plugin to display modal

NOTE THAT THIS PLUGIN IS COMPATIBLE WITH @WEB3-REACT V6

(we will update this plugin as soon as @web3-react V8 officially released)

Features

  • Display modal with as little code as possible
  • Multi-Chain support
  • Support all @web3-react connectors
  • Keep user connected when the page is refreshed (Metamask)
  • Add the network when user’s provider doesn’t have it

Note : all @web-react features are still the same, such as useWeb3React hook and so on.

When should I use @bitiumagency/web3-react-modal?

If you are using @web3-react v6 in your project and you want to allow the user to select the desired provider without the need for additional code, this package can come in handy.

Usage

Add it to your project: (note that @web-react/core must be pre-installed in your project)

npm i @bitiumagency/web3-react-modal

Add Web3ReactModal component to your react Dapp:

<Web3ReactModal
    useWeb3React={}
    supportedChains={}
    connectors={} //optional
/>

And then call connect function from useWeb3ReactModal hook whenever you want :

const {connect} = useWeb3ReactModal()
function handleButtonClick() {
    connect();
}

Props

useWeb3React
useWeb3React = Import directly from @web3-react and add it to this prop
supportedChains

supportedChains = list of supported chains
interface {
    chainId:  number;
    name?:  string; //These values are used when the network needs to be added
    rpcUrl?:  string;
    nativeCurrency?: {
    name:  string;
    decimals:  number;
    symbol:  string;
    };
}
connectors

connectors = list of connectors
//Metamask is added by default
interface {
    title:  String;
    id:  String; //id is unique
    logo?:  React.ReactNode;
    connector:  any; //import directly from connector package and add it to this prop
    options:  Object; //connector options
}

if you use these values (walletconnect - authereum - fortmatic - frame - portis - injected - ledger - trezor) for id you don’t need to use the logo prop.

Example

To run the examples, switch to the example directory. Then, simply run yarn install to install, and yarn start to run the example on localhost:3000.

Contributing

Contributions are always welcome, no matter how large or small.


this package is a part of Bitium Agency’s contribution to the industry!

GitHub

View Github