diff options
author | Alexander Tseung <alextsg@gmail.com> | 2018-07-07 02:58:41 +0800 |
---|---|---|
committer | Alexander Tseung <alextsg@gmail.com> | 2018-07-07 07:27:08 +0800 |
commit | a2d9c43fba49680d7553409a4f5013d3febd80e9 (patch) | |
tree | 56417ef3c675774173da49d3edfb951a3310fd5e /ui/app/components/pages/confirm-transaction | |
parent | 9cde5ab11b0670eed7baeb2f31486cb3e253bdcb (diff) | |
download | tangerine-wallet-browser-a2d9c43fba49680d7553409a4f5013d3febd80e9.tar tangerine-wallet-browser-a2d9c43fba49680d7553409a4f5013d3febd80e9.tar.gz tangerine-wallet-browser-a2d9c43fba49680d7553409a4f5013d3febd80e9.tar.bz2 tangerine-wallet-browser-a2d9c43fba49680d7553409a4f5013d3febd80e9.tar.lz tangerine-wallet-browser-a2d9c43fba49680d7553409a4f5013d3febd80e9.tar.xz tangerine-wallet-browser-a2d9c43fba49680d7553409a4f5013d3febd80e9.tar.zst tangerine-wallet-browser-a2d9c43fba49680d7553409a4f5013d3febd80e9.zip |
Various fixes from PR comments
Diffstat (limited to 'ui/app/components/pages/confirm-transaction')
-rw-r--r-- | ui/app/components/pages/confirm-transaction/confirm-transaction.component.js | 24 | ||||
-rw-r--r-- | ui/app/components/pages/confirm-transaction/confirm-transaction.container.js | 7 |
2 files changed, 23 insertions, 8 deletions
diff --git a/ui/app/components/pages/confirm-transaction/confirm-transaction.component.js b/ui/app/components/pages/confirm-transaction/confirm-transaction.component.js index 219f5b49a..874a89fd2 100644 --- a/ui/app/components/pages/confirm-transaction/confirm-transaction.component.js +++ b/ui/app/components/pages/confirm-transaction/confirm-transaction.component.js @@ -1,7 +1,6 @@ import React, { Component } from 'react' import PropTypes from 'prop-types' import { Switch, Route } from 'react-router-dom' -import R from 'ramda' import Loading from '../../loading-screen' import ConfirmTransactionSwitch from '../confirm-transaction-switch' import ConfirmTransactionBase from '../confirm-transaction-base' @@ -30,6 +29,12 @@ export default class ConfirmTransaction extends Component { unconfirmedTransactions: PropTypes.array, setTransactionToConfirm: PropTypes.func, confirmTransaction: PropTypes.object, + clearConfirmTransaction: PropTypes.func, + } + + getParamsTransactionId () { + const { match: { params: { id } = {} } } = this.props + return id || null } componentDidMount () { @@ -52,13 +57,16 @@ export default class ConfirmTransaction extends Component { componentDidUpdate () { const { - match: { params: { id: paramsTransactionId } = {} }, setTransactionToConfirm, confirmTransaction: { txData: { id: transactionId } = {} }, + clearConfirmTransaction, } = this.props + const paramsTransactionId = this.getParamsTransactionId() if (paramsTransactionId && transactionId && paramsTransactionId !== transactionId + '') { + clearConfirmTransaction() setTransactionToConfirm(paramsTransactionId) + return } if (!transactionId) { @@ -70,13 +78,13 @@ export default class ConfirmTransaction extends Component { const { history, unconfirmedTransactions, - match: { params: { id: paramsTransactionId } = {} }, setTransactionToConfirm, } = this.props + const paramsTransactionId = this.getParamsTransactionId() if (paramsTransactionId) { // Check to make sure params ID is valid - const tx = R.find(({ id }) => id + '' === paramsTransactionId)(unconfirmedTransactions) + const tx = unconfirmedTransactions.find(({ id }) => id + '' === paramsTransactionId) if (!tx) { history.replace(DEFAULT_ROUTE) @@ -96,8 +104,12 @@ export default class ConfirmTransaction extends Component { render () { const { confirmTransaction: { txData: { id } } = {} } = this.props + const paramsTransactionId = this.getParamsTransactionId() - return id + // Show routes when state.confirmTransaction has been set and when either the ID in the params + // isn't specified or is specified and matches the ID in state.confirmTransaction in order to + // support URLs of /confirm-transaction or /confirm-transaction/<transactionId> + return id && (!paramsTransactionId || paramsTransactionId === id + '') ? ( <Switch> <Route @@ -130,7 +142,7 @@ export default class ConfirmTransaction extends Component { path={`${CONFIRM_TRANSACTION_ROUTE}/:id?${SIGNATURE_REQUEST_PATH}`} component={ConfTx} /> - <Route path={`${CONFIRM_TRANSACTION_ROUTE}/:id?`} component={ConfirmTransactionSwitch} /> + <Route path="*" component={ConfirmTransactionSwitch} /> </Switch> ) : <Loading /> diff --git a/ui/app/components/pages/confirm-transaction/confirm-transaction.container.js b/ui/app/components/pages/confirm-transaction/confirm-transaction.container.js index 1ad5aa355..1bc2f1efb 100644 --- a/ui/app/components/pages/confirm-transaction/confirm-transaction.container.js +++ b/ui/app/components/pages/confirm-transaction/confirm-transaction.container.js @@ -1,7 +1,10 @@ import { connect } from 'react-redux' import { compose } from 'recompose' import { withRouter } from 'react-router-dom' -import { setTransactionToConfirm } from '../../../ducks/confirm-transaction.duck' +import { + setTransactionToConfirm, + clearConfirmTransaction, +} from '../../../ducks/confirm-transaction.duck' import ConfirmTransaction from './confirm-transaction.component' import { getTotalUnapprovedCount } from '../../../selectors' import { unconfirmedTransactionsListSelector } from '../../../selectors/confirm-transaction' @@ -20,7 +23,7 @@ const mapStateToProps = state => { const mapDispatchToProps = dispatch => { return { setTransactionToConfirm: transactionId => dispatch(setTransactionToConfirm(transactionId)), - + clearConfirmTransaction: () => dispatch(clearConfirmTransaction()), } } |