aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/components/modals/cancel-transaction
diff options
context:
space:
mode:
authorChi Kei Chan <chikeichan@gmail.com>2019-03-22 07:03:30 +0800
committerDan J Miller <danjm.com@gmail.com>2019-03-22 07:03:30 +0800
commit31175625b446cb5d18b17db23018bca8b14d280c (patch)
treef54e159883deef003fb281267025edf796eb8004 /ui/app/components/modals/cancel-transaction
parent7287133e15fab22299e07704206e85bc855d1064 (diff)
downloadtangerine-wallet-browser-31175625b446cb5d18b17db23018bca8b14d280c.tar.gz
tangerine-wallet-browser-31175625b446cb5d18b17db23018bca8b14d280c.tar.zst
tangerine-wallet-browser-31175625b446cb5d18b17db23018bca8b14d280c.zip
Folder restructure (#6304)
* Remove ui/app/keychains/ * Remove ui/app/img/ (unused images) * Move conversion-util to helpers/utils/ * Move token-util to helpers/utils/ * Move /helpers/*.js inside /helpers/utils/ * Move util tests inside /helpers/utils/ * Renameand move confirm-transaction/util.js to helpers/utils/ * Move higher-order-components to helpers/higher-order-components/ * Move infura-conversion.json to helpers/constants/ * Move all utility functions to helpers/utils/ * Move pages directory to top-level * Move all constants to helpers/constants/ * Move metametrics inside helpers/ * Move app and root inside pages/ * Move routes inside helpers/ * Re-organize ducks/ * Move reducers to ducks/ * Move selectors inside selectors/ * Move test out of test folder * Move action, reducer, store inside store/ * Move ui components inside ui/ * Move UI components inside ui/ * Move connected components inside components/app/ * Move i18n-helper inside helpers/ * Fix unit tests * Fix unit test * Move pages components * Rename routes component * Move reducers to ducks/index * Fix bad path in unit test
Diffstat (limited to 'ui/app/components/modals/cancel-transaction')
-rw-r--r--ui/app/components/modals/cancel-transaction/cancel-transaction-gas-fee/cancel-transaction-gas-fee.component.js29
-rw-r--r--ui/app/components/modals/cancel-transaction/cancel-transaction-gas-fee/index.js1
-rw-r--r--ui/app/components/modals/cancel-transaction/cancel-transaction-gas-fee/index.scss17
-rw-r--r--ui/app/components/modals/cancel-transaction/cancel-transaction-gas-fee/tests/cancel-transaction-gas-fee.component.test.js26
-rw-r--r--ui/app/components/modals/cancel-transaction/cancel-transaction.component.js76
-rw-r--r--ui/app/components/modals/cancel-transaction/cancel-transaction.container.js60
-rw-r--r--ui/app/components/modals/cancel-transaction/index.js1
-rw-r--r--ui/app/components/modals/cancel-transaction/index.scss18
-rw-r--r--ui/app/components/modals/cancel-transaction/tests/cancel-transaction.component.test.js57
9 files changed, 0 insertions, 285 deletions
diff --git a/ui/app/components/modals/cancel-transaction/cancel-transaction-gas-fee/cancel-transaction-gas-fee.component.js b/ui/app/components/modals/cancel-transaction/cancel-transaction-gas-fee/cancel-transaction-gas-fee.component.js
deleted file mode 100644
index b973f221c..000000000
--- a/ui/app/components/modals/cancel-transaction/cancel-transaction-gas-fee/cancel-transaction-gas-fee.component.js
+++ /dev/null
@@ -1,29 +0,0 @@
-import React, { PureComponent } from 'react'
-import PropTypes from 'prop-types'
-import UserPreferencedCurrencyDisplay from '../../../user-preferenced-currency-display'
-import { PRIMARY, SECONDARY } from '../../../../constants/common'
-
-export default class CancelTransaction extends PureComponent {
- static propTypes = {
- value: PropTypes.string,
- }
-
- render () {
- const { value } = this.props
-
- return (
- <div className="cancel-transaction-gas-fee">
- <UserPreferencedCurrencyDisplay
- className="cancel-transaction-gas-fee__eth"
- value={value}
- type={PRIMARY}
- />
- <UserPreferencedCurrencyDisplay
- className="cancel-transaction-gas-fee__fiat"
- value={value}
- type={SECONDARY}
- />
- </div>
- )
- }
-}
diff --git a/ui/app/components/modals/cancel-transaction/cancel-transaction-gas-fee/index.js b/ui/app/components/modals/cancel-transaction/cancel-transaction-gas-fee/index.js
deleted file mode 100644
index 1a9ae2e07..000000000
--- a/ui/app/components/modals/cancel-transaction/cancel-transaction-gas-fee/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default } from './cancel-transaction-gas-fee.component'
diff --git a/ui/app/components/modals/cancel-transaction/cancel-transaction-gas-fee/index.scss b/ui/app/components/modals/cancel-transaction/cancel-transaction-gas-fee/index.scss
deleted file mode 100644
index ce81dd448..000000000
--- a/ui/app/components/modals/cancel-transaction/cancel-transaction-gas-fee/index.scss
+++ /dev/null
@@ -1,17 +0,0 @@
-.cancel-transaction-gas-fee {
- background: #F1F4F9;
- padding: 16px;
- display: flex;
- flex-direction: column;
- align-items: center;
- padding: 12px;
-
- &__eth {
- font-size: 1.5rem;
- font-weight: 500;
- }
-
- &__fiat {
- font-size: .75rem;
- }
-}
diff --git a/ui/app/components/modals/cancel-transaction/cancel-transaction-gas-fee/tests/cancel-transaction-gas-fee.component.test.js b/ui/app/components/modals/cancel-transaction/cancel-transaction-gas-fee/tests/cancel-transaction-gas-fee.component.test.js
deleted file mode 100644
index 014815503..000000000
--- a/ui/app/components/modals/cancel-transaction/cancel-transaction-gas-fee/tests/cancel-transaction-gas-fee.component.test.js
+++ /dev/null
@@ -1,26 +0,0 @@
-import React from 'react'
-import assert from 'assert'
-import { shallow } from 'enzyme'
-import CancelTransactionGasFee from '../cancel-transaction-gas-fee.component'
-import UserPreferencedCurrencyDisplay from '../../../../user-preferenced-currency-display'
-
-describe('CancelTransactionGasFee Component', () => {
- it('should render', () => {
- const wrapper = shallow(
- <CancelTransactionGasFee
- value="0x3b9aca00"
- />
- )
-
- assert.ok(wrapper)
- assert.equal(wrapper.find(UserPreferencedCurrencyDisplay).length, 2)
- const ethDisplay = wrapper.find(UserPreferencedCurrencyDisplay).at(0)
- const fiatDisplay = wrapper.find(UserPreferencedCurrencyDisplay).at(1)
-
- assert.equal(ethDisplay.props().value, '0x3b9aca00')
- assert.equal(ethDisplay.props().className, 'cancel-transaction-gas-fee__eth')
-
- assert.equal(fiatDisplay.props().value, '0x3b9aca00')
- assert.equal(fiatDisplay.props().className, 'cancel-transaction-gas-fee__fiat')
- })
-})
diff --git a/ui/app/components/modals/cancel-transaction/cancel-transaction.component.js b/ui/app/components/modals/cancel-transaction/cancel-transaction.component.js
deleted file mode 100644
index 8fd7b2679..000000000
--- a/ui/app/components/modals/cancel-transaction/cancel-transaction.component.js
+++ /dev/null
@@ -1,76 +0,0 @@
-import React, { PureComponent } from 'react'
-import PropTypes from 'prop-types'
-import Modal from '../../modal'
-import CancelTransactionGasFee from './cancel-transaction-gas-fee'
-import { SUBMITTED_STATUS } from '../../../constants/transactions'
-
-export default class CancelTransaction extends PureComponent {
- static contextTypes = {
- t: PropTypes.func,
- }
-
- static propTypes = {
- createCancelTransaction: PropTypes.func,
- hideModal: PropTypes.func,
- showTransactionConfirmedModal: PropTypes.func,
- transactionStatus: PropTypes.string,
- newGasFee: PropTypes.string,
- }
-
- state = {
- busy: false,
- }
-
- componentDidUpdate () {
- const { transactionStatus, showTransactionConfirmedModal } = this.props
-
- if (transactionStatus !== SUBMITTED_STATUS) {
- showTransactionConfirmedModal()
- return
- }
- }
-
- handleSubmit = async () => {
- const { createCancelTransaction, hideModal } = this.props
-
- this.setState({ busy: true })
-
- await createCancelTransaction()
- this.setState({ busy: false }, () => hideModal())
- }
-
- handleCancel = () => {
- this.props.hideModal()
- }
-
- render () {
- const { t } = this.context
- const { newGasFee } = this.props
- const { busy } = this.state
-
- return (
- <Modal
- headerText={t('attemptToCancel')}
- onClose={this.handleCancel}
- onSubmit={this.handleSubmit}
- onCancel={this.handleCancel}
- submitText={t('yesLetsTry')}
- cancelText={t('nevermind')}
- submitType="secondary"
- submitDisabled={busy}
- >
- <div>
- <div className="cancel-transaction__title">
- { t('cancellationGasFee') }
- </div>
- <div className="cancel-transaction__cancel-transaction-gas-fee-container">
- <CancelTransactionGasFee value={newGasFee} />
- </div>
- <div className="cancel-transaction__description">
- { t('attemptToCancelDescription') }
- </div>
- </div>
- </Modal>
- )
- }
-}
diff --git a/ui/app/components/modals/cancel-transaction/cancel-transaction.container.js b/ui/app/components/modals/cancel-transaction/cancel-transaction.container.js
deleted file mode 100644
index 10931a001..000000000
--- a/ui/app/components/modals/cancel-transaction/cancel-transaction.container.js
+++ /dev/null
@@ -1,60 +0,0 @@
-import { connect } from 'react-redux'
-import { compose } from 'recompose'
-import ethUtil from 'ethereumjs-util'
-import { multiplyCurrencies } from '../../../conversion-util'
-import withModalProps from '../../../higher-order-components/with-modal-props'
-import CancelTransaction from './cancel-transaction.component'
-import { showModal, createCancelTransaction } from '../../../actions'
-import { getHexGasTotal } from '../../../helpers/confirm-transaction/util'
-
-const mapStateToProps = (state, ownProps) => {
- const { metamask } = state
- const { transactionId, originalGasPrice } = ownProps
- const { selectedAddressTxList } = metamask
- const transaction = selectedAddressTxList.find(({ id }) => id === transactionId)
- const transactionStatus = transaction ? transaction.status : ''
-
- const defaultNewGasPrice = ethUtil.addHexPrefix(
- multiplyCurrencies(originalGasPrice, 1.1, {
- toNumericBase: 'hex',
- multiplicandBase: 16,
- multiplierBase: 10,
- })
- )
-
- const newGasFee = getHexGasTotal({ gasPrice: defaultNewGasPrice, gasLimit: '0x5208' })
-
- return {
- transactionId,
- transactionStatus,
- originalGasPrice,
- defaultNewGasPrice,
- newGasFee,
- }
-}
-
-const mapDispatchToProps = dispatch => {
- return {
- createCancelTransaction: (txId, customGasPrice) => {
- return dispatch(createCancelTransaction(txId, customGasPrice))
- },
- showTransactionConfirmedModal: () => dispatch(showModal({ name: 'TRANSACTION_CONFIRMED' })),
- }
-}
-
-const mergeProps = (stateProps, dispatchProps, ownProps) => {
- const { transactionId, defaultNewGasPrice, ...restStateProps } = stateProps
- const { createCancelTransaction, ...restDispatchProps } = dispatchProps
-
- return {
- ...restStateProps,
- ...restDispatchProps,
- ...ownProps,
- createCancelTransaction: () => createCancelTransaction(transactionId, defaultNewGasPrice),
- }
-}
-
-export default compose(
- withModalProps,
- connect(mapStateToProps, mapDispatchToProps, mergeProps),
-)(CancelTransaction)
diff --git a/ui/app/components/modals/cancel-transaction/index.js b/ui/app/components/modals/cancel-transaction/index.js
deleted file mode 100644
index 7abc871ee..000000000
--- a/ui/app/components/modals/cancel-transaction/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default } from './cancel-transaction.container'
diff --git a/ui/app/components/modals/cancel-transaction/index.scss b/ui/app/components/modals/cancel-transaction/index.scss
deleted file mode 100644
index 62e8e36fd..000000000
--- a/ui/app/components/modals/cancel-transaction/index.scss
+++ /dev/null
@@ -1,18 +0,0 @@
-@import './cancel-transaction-gas-fee/index';
-
-.cancel-transaction {
- &__title {
- font-weight: 500;
- padding-bottom: 16px;
- text-align: center;
- }
-
- &__description {
- text-align: center;
- font-size: .875rem;
- }
-
- &__cancel-transaction-gas-fee-container {
- margin-bottom: 16px;
- }
-} \ No newline at end of file
diff --git a/ui/app/components/modals/cancel-transaction/tests/cancel-transaction.component.test.js b/ui/app/components/modals/cancel-transaction/tests/cancel-transaction.component.test.js
deleted file mode 100644
index 345951b0f..000000000
--- a/ui/app/components/modals/cancel-transaction/tests/cancel-transaction.component.test.js
+++ /dev/null
@@ -1,57 +0,0 @@
-import React from 'react'
-import assert from 'assert'
-import { shallow } from 'enzyme'
-import sinon from 'sinon'
-import CancelTransaction from '../cancel-transaction.component'
-import CancelTransactionGasFee from '../cancel-transaction-gas-fee'
-import Modal from '../../../modal'
-
-describe('CancelTransaction Component', () => {
- const t = key => key
-
- it('should render a CancelTransaction modal', () => {
- const wrapper = shallow(
- <CancelTransaction
- newGasFee="0x1319718a5000"
- />,
- { context: { t }}
- )
-
- assert.ok(wrapper)
- assert.equal(wrapper.find(Modal).length, 1)
- assert.equal(wrapper.find(CancelTransactionGasFee).length, 1)
- assert.equal(wrapper.find(CancelTransactionGasFee).props().value, '0x1319718a5000')
- assert.equal(wrapper.find('.cancel-transaction__title').text(), 'cancellationGasFee')
- assert.equal(wrapper.find('.cancel-transaction__description').text(), 'attemptToCancelDescription')
- })
-
- it('should pass the correct props to the Modal component', async () => {
- const createCancelTransactionSpy = sinon.stub().callsFake(() => Promise.resolve())
- const hideModalSpy = sinon.spy()
-
- const wrapper = shallow(
- <CancelTransaction
- defaultNewGasPrice="0x3b9aca00"
- createCancelTransaction={createCancelTransactionSpy}
- hideModal={hideModalSpy}
- showTransactionConfirmedModal={() => {}}
- />,
- { context: { t }}
- )
-
- assert.equal(wrapper.find(Modal).length, 1)
- const modalProps = wrapper.find(Modal).props()
-
- assert.equal(modalProps.headerText, 'attemptToCancel')
- assert.equal(modalProps.submitText, 'yesLetsTry')
- assert.equal(modalProps.cancelText, 'nevermind')
-
- assert.equal(createCancelTransactionSpy.callCount, 0)
- assert.equal(hideModalSpy.callCount, 0)
- await modalProps.onSubmit()
- assert.equal(createCancelTransactionSpy.callCount, 1)
- assert.equal(hideModalSpy.callCount, 1)
- modalProps.onCancel()
- assert.equal(hideModalSpy.callCount, 2)
- })
-})