Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import { useEffect, useState } from "react";
- import { useMoralis, useMoralisWeb3Api, useMoralisWeb3ApiCall } from "react-moralis";
- import { useIPFS } from "./useIPFS";
- export const useNFTTokenIds = () => {
- const { token } = useMoralisWeb3Api();
- const { chainId } = useMoralis();
- const { resolveLink } = useIPFS();
- const [NFTTokenIds, setNFTTokenIds] = useState();
- const {
- fetch: getNFTTokenIds,
- data,
- error,
- isLoading,
- } = useMoralisWeb3ApiCall(token.getAllTokenIds, { chain: chainId, address: "0xc1E201E41cBaB8522623be65Ed63f21364862CE9" });
- useEffect(async () => {
- console.log(chainId);
- if (data?.result) {
- const NFTs = data.result;
- for (let NFT of NFTs) {
- if (NFT?.metadata) {
- NFT.metadata = JSON.parse(NFT.metadata);
- // metadata is a string type
- NFT.image = resolveLink(NFT.metadata?.image);
- }else if (NFT?.token_uri){
- await fetch(NFT.token_uri)
- .then(response => response.json())
- .then(data => {
- NFT.image = resolveLink(data.image);
- });
- }
- }
- setNFTTokenIds(NFTs);
- }
- // eslint-disable-next-line react-hooks/exhaustive-deps
- }, [data]);
- return { getNFTTokenIds, NFTTokenIds, error, isLoading };
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement