diff options
Diffstat (limited to 'ui/app/components/transaction-list')
4 files changed, 0 insertions, 217 deletions
diff --git a/ui/app/components/transaction-list/index.js b/ui/app/components/transaction-list/index.js deleted file mode 100644 index 688994367..000000000 --- a/ui/app/components/transaction-list/index.js +++ /dev/null @@ -1 +0,0 @@ -export { default } from './transaction-list.container' diff --git a/ui/app/components/transaction-list/index.scss b/ui/app/components/transaction-list/index.scss deleted file mode 100644 index a486f4112..000000000 --- a/ui/app/components/transaction-list/index.scss +++ /dev/null @@ -1,46 +0,0 @@ -.transaction-list { - display: flex; - flex-direction: column; - flex: 1; - margin-top: 8px; - - &__completed-transactions { - display: flex; - flex-direction: column; - flex: 1; - } - - &__header { - flex: 0 0 auto; - font-size: .875rem; - color: $dusty-gray; - border-bottom: 1px solid $geyser; - padding: 8px 0 8px 20px; - - @media screen and (max-width: $break-small) { - padding: 8px 0 8px 16px; - } - } - - &__transactions { - flex: 1; - } - - &__pending-transactions { - margin-bottom: 16px; - } - - &__empty { - flex: 1; - display: grid; - grid-template-rows: auto; - padding-top: 8px; - } - - &__empty-text { - grid-row-start: 2; - display: flex; - justify-content: center; - color: $silver; - } -} diff --git a/ui/app/components/transaction-list/transaction-list.component.js b/ui/app/components/transaction-list/transaction-list.component.js deleted file mode 100644 index ddab3b290..000000000 --- a/ui/app/components/transaction-list/transaction-list.component.js +++ /dev/null @@ -1,126 +0,0 @@ -import React, { PureComponent } from 'react' -import PropTypes from 'prop-types' -import TransactionListItem from '../transaction-list-item' -import ShapeShiftTransactionListItem from '../shift-list-item' -import { TRANSACTION_TYPE_SHAPESHIFT } from '../../constants/transactions' - -export default class TransactionList extends PureComponent { - static contextTypes = { - t: PropTypes.func, - } - - static defaultProps = { - pendingTransactions: [], - completedTransactions: [], - } - - static propTypes = { - pendingTransactions: PropTypes.array, - completedTransactions: PropTypes.array, - selectedToken: PropTypes.object, - updateNetworkNonce: PropTypes.func, - assetImages: PropTypes.object, - } - - componentDidMount () { - this.props.updateNetworkNonce() - } - - componentDidUpdate (prevProps) { - const { pendingTransactions: prevPendingTransactions = [] } = prevProps - const { pendingTransactions = [], updateNetworkNonce } = this.props - - if (pendingTransactions.length > prevPendingTransactions.length) { - updateNetworkNonce() - } - } - - shouldShowRetry = (transactionGroup, isEarliestNonce) => { - const { transactions = [], hasRetried } = transactionGroup - const [earliestTransaction = {}] = transactions - const { submittedTime } = earliestTransaction - return Date.now() - submittedTime > 30000 && isEarliestNonce && !hasRetried - } - - shouldShowCancel (transactionGroup) { - const { hasCancelled } = transactionGroup - return !hasCancelled - } - - renderTransactions () { - const { t } = this.context - const { pendingTransactions = [], completedTransactions = [] } = this.props - const pendingLength = pendingTransactions.length - - return ( - <div className="transaction-list__transactions"> - { - pendingLength > 0 && ( - <div className="transaction-list__pending-transactions"> - <div className="transaction-list__header"> - { `${t('queue')} (${pendingTransactions.length})` } - </div> - { - pendingTransactions.map((transactionGroup, index) => ( - this.renderTransaction(transactionGroup, index, true) - )) - } - </div> - ) - } - <div className="transaction-list__completed-transactions"> - <div className="transaction-list__header"> - { t('history') } - </div> - { - completedTransactions.length > 0 - ? completedTransactions.map((transactionGroup, index) => ( - this.renderTransaction(transactionGroup, index) - )) - : this.renderEmpty() - } - </div> - </div> - ) - } - - renderTransaction (transactionGroup, index, isPendingTx = false) { - const { selectedToken, assetImages } = this.props - const { transactions = [] } = transactionGroup - - return transactions[0].key === TRANSACTION_TYPE_SHAPESHIFT - ? ( - <ShapeShiftTransactionListItem - { ...transactions[0] } - key={`shapeshift${index}`} - /> - ) : ( - <TransactionListItem - transactionGroup={transactionGroup} - key={`${transactionGroup.nonce}:${index}`} - showRetry={isPendingTx && this.shouldShowRetry(transactionGroup, index === 0)} - showCancel={isPendingTx && this.shouldShowCancel(transactionGroup)} - token={selectedToken} - assetImages={assetImages} - /> - ) - } - - renderEmpty () { - return ( - <div className="transaction-list__empty"> - <div className="transaction-list__empty-text"> - { this.context.t('noTransactions') } - </div> - </div> - ) - } - - render () { - return ( - <div className="transaction-list"> - { this.renderTransactions() } - </div> - ) - } -} diff --git a/ui/app/components/transaction-list/transaction-list.container.js b/ui/app/components/transaction-list/transaction-list.container.js deleted file mode 100644 index e70ca15c5..000000000 --- a/ui/app/components/transaction-list/transaction-list.container.js +++ /dev/null @@ -1,44 +0,0 @@ -import { connect } from 'react-redux' -import { withRouter } from 'react-router-dom' -import { compose } from 'recompose' -import TransactionList from './transaction-list.component' -import { - nonceSortedCompletedTransactionsSelector, - nonceSortedPendingTransactionsSelector, -} from '../../selectors/transactions' -import { getSelectedAddress, getAssetImages } from '../../selectors' -import { selectedTokenSelector } from '../../selectors/tokens' -import { updateNetworkNonce } from '../../actions' - -const mapStateToProps = state => { - return { - completedTransactions: nonceSortedCompletedTransactionsSelector(state), - pendingTransactions: nonceSortedPendingTransactionsSelector(state), - selectedToken: selectedTokenSelector(state), - selectedAddress: getSelectedAddress(state), - assetImages: getAssetImages(state), - } -} - -const mapDispatchToProps = dispatch => { - return { - updateNetworkNonce: address => dispatch(updateNetworkNonce(address)), - } -} - -const mergeProps = (stateProps, dispatchProps, ownProps) => { - const { selectedAddress, ...restStateProps } = stateProps - const { updateNetworkNonce, ...restDispatchProps } = dispatchProps - - return { - ...restStateProps, - ...restDispatchProps, - ...ownProps, - updateNetworkNonce: () => updateNetworkNonce(selectedAddress), - } -} - -export default compose( - withRouter, - connect(mapStateToProps, mapDispatchToProps, mergeProps) -)(TransactionList) |