import { connect } from 'react-redux'; import { getSendEnsResolution, getSendEnsResolutionError, accountsWithSendEtherInfoSelector, getAddressBook, getAddressBookEntry, } from '../../../../selectors'; import { updateSendTo } from '../../../../store/actions'; import AddRecipient from './add-recipient.component'; export default connect(mapStateToProps, mapDispatchToProps)(AddRecipient); function mapStateToProps(state) { const ensResolution = getSendEnsResolution(state); let addressBookEntryName = ''; if (ensResolution) { const addressBookEntry = getAddressBookEntry(state, ensResolution) || {}; addressBookEntryName = addressBookEntry.name; } const addressBook = getAddressBook(state); const ownedAccounts = accountsWithSendEtherInfoSelector(state).sort((a, b) => a.name.localeCompare(b.name), ); return { addressBook, addressBookEntryName, contacts: addressBook.filter(({ name }) => Boolean(name)), ensResolution, ensResolutionError: getSendEnsResolutionError(state), nonContacts: addressBook.filter(({ name }) => !name), ownedAccounts, }; } function mapDispatchToProps(dispatch) { return { updateSendTo: (to, nickname) => dispatch(updateSendTo(to, nickname)), }; }