@particle-network/connectkit
Version:
73 lines (70 loc) • 1.77 kB
JavaScript
"use client";
import {
init_useConnect,
useConnect
} from "./chunk-I7EXWVJH.mjs";
import {
init_useLastConnectorId,
useLastConnectorId
} from "./chunk-XV4TVGGP.mjs";
import {
init_useConnectors,
useConnector
} from "./chunk-QGF3ZKLH.mjs";
import {
__esm
} from "./chunk-Y7A564BU.mjs";
// src/hooks/useWalletConnectUri.ts
import { useCallback, useState } from "react";
function useWalletConnectUri(connectorId) {
const connector = useConnector("walletConnect");
const { connectAsync } = useConnect();
const { updateLastConnectorId } = useLastConnectorId();
const [uri, setUri] = useState();
const [error, setError] = useState();
const handleMessage = useCallback((message) => {
const { type, data } = message;
if (type === "display_uri") {
setUri(data);
}
}, []);
const connectWalletConnect = useCallback(
async (connector2) => {
setError(void 0);
try {
await connectAsync({ connector: connector2 });
if (connectorId) {
updateLastConnectorId(connectorId);
}
} catch (error2) {
setError(error2);
}
},
[connectAsync, connectorId, updateLastConnectorId]
);
const requestUri = useCallback(() => {
if (connector) {
connectWalletConnect(connector);
connector.emitter.on("message", handleMessage);
}
}, [connector, connectWalletConnect, handleMessage]);
return {
available: !!connector,
uri,
error,
requestUri
};
}
var init_useWalletConnectUri = __esm({
"src/hooks/useWalletConnectUri.ts"() {
"use strict";
init_useConnect();
init_useConnectors();
init_useLastConnectorId();
}
});
export {
useWalletConnectUri,
init_useWalletConnectUri
};
//# sourceMappingURL=chunk-BC7CVV2X.mjs.map