1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-04 23:14:56 +01:00
metamask-extension/ui/pages/send/send-content/send-amount-row/amount-max-button/amount-max-button.container.js

43 lines
1.2 KiB
JavaScript

import { connect } from 'react-redux';
import {
getGasTotal,
getSendToken,
getSendFromBalance,
getTokenBalance,
getSendMaxModeState,
getBasicGasEstimateLoadingStatus,
} from '../../../../../selectors';
import {
updateSendErrors,
updateSendAmount,
setMaxModeTo,
} from '../../../../../ducks/send/send.duck';
import { calcMaxAmount } from './amount-max-button.utils';
import AmountMaxButton from './amount-max-button.component';
export default connect(mapStateToProps, mapDispatchToProps)(AmountMaxButton);
function mapStateToProps(state) {
return {
balance: getSendFromBalance(state),
buttonDataLoading: getBasicGasEstimateLoadingStatus(state),
gasTotal: getGasTotal(state),
maxModeOn: getSendMaxModeState(state),
sendToken: getSendToken(state),
tokenBalance: getTokenBalance(state),
};
}
function mapDispatchToProps(dispatch) {
return {
setAmountToMax: (maxAmountDataObject) => {
dispatch(updateSendErrors({ amount: null }));
dispatch(updateSendAmount(calcMaxAmount(maxAmountDataObject)));
},
clearMaxAmount: () => {
dispatch(updateSendAmount('0'));
},
setMaxModeTo: (bool) => dispatch(setMaxModeTo(bool)),
};
}