diff --git a/src/components/Wallet/Wallet.js b/src/components/Wallet/Wallet.js index a89eb91..aca67ae 100644 --- a/src/components/Wallet/Wallet.js +++ b/src/components/Wallet/Wallet.js @@ -96,41 +96,65 @@ AddAccount.propTypes = { export class SendFunds extends React.Component { state = { addressValid: true, + amount: 0, + address: '', } send = () => { const validateAddress = this.props.validateAddress || (() => true); const defaultAddress = this.props.defaultAddress; - const recipientAddress = this.recipientAddress.value; - const amount = this.amount.value; + const recipientAddress = this.state.address; + const amount = +this.state.amount; const addressValid = validateAddress(recipientAddress); this.setState({ addressValid, - }) + }); if (addressValid) { this.props.sendCallback(defaultAddress, recipientAddress, amount); } }; + + updateAmount = (e) => { + const { value } = e.target; + + if ((!Number.isNaN(value) && +value >= 0) || value === '') { + this.setState({ + amount: value, + }); + } + }; + + updateAddress = (e) => { + const validateAddress = this.props.validateAddress || (() => true); + const { value } = e.target; + + this.setState({ + address: value, + addressValid: validateAddress(value) + }); + } + render() { - const { addressValid } = this.state; + const { addressValid, amount, address } = this.state; + const disabledSend = !amount || !addressValid; return ( Recipient Address
- { this.recipientAddress = node; }} /> +
Amount
- { this.amount = node; }} /> +
- +