nostr-hooks
Version:
React hooks for developing Nostr clients
47 lines • 1.4 kB
JavaScript
import { useEffect, useState } from 'react';
import { useNdk } from '../use-ndk';
export const useFollows = (profileParams) => {
const [follows, setFollows] = useState();
const [status, setStatus] = useState('idle');
const { ndk } = useNdk();
useEffect(() => {
setStatus('idle');
if (!profileParams)
return;
if (profileParams.constructor === Object && Object.keys(profileParams).length === 0)
return;
if (!profileParams.nip05 && !profileParams.pubkey && !profileParams.npub)
return;
if (!ndk)
return;
setStatus('loading');
ndk
.getUser(profileParams)
.follows()
.then((ndkUserSet) => {
if (ndkUserSet.size > 0) {
setFollows([...ndkUserSet]);
setStatus('success');
}
else {
setFollows(null);
setStatus('not-found');
}
})
.catch(() => {
setFollows(undefined);
setStatus('error');
});
}, [
setFollows,
setStatus,
profileParams?.nip05,
profileParams?.pubkey,
profileParams?.npub,
profileParams?.nip46Urls,
profileParams?.relayUrls,
ndk,
]);
return { follows, status };
};
//# sourceMappingURL=index.js.map