contract FURockNRollPortraits is ERC721, Ownable {
    uint16 private mintCount = 0;

    uint256 public MAX_SUPPLY = 45;
    string baseTokenURI;
    

    event NFTMinted(uint256 totalMinted);

    constructor(string memory baseURI) ERC721("F U Rock N Roll Portraits", "FUROCK") {
        setBaseURI(baseURI);
    }

    function setBaseURI(string memory baseURI) public onlyOwner {
        baseTokenURI = baseURI;
    }
    
    function totalSupply() public view returns (uint16) {
        return mintCount;
    }
  
    //mint NFT
    function mintNFT(uint32 _count) public onlyOwner {
        require(totalSupply() +  _count <= MAX_SUPPLY,"You can not mint more than 45 NFTs");
        for(uint32 i = 1; i <= _count; i++ ){
            _safeMint(_msgSender(), ++mintCount);
            emit NFTMinted(mintCount);
        }
        
    }

    function _baseURI() internal view virtual override returns (string memory) {
        return baseTokenURI;
    }
}
function mintNFT(uint32 _count) public onlyOwner {
    require(totalSupply() +  _count <= MAX_SUPPLY,"You can not mint more than 45 NFTs");
    for(uint32 i = 1; i <= _count; i++ ){
        _safeMint(_msgSender(), ++mintCount);
        emit NFTMinted(mintCount);
    }
        
}

//mint NFT