@bigmi/react
Version:
React primitives for Bitcoin apps.
31 lines (30 loc) • 959 B
JavaScript
"use client";
import { useConfig } from "./useConfig.js";
import { useConnectors } from "./useConnectors.js";
import { useEffect } from "react";
import { connectMutationOptions } from "@bigmi/client";
import { useMutation } from "@tanstack/react-query";
//#region src/hooks/useConnect.ts
function useConnect(parameters = {}) {
const { mutation } = parameters;
const config = useConfig(parameters);
const mutationOptions = connectMutationOptions(config);
const { mutate, mutateAsync, reset, ...result } = useMutation({
...mutation,
...mutationOptions
});
useEffect(() => {
return config.subscribe(({ status }) => status, (status, previousStatus) => {
if (previousStatus === "connected" && status === "disconnected") reset();
});
}, [config, reset]);
return {
...result,
connect: mutate,
connectAsync: mutateAsync,
connectors: useConnectors({ config })
};
}
//#endregion
export { useConnect };
//# sourceMappingURL=useConnect.js.map