UNPKG

@mojito-inc/connect-wallet

Version:

Connecting wallet via metamask, wallet connect, email

45 lines (42 loc) 1.44 kB
import * as React from 'react'; import { createContext, useContext, useState, useMemo } from 'react'; const WalletDetailsContext = createContext({}); const useWalletDetails = () => { return useContext(WalletDetailsContext); }; const WalletDetailsProvider = ({ children }) => { const [walletDetails, setWalletDetails] = useState({ address: '', balance: { native: 0, nonNative: 0, }, walletType: 'ethereum', }); const [connectStatus, setConnectStatus] = useState('connect'); const [disconnectStatus, setDisconnectStatus] = useState('disconnect'); const [refetchBalanceStatus, setRefetchingBalanceStatus] = useState('refetch'); const values = useMemo(() => { return { walletDetails, connectStatus, disconnectStatus, refetchBalanceStatus, setWalletDetails, setConnectStatus, setDisconnectStatus, setRefetchingBalanceStatus, }; }, [ connectStatus, disconnectStatus, walletDetails, refetchBalanceStatus, setWalletDetails, setConnectStatus, setDisconnectStatus, setRefetchingBalanceStatus, ]); return (React.createElement(WalletDetailsContext.Provider, { value: values }, children)); }; export { WalletDetailsProvider, useWalletDetails };