"use client" import { useState } from 'react'; import { ethers } from 'ethers'; import { abi, NFT_CONTRACT_ADDRESS } from "../constants/index"; const CertificateMinter = () => { const [certificateId, setCertificateId] = useState(''); const [userName, setUserName] = useState(''); const [surName, setSurName] = useState(''); const [email, setEmail] = useState(''); const [companyName, setCompanyName] = useState(''); const mintCertificate = async () => { try { if (window.ethereum) { await window.ethereum.request({ method: 'eth_requestAccounts' }); const provider = new ethers.providers.Web3Provider(window.ethereum); const signer = provider.getSigner(); const certificateContract = new ethers.Contract(NFT_CONTRACT_ADDRESS, abi, signer); await certificateContract.mintCertificate(certificateId, userName, surName, email, companyName); alert('Certificate minted successfully!'); } else { alert('Please connect your wallet'); } } catch (error) { console.error('Error minting certificate:', error); if (error.code === 4001) { alert('Certificate already issued'); } else { alert('Error minting certificate. Please check the console for details.'); } } }; return (