import React from 'react'; import translate, { translateRaw } from 'translations'; import UnitDropdown from './UnitDropdown'; import { Ether } from 'libs/units'; interface Props { value: string; unit: string; tokens: string[]; balance: number | null | Ether; onChange?(value: string, unit: string): void; } export default class AmountField extends React.Component { public props: Props; public render() { const { value, unit, onChange, balance } = this.props; const isReadonly = !onChange; return (
0 ? 'is-valid' : 'is-invalid'}`} type="text" placeholder={translateRaw('SEND_amount_short')} value={value} disabled={isReadonly} onChange={isReadonly ? void 0 : this.onValueChange} />
{!isReadonly && balance && ( {translate('SEND_TransferTotal')} )}
); } public onUnitChange = (unit: string) => { if (this.props.onChange) { this.props.onChange(this.props.value, unit); } }; public onValueChange = (e: React.SyntheticEvent) => { if (this.props.onChange) { this.props.onChange( (e.target as HTMLInputElement).value, this.props.unit ); } }; public onSendEverything = () => { if (this.props.onChange) { this.props.onChange('everything', this.props.unit); } }; }