37 lines
1.2 KiB
TypeScript
37 lines
1.2 KiB
TypeScript
import { BigNumber } from '@0x/utils';
|
|
import { Web3Wrapper } from '@0x/web3-wrapper';
|
|
import * as React from 'react';
|
|
import { connect } from 'react-redux';
|
|
import { State } from 'ts/redux/reducer';
|
|
import { ValidatedBigNumberCallback } from 'ts/types';
|
|
import { constants } from 'ts/utils/constants';
|
|
|
|
import { EthAmountInput as EthAmountInputComponent } from 'ts/components/inputs/eth_amount_input';
|
|
|
|
interface EthAmountInputProps {
|
|
label?: string;
|
|
amount?: BigNumber;
|
|
hintText?: string;
|
|
onChange: ValidatedBigNumberCallback;
|
|
onErrorMsgChange?: (errorMsg: React.ReactNode) => void;
|
|
shouldShowIncompleteErrs: boolean;
|
|
shouldCheckBalance: boolean;
|
|
shouldShowErrs?: boolean;
|
|
shouldShowUnderline?: boolean;
|
|
style?: React.CSSProperties;
|
|
labelStyle?: React.CSSProperties;
|
|
inputHintStyle?: React.CSSProperties;
|
|
}
|
|
|
|
interface ConnectedState {
|
|
balance: BigNumber;
|
|
}
|
|
|
|
const mapStateToProps = (state: State, _ownProps: EthAmountInputProps): ConnectedState => ({
|
|
balance: Web3Wrapper.toUnitAmount(state.userEtherBalanceInWei, constants.DECIMAL_PLACES_ETH),
|
|
});
|
|
|
|
export const EthAmountInput: React.ComponentClass<EthAmountInputProps> = connect(mapStateToProps)(
|
|
EthAmountInputComponent,
|
|
);
|