aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/components/pages/confirm-transaction-switch/confirm-transaction-switch.component.js
diff options
context:
space:
mode:
authorAlexander Tseung <alextsg@gmail.com>2018-06-26 03:06:57 +0800
committerAlexander Tseung <alextsg@gmail.com>2018-07-07 07:27:08 +0800
commite89549846fd3bd520b99740c7845f48f368c3afa (patch)
tree6e248d21c75c4336890229aaae4e07c261a59b8e /ui/app/components/pages/confirm-transaction-switch/confirm-transaction-switch.component.js
parentea9d51e427b8e607e612a01629bebf153e516ad9 (diff)
downloadtangerine-wallet-browser-e89549846fd3bd520b99740c7845f48f368c3afa.tar.gz
tangerine-wallet-browser-e89549846fd3bd520b99740c7845f48f368c3afa.tar.zst
tangerine-wallet-browser-e89549846fd3bd520b99740c7845f48f368c3afa.zip
Refactor data flow, signature request routing
Diffstat (limited to 'ui/app/components/pages/confirm-transaction-switch/confirm-transaction-switch.component.js')
-rw-r--r--ui/app/components/pages/confirm-transaction-switch/confirm-transaction-switch.component.js59
1 files changed, 27 insertions, 32 deletions
diff --git a/ui/app/components/pages/confirm-transaction-switch/confirm-transaction-switch.component.js b/ui/app/components/pages/confirm-transaction-switch/confirm-transaction-switch.component.js
index 5f337ab61..9ec0fc623 100644
--- a/ui/app/components/pages/confirm-transaction-switch/confirm-transaction-switch.component.js
+++ b/ui/app/components/pages/confirm-transaction-switch/confirm-transaction-switch.component.js
@@ -1,39 +1,30 @@
import React, { Component } from 'react'
import PropTypes from 'prop-types'
import { Redirect } from 'react-router-dom'
-import R from 'ramda'
import Loading from '../../loading-screen'
import {
- CONFIRM_DEPLOY_CONTRACT_ROUTE,
- CONFIRM_SEND_ETHER_ROUTE,
- CONFIRM_SEND_TOKEN_ROUTE,
- CONFIRM_APPROVE_ROUTE,
- CONFIRM_TOKEN_METHOD_ROUTE,
- SIGNATURE_REQUEST_ROUTE,
+ CONFIRM_TRANSACTION_ROUTE,
+ CONFIRM_DEPLOY_CONTRACT_PATH,
+ CONFIRM_SEND_ETHER_PATH,
+ CONFIRM_SEND_TOKEN_PATH,
+ CONFIRM_APPROVE_PATH,
+ CONFIRM_TOKEN_METHOD_PATH,
+ SIGNATURE_REQUEST_PATH,
} from '../../../routes'
import { isConfirmDeployContract, getTokenData } from './confirm-transaction-switch.util'
import { TOKEN_METHOD_TRANSFER, TOKEN_METHOD_APPROVE } from './confirm-transaction-switch.constants'
export default class ConfirmTransactionSwitch extends Component {
static propTypes = {
- unconfirmedTransactions: PropTypes.array,
- match: PropTypes.object,
- }
-
- getTransaction () {
- const { unconfirmedTransactions, match } = this.props
- const { params: { id: paramsTransactionId } = {} } = match
-
- return paramsTransactionId
- ? R.find(({ id }) => id + '' === paramsTransactionId)(unconfirmedTransactions)
- : unconfirmedTransactions[0]
+ confirmTransaction: PropTypes.object,
}
redirectToTransaction (txData) {
const { id, txParams: { data } } = txData
if (isConfirmDeployContract(txData)) {
- return <Redirect to={{ pathname: `${CONFIRM_DEPLOY_CONTRACT_ROUTE}/${id}` }} />
+ const pathname = `${CONFIRM_TRANSACTION_ROUTE}/${id}${CONFIRM_DEPLOY_CONTRACT_PATH}`
+ return <Redirect to={{ pathname }} />
}
if (data) {
@@ -41,29 +32,33 @@ export default class ConfirmTransactionSwitch extends Component {
const { name: tokenMethodName } = tokenData || {}
switch (tokenMethodName) {
- case TOKEN_METHOD_TRANSFER:
- return <Redirect to={{ pathname: `${CONFIRM_SEND_TOKEN_ROUTE}/${id}` }} />
- case TOKEN_METHOD_APPROVE:
- return <Redirect to={{ pathname: `${CONFIRM_APPROVE_ROUTE}/${id}` }} />
- default:
- return <Redirect to={{ pathname: `${CONFIRM_TOKEN_METHOD_ROUTE}/${id}` }} />
+ case TOKEN_METHOD_TRANSFER: {
+ const pathname = `${CONFIRM_TRANSACTION_ROUTE}/${id}${CONFIRM_SEND_TOKEN_PATH}`
+ return <Redirect to={{ pathname }} />
+ }
+ case TOKEN_METHOD_APPROVE: {
+ const pathname = `${CONFIRM_TRANSACTION_ROUTE}/${id}${CONFIRM_APPROVE_PATH}`
+ return <Redirect to={{ pathname }} />
+ }
+ default: {
+ const pathname = `${CONFIRM_TRANSACTION_ROUTE}/${id}${CONFIRM_TOKEN_METHOD_PATH}`
+ return <Redirect to={{ pathname }} />
+ }
}
}
- return <Redirect to={{ pathname: `${CONFIRM_SEND_ETHER_ROUTE}/${id}` }} />
+ const pathname = `${CONFIRM_TRANSACTION_ROUTE}/${id}${CONFIRM_SEND_ETHER_PATH}`
+ return <Redirect to={{ pathname }} />
}
render () {
- const txData = this.getTransaction()
-
- if (!txData) {
- return <Loading />
- }
+ const { confirmTransaction: { txData } } = this.props
if (txData.txParams) {
return this.redirectToTransaction(txData)
} else if (txData.msgParams) {
- return <Redirect to={{ pathname: SIGNATURE_REQUEST_ROUTE }} />
+ const pathname = `${CONFIRM_TRANSACTION_ROUTE}/${txData.id}${SIGNATURE_REQUEST_PATH}`
+ return <Redirect to={{ pathname }} />
}
return <Loading />