diff --git a/crypto_clash_frontend/app/clash/page.tsx b/crypto_clash_frontend/app/clash/page.tsx index c14ed4b..40801a9 100644 --- a/crypto_clash_frontend/app/clash/page.tsx +++ b/crypto_clash_frontend/app/clash/page.tsx @@ -17,6 +17,7 @@ export default function Clash() { const [selectedGameId, setSelectedGameId] = useState(); const [availableAccounts, setAvailableAccounts] = useState([]); const [selectedAccount, setSelectedAccount] = useState(""); + const [balance, setBalance] = useState("0"); const handlePlayClick = (gameId: number) => { setSelectedGameId(gameId); @@ -56,6 +57,22 @@ export default function Clash() { loadConfig(); }, []); + // Fetch balance when selected account changes + useEffect(() => { + const fetchBalance = async () => { + if (web3 && selectedAccount) { + try { + const balanceWei = await web3.eth.getBalance(selectedAccount); + const balanceEth = web3.utils.fromWei(balanceWei, "ether"); + setBalance(parseFloat(balanceEth).toFixed(4)); + } catch (err: any) { + showErrorToast("Failed to fetch balance: " + err.message); + } + } + }; + fetchBalance(); + }, [web3, selectedAccount]); + return (
@@ -100,6 +117,10 @@ export default function Clash() { ? `${selectedAccount.slice(0, 6)}...${selectedAccount.slice(-4)}` : "Not connected"}

+

+ Current Balance:{" "} + {balance} ETH +

Game Contract Address:{" "} {config?.GAME_CONTRACT_ADDRESS}