'NFT not revealed on opensea mainnent but revealed on testnet

I tested my contract on testnet and it's displaying the NFT, but not showing on mainnet.

I have some variables set in the contract to turn on and off the NFT.

bool public revealed = true;

Also, the tokenURI has this function:

function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {
    require(_exists(tokenId), "ERC721Metadata: URI query for nonexistent token");
    require(tokenId < _tokenIdCounter.current(), "Token ID must be less than the total supply");
    if(!revealed) {
        return notRevealedUri;
    }
    string memory currentBaseURI = _baseURI();
    return bytes(currentBaseURI).length > 0 
        ? string(
            abi.encodePacked(
                currentBaseURI, 
                tokenId.toString(), 
                baseExtension))
                : "";
}

here is the testnet rinkeby link: https://rinkeby.etherscan.io/address/0x8b631a5528df6d9383a636af81fc1233ed8736f4 https://testnets.opensea.io/assets/0x8B631a5528dF6d9383a636Af81FC1233eD8736F4/0

and mainnet is not displaying on opensea: https://opensea.io/collection/sacc

I deploy the same contract to both rinkeby and mainnet, so am surprised the NFT are not showing on mainnet while it's showing on testnet.

I will be glad if anyone can help me out here.



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source