You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.4 KiB
45 lines
1.4 KiB
7 years ago
|
import {
|
||
|
getSendFrom,
|
||
|
conversionRateSelector,
|
||
|
getSelectedTokenContract,
|
||
|
getCurrentAccountWithSendEtherInfo,
|
||
|
accountsWithSendEtherInfoSelector,
|
||
|
} from '../../send.selectors.js'
|
||
|
import { getFromDropdownOpen } from './send-from-row.selectors.js'
|
||
|
import { calcTokenUpdateAmount } from './send-from-row.utils.js'
|
||
|
import {
|
||
|
updateSendTokenBalance,
|
||
|
updateSendFrom,
|
||
|
} from '../../../actions'
|
||
|
import {
|
||
|
openFromDropdown,
|
||
|
closeFromDropdown,
|
||
|
} from '../../../ducks/send'
|
||
|
import SendFromRow from './send-from-row.component'
|
||
|
|
||
|
export default connect(mapStateToProps, mapDispatchToProps)(SendFromRow)
|
||
|
|
||
|
function mapStateToProps (state) {
|
||
|
return {
|
||
|
from: getSendFrom(state) || getCurrentAccountWithSendEtherInfo(state),
|
||
|
fromAccounts: accountsWithSendEtherInfoSelector(state),
|
||
|
conversionRate: conversionRateSelector(state),
|
||
|
fromDropdownOpen: getFromDropdownOpen(state),
|
||
|
tokenContract: getSelectedTokenContract(state),
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function mapDispatchToProps (dispatch) {
|
||
|
return {
|
||
|
updateSendTokenBalance: (usersToken, selectedToken) => {
|
||
|
if (!usersToken) return
|
||
|
|
||
|
const tokenBalance = calcTokenUpdateAmount(selectedToken, selectedToken)
|
||
|
dispatch(updateSendTokenBalance(tokenBalance))
|
||
|
},
|
||
|
updateSendFrom: newFrom => dispatch(updateSendFrom(newFrom)),
|
||
|
openFromDropdown: () => dispatch(()),
|
||
|
closeFromDropdown: () => dispatch(()),
|
||
|
}
|
||
|
}
|