Thanks for sharing such a great NFT market implementation! However, I found a hidden but critical issue, that is when the second NFT to be mint, the MetaMask always claims a transaction error.
I tried to debug the contract but sadly I failed to find the real cause :< so I decide to report the issue to you!
Best!