UNPKG

@web3auth/modal

Version:

Multi chain wallet aggregator for web3Auth

52 lines (49 loc) 1.3 kB
import { WalletInitializationError } from '@web3auth/no-modal'; import { ref, watch } from 'vue'; import { useWeb3AuthInner } from './useWeb3AuthInner.js'; const useWeb3AuthUser = () => { const { web3Auth, isConnected, isMFAEnabled, setIsMFAEnabled } = useWeb3AuthInner(); const loading = ref(false); const error = ref(null); const userInfo = ref(null); const getUserInfo = async () => { try { if (!web3Auth.value) throw 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; } }; 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 }; }; export { useWeb3AuthUser };