UNPKG

@web3auth/no-modal

Version:
51 lines (48 loc) 1.44 kB
import { ref, watch } from 'vue'; import { useWeb3AuthInner } from './useWeb3AuthInner.js'; import { WalletInitializationError } from '../../base/errors/index.js'; import { log } from '../../base/loglevel.js'; const useWeb3AuthConnect = () => { const { web3Auth, isConnected } = useWeb3AuthInner(); const loading = ref(false); const error = ref(null); const connectorName = ref(null); watch(isConnected, newVal => { if (!newVal && connectorName.value) { connectorName.value = null; } if (newVal && !connectorName.value) { var _web3Auth$value; connectorName.value = (_web3Auth$value = web3Auth.value) === null || _web3Auth$value === void 0 ? void 0 : _web3Auth$value.connectedConnectorName; } }, { immediate: true }); const connect = async (connectorType, loginParams) => { try { if (!web3Auth.value) throw WalletInitializationError.notReady(); error.value = null; loading.value = true; const localProvider = await web3Auth.value.connectTo(connectorType, loginParams); connectorName.value = web3Auth.value.connectedConnectorName; return localProvider; } catch (err) { log.error("Error connecting", err); error.value = err; return null; } finally { loading.value = false; } }; return { isConnected, loading, error, connectorName, connect }; }; export { useWeb3AuthConnect };