UNPKG

@web3auth/modal

Version:

Multi chain wallet aggregator for web3Auth

51 lines (47 loc) 1.34 kB
'use strict'; var react = require('react'); var useWeb3AuthInner = require('./useWeb3AuthInner.js'); const useWeb3AuthUser = () => { const { web3Auth, isConnected, isMFAEnabled, setIsMFAEnabled } = useWeb3AuthInner.useWeb3AuthInner(); const [userInfo, setUserInfo] = react.useState(null); const [loading, setLoading] = react.useState(false); const [error, setError] = react.useState(null); const getUserInfo = react.useCallback(async () => { setLoading(true); setError(null); try { const userInfo = await web3Auth.getUserInfo(); setUserInfo(userInfo); return userInfo; } catch (error) { setError(error); } finally { setLoading(false); } }, [web3Auth]); react.useEffect(() => { const saveUserInfo = async () => { const userInfo = await getUserInfo(); setUserInfo(userInfo); setIsMFAEnabled((userInfo === null || userInfo === void 0 ? void 0 : userInfo.isMfaEnabled) || false); }; if (isConnected && !userInfo) saveUserInfo(); if (!isConnected && userInfo) { setUserInfo(null); setIsMFAEnabled(false); } }, [isConnected, userInfo, getUserInfo, setIsMFAEnabled]); return { loading, error, userInfo, isMFAEnabled, getUserInfo }; }; exports.useWeb3AuthUser = useWeb3AuthUser;