Advertisement
Guest User

Untitled

a guest
Dec 5th, 2021
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. import { useEffect, useState } from "react";
  2. import { useMoralis, useMoralisWeb3Api, useMoralisWeb3ApiCall } from "react-moralis";
  3. import { useIPFS } from "./useIPFS";
  4.  
  5. export const useNFTTokenIds = () => {
  6. const { token } = useMoralisWeb3Api();
  7. const { chainId } = useMoralis();
  8. const { resolveLink } = useIPFS();
  9. const [NFTTokenIds, setNFTTokenIds] = useState();
  10. const {
  11. fetch: getNFTTokenIds,
  12. data,
  13. error,
  14. isLoading,
  15. } = useMoralisWeb3ApiCall(token.getAllTokenIds, { chain: chainId, address: "0xc1E201E41cBaB8522623be65Ed63f21364862CE9" });
  16.  
  17. useEffect(async () => {
  18. console.log(chainId);
  19. if (data?.result) {
  20. const NFTs = data.result;
  21. for (let NFT of NFTs) {
  22. if (NFT?.metadata) {
  23. NFT.metadata = JSON.parse(NFT.metadata);
  24. // metadata is a string type
  25. NFT.image = resolveLink(NFT.metadata?.image);
  26. }else if (NFT?.token_uri){
  27. await fetch(NFT.token_uri)
  28. .then(response => response.json())
  29. .then(data => {
  30. NFT.image = resolveLink(data.image);
  31. });
  32. }
  33. }
  34. setNFTTokenIds(NFTs);
  35. }
  36. // eslint-disable-next-line react-hooks/exhaustive-deps
  37. }, [data]);
  38.  
  39. return { getNFTTokenIds, NFTTokenIds, error, isLoading };
  40. };
  41.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement