aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/components/send/send.component.js
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/send/send.component.js
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/send/send.component.js')
-rw-r--r--ui/app/components/send/send.component.js218
1 files changed, 0 insertions, 218 deletions
diff --git a/ui/app/components/send/send.component.js b/ui/app/components/send/send.component.js
deleted file mode 100644
index 9b512aaf6..000000000
--- a/ui/app/components/send/send.component.js
+++ /dev/null
@@ -1,218 +0,0 @@
-import React from 'react'
-import PropTypes from 'prop-types'
-import PersistentForm from '../../../lib/persistent-form'
-import {
- getAmountErrorObject,
- getGasFeeErrorObject,
- getToAddressForGasUpdate,
- doesAmountErrorRequireUpdate,
-} from './send.utils'
-
-import SendHeader from './send-header/'
-import SendContent from './send-content/'
-import SendFooter from './send-footer/'
-
-export default class SendTransactionScreen extends PersistentForm {
-
- static propTypes = {
- amount: PropTypes.string,
- amountConversionRate: PropTypes.oneOfType([
- PropTypes.string,
- PropTypes.number,
- ]),
- blockGasLimit: PropTypes.string,
- conversionRate: PropTypes.number,
- editingTransactionId: PropTypes.string,
- from: PropTypes.object,
- gasLimit: PropTypes.string,
- gasPrice: PropTypes.string,
- gasTotal: PropTypes.string,
- history: PropTypes.object,
- network: PropTypes.string,
- primaryCurrency: PropTypes.string,
- recentBlocks: PropTypes.array,
- selectedAddress: PropTypes.string,
- selectedToken: PropTypes.object,
- tokenBalance: PropTypes.string,
- tokenContract: PropTypes.object,
- fetchBasicGasEstimates: PropTypes.func,
- updateAndSetGasTotal: PropTypes.func,
- updateSendErrors: PropTypes.func,
- updateSendTokenBalance: PropTypes.func,
- scanQrCode: PropTypes.func,
- qrCodeDetected: PropTypes.func,
- qrCodeData: PropTypes.object,
- }
-
- static contextTypes = {
- t: PropTypes.func,
- }
-
- componentWillReceiveProps (nextProps) {
- if (nextProps.qrCodeData) {
- if (nextProps.qrCodeData.type === 'address') {
- const scannedAddress = nextProps.qrCodeData.values.address.toLowerCase()
- const currentAddress = this.props.to && this.props.to.toLowerCase()
- if (currentAddress !== scannedAddress) {
- this.props.updateSendTo(scannedAddress)
- this.updateGas({ to: scannedAddress })
- // Clean up QR code data after handling
- this.props.qrCodeDetected(null)
- }
- }
- }
- }
-
- updateGas ({ to: updatedToAddress, amount: value, data } = {}) {
- const {
- amount,
- blockGasLimit,
- editingTransactionId,
- gasLimit,
- gasPrice,
- recentBlocks,
- selectedAddress,
- selectedToken = {},
- to: currentToAddress,
- updateAndSetGasLimit,
- } = this.props
-
- updateAndSetGasLimit({
- blockGasLimit,
- editingTransactionId,
- gasLimit,
- gasPrice,
- recentBlocks,
- selectedAddress,
- selectedToken,
- to: getToAddressForGasUpdate(updatedToAddress, currentToAddress),
- value: value || amount,
- data,
- })
- }
-
- componentDidUpdate (prevProps) {
- const {
- amount,
- amountConversionRate,
- conversionRate,
- from: { address, balance },
- gasTotal,
- network,
- primaryCurrency,
- selectedToken,
- tokenBalance,
- updateSendErrors,
- updateSendTokenBalance,
- tokenContract,
- } = this.props
-
- const {
- from: { balance: prevBalance },
- gasTotal: prevGasTotal,
- tokenBalance: prevTokenBalance,
- network: prevNetwork,
- } = prevProps
-
- const uninitialized = [prevBalance, prevGasTotal].every(n => n === null)
-
- const amountErrorRequiresUpdate = doesAmountErrorRequireUpdate({
- balance,
- gasTotal,
- prevBalance,
- prevGasTotal,
- prevTokenBalance,
- selectedToken,
- tokenBalance,
- })
-
- if (amountErrorRequiresUpdate) {
- const amountErrorObject = getAmountErrorObject({
- amount,
- amountConversionRate,
- balance,
- conversionRate,
- gasTotal,
- primaryCurrency,
- selectedToken,
- tokenBalance,
- })
- const gasFeeErrorObject = selectedToken
- ? getGasFeeErrorObject({
- amountConversionRate,
- balance,
- conversionRate,
- gasTotal,
- primaryCurrency,
- selectedToken,
- })
- : { gasFee: null }
- updateSendErrors(Object.assign(amountErrorObject, gasFeeErrorObject))
- }
-
- if (!uninitialized) {
-
- if (network !== prevNetwork && network !== 'loading') {
- updateSendTokenBalance({
- selectedToken,
- tokenContract,
- address,
- })
- this.updateGas()
- }
- }
- }
-
- componentDidMount () {
- this.props.fetchBasicGasEstimates()
- .then(() => {
- this.updateGas()
- })
- }
-
- componentWillMount () {
- const {
- from: { address },
- selectedToken,
- tokenContract,
- updateSendTokenBalance,
- } = this.props
-
- updateSendTokenBalance({
- selectedToken,
- tokenContract,
- address,
- })
-
- // Show QR Scanner modal if ?scan=true
- if (window.location.search === '?scan=true') {
- this.props.scanQrCode()
-
- // Clear the queryString param after showing the modal
- const cleanUrl = location.href.split('?')[0]
- history.pushState({}, null, `${cleanUrl}`)
- window.location.hash = '#send'
- }
- }
-
- componentWillUnmount () {
- this.props.resetSendState()
- }
-
- render () {
- const { history, showHexData } = this.props
-
- return (
- <div className="page-container">
- <SendHeader history={history}/>
- <SendContent
- updateGas={(updateData) => this.updateGas(updateData)}
- scanQrCode={_ => this.props.scanQrCode()}
- showHexData={showHexData}
- />
- <SendFooter history={history}/>
- </div>
- )
- }
-
-}