UNPKG

@sky-mavis/tanto-widget

Version:
48 lines (44 loc) 1.19 kB
'use strict'; var react = require('react'); var index$1 = require('../constants/index.cjs'); var index = require('../utils/index.cjs'); var useConnect = require('./useConnect.cjs'); function useWalletConnectUri({ connector, onReceiveDisplayUri }) { const [uri, setUri] = react.useState(undefined); const { status, connect, error } = useConnect.useConnect({ connector }); const generateConnectUri = react.useCallback(() => { if (!connector || !index.isWCConnector(connector.id)) return; setUri(undefined); const handleDisplayUri = ({ type, data }) => { if (type !== 'display_uri' || typeof data !== 'string') return; setUri(data); onReceiveDisplayUri?.(data); connector.emitter.off('message', handleDisplayUri); }; connector.emitter.on('message', handleDisplayUri); connect(); }, [connector, connect]); react.useEffect(() => { const timer = setTimeout(generateConnectUri, index$1.DELAY_CONNECT); return () => clearTimeout(timer); }, [generateConnectUri]); return { uri, status, generateConnectUri, error }; } exports.useWalletConnectUri = useWalletConnectUri;