'use client'; import React, { useEffect, useState } from 'react'; import { ethers } from 'ethers'; declare global { interface Window { ethereum: ethers.providers.ExternalProvider; } } const MetaMask = () => { const [metaMaskInstalled, setMetaMaskInstalled] = useState(false); const [account, setAccount] = useState(null); const isMetaMaskInstalled = () => typeof window !== 'undefined' && typeof (window as { ethereum?: unknown }).ethereum !== 'undefined'; useEffect(() => { if (isMetaMaskInstalled()) { setMetaMaskInstalled(true); } }, []); const handleConnectWallet = async () => { if (window.ethereum && window.ethereum.request) { try { // Request account access const accounts = await window.ethereum.request({ method: 'eth_requestAccounts', }); setAccount(accounts[0]); // Set the first account } catch (error) { console.error('Error connecting to MetaMask:', error); } } else { alert( 'MetaMask is not installed. Please install MetaMask and try again.' ); } }; return (
{metaMaskInstalled ? (
{account ? (

Connected: 0x{account.slice(2, 5)}...{account.slice(-3)}

) : ( )}
) : ( )}
); }; export default MetaMask;