'use client'; import React, { useState } from 'react'; import { Box, VStack, Text, Input, Button, FormControl, FormLabel, NumberInput, NumberInputField, NumberInputStepper, NumberIncrementStepper, NumberDecrementStepper, } from '@chakra-ui/react'; interface TransferBalanceProps { userBalance: number; onTransfer: (username: string, amount: number) => Promise; } export default function TransferBalance({ userBalance, onTransfer }: TransferBalanceProps) { const [username, setUsername] = useState(''); const [amount, setAmount] = useState(0); const [isLoading, setIsLoading] = useState(false); const handleTransfer = async () => { if (!username || amount <= 0 || amount > userBalance) { return; } setIsLoading(true); try { await onTransfer(username, amount); // Очищаем форму после успешного перевода setUsername(''); setAmount(0); } finally { setIsLoading(false); } }; return ( Перевод монет Ваш баланс: {userBalance} монет Имя пользователя получателя setUsername(e.target.value)} placeholder="Введите имя пользователя" /> Сумма перевода setAmount(value)} min={1} max={userBalance} > ); }