1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-10-26 13:20:26 +02:00
metamask-extension/ui/app/components/transaction-activity-log/transaction-activity-log.container.js
2018-12-09 12:48:06 -08:00

45 lines
1.3 KiB
JavaScript

import { connect } from 'react-redux'
import R from 'ramda'
import TransactionActivityLog from './transaction-activity-log.component'
import { conversionRateSelector, getNativeCurrency } from '../../selectors'
import { combineTransactionHistories } from './transaction-activity-log.util'
import {
TRANSACTION_RESUBMITTED_EVENT,
TRANSACTION_CANCEL_ATTEMPTED_EVENT,
} from './transaction-activity-log.constants'
const matchesEventKey = matchEventKey => ({ eventKey }) => eventKey === matchEventKey
const mapStateToProps = state => {
return {
conversionRate: conversionRateSelector(state),
nativeCurrency: getNativeCurrency(state),
}
}
const mergeProps = (stateProps, dispatchProps, ownProps) => {
const {
transactionGroup: {
transactions = [],
primaryTransaction,
} = {},
...restOwnProps
} = ownProps
const activities = combineTransactionHistories(transactions)
const inlineRetryIndex = R.findLastIndex(matchesEventKey(TRANSACTION_RESUBMITTED_EVENT))(activities)
const inlineCancelIndex = R.findLastIndex(matchesEventKey(TRANSACTION_CANCEL_ATTEMPTED_EVENT))(activities)
return {
...stateProps,
...dispatchProps,
...restOwnProps,
activities,
inlineRetryIndex,
inlineCancelIndex,
primaryTransaction,
}
}
export default connect(mapStateToProps, null, mergeProps)(TransactionActivityLog)