UNPKG

@web3auth/modal

Version:

Multi chain wallet aggregator for web3Auth

54 lines (50 loc) 1.34 kB
'use strict'; var noModal = require('@web3auth/no-modal'); var vue = require('vue'); var useWeb3AuthInner = require('./useWeb3AuthInner.js'); const useWeb3AuthUser = () => { const { web3Auth, isConnected, isMFAEnabled, setIsMFAEnabled } = useWeb3AuthInner.useWeb3AuthInner(); const loading = vue.ref(false); const error = vue.ref(null); const userInfo = vue.ref(null); const getUserInfo = async () => { try { if (!web3Auth.value) throw noModal.WalletInitializationError.notReady(); error.value = null; loading.value = true; const result = await web3Auth.value.getUserInfo(); userInfo.value = result; return result; } catch (err) { error.value = err; } finally { loading.value = false; } }; vue.watch(isConnected, async newIsConnected => { if (newIsConnected && !userInfo.value) { const result = await getUserInfo(); userInfo.value = result; setIsMFAEnabled((result === null || result === void 0 ? void 0 : result.isMfaEnabled) || false); } if (!newIsConnected && userInfo.value) { userInfo.value = null; setIsMFAEnabled(false); } }, { immediate: true }); return { loading, error, userInfo, isMFAEnabled, getUserInfo }; }; exports.useWeb3AuthUser = useWeb3AuthUser;