UNPKG

@web3auth/modal

Version:

Multi chain wallet aggregator for web3Auth

43 lines (39 loc) 1.12 kB
'use strict'; var react = require('react'); var useWeb3AuthInner = require('./useWeb3AuthInner.js'); const useIdentityToken = () => { const { web3Auth, isConnected } = useWeb3AuthInner.useWeb3AuthInner(); const [loading, setLoading] = react.useState(false); const [error, setError] = react.useState(null); const [token, setToken] = react.useState(null); const getIdentityToken = react.useCallback(async () => { setLoading(true); setError(null); try { const userAuthInfo = await web3Auth.getIdentityToken(); if (userAuthInfo !== null && userAuthInfo !== void 0 && userAuthInfo.idToken) { setToken(userAuthInfo.idToken); } return userAuthInfo === null || userAuthInfo === void 0 ? void 0 : userAuthInfo.idToken; } catch (error) { setError(error); } finally { setLoading(false); } }, [web3Auth]); react.useEffect(() => { if (!isConnected && token) { setToken(null); } }, [isConnected, token]); return { loading, error, token, getIdentityToken }; }; exports.useIdentityToken = useIdentityToken;