aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/components/transaction-list
diff options
context:
space:
mode:
Diffstat (limited to 'ui/app/components/transaction-list')
-rw-r--r--ui/app/components/transaction-list/index.js1
-rw-r--r--ui/app/components/transaction-list/index.scss46
-rw-r--r--ui/app/components/transaction-list/transaction-list.component.js126
-rw-r--r--ui/app/components/transaction-list/transaction-list.container.js44
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)