|
|
|
import { connect } from 'react-redux'
|
|
|
|
import {
|
|
|
|
accountsWithSendEtherInfoSelector,
|
|
|
|
getConversionRate,
|
|
|
|
getSelectedTokenContract,
|
|
|
|
getSendFromObject,
|
|
|
|
} from '../../send.selectors.js'
|
|
|
|
import {
|
|
|
|
getFromDropdownOpen,
|
|
|
|
} from './send-from-row.selectors.js'
|
|
|
|
import { calcTokenBalance } from '../../send.utils.js'
|
|
|
|
import {
|
|
|
|
updateSendFrom,
|
|
|
|
setSendTokenBalance,
|
|
|
|
} from '../../../../actions'
|
|
|
|
import {
|
|
|
|
closeFromDropdown,
|
|
|
|
openFromDropdown,
|
|
|
|
} from '../../../../ducks/send.duck'
|
|
|
|
import SendFromRow from './send-from-row.component'
|
|
|
|
|
|
|
|
export default connect(mapStateToProps, mapDispatchToProps)(SendFromRow)
|
|
|
|
|
|
|
|
function mapStateToProps (state) {
|
|
|
|
return {
|
|
|
|
conversionRate: getConversionRate(state),
|
|
|
|
from: getSendFromObject(state),
|
|
|
|
fromAccounts: accountsWithSendEtherInfoSelector(state),
|
|
|
|
fromDropdownOpen: getFromDropdownOpen(state),
|
|
|
|
tokenContract: getSelectedTokenContract(state),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function mapDispatchToProps (dispatch) {
|
|
|
|
return {
|
|
|
|
closeFromDropdown: () => dispatch(closeFromDropdown()),
|
|
|
|
openFromDropdown: () => dispatch(openFromDropdown()),
|
|
|
|
updateSendFrom: newFrom => dispatch(updateSendFrom(newFrom)),
|
|
|
|
setSendTokenBalance: (usersToken, selectedToken) => {
|
|
|
|
if (!usersToken) return
|
|
|
|
|
|
|
|
const tokenBalance = calcTokenBalance({ usersToken, selectedToken })
|
|
|
|
dispatch(setSendTokenBalance(tokenBalance))
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|