aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app
diff options
context:
space:
mode:
authorDan Finlay <dan@danfinlay.com>2017-02-18 04:44:09 +0800
committerDan Finlay <dan@danfinlay.com>2017-02-18 04:46:08 +0800
commit6b56d6ba9853ec978cd2d3d030882fa5ee3645cd (patch)
tree5041705ddb10ed51776bf75f6df6c8709df5893d /ui/app
parent89af0ef408eb62b7af5e05167f210d6563ef0f43 (diff)
downloadtangerine-wallet-browser-6b56d6ba9853ec978cd2d3d030882fa5ee3645cd.tar
tangerine-wallet-browser-6b56d6ba9853ec978cd2d3d030882fa5ee3645cd.tar.gz
tangerine-wallet-browser-6b56d6ba9853ec978cd2d3d030882fa5ee3645cd.tar.bz2
tangerine-wallet-browser-6b56d6ba9853ec978cd2d3d030882fa5ee3645cd.tar.lz
tangerine-wallet-browser-6b56d6ba9853ec978cd2d3d030882fa5ee3645cd.tar.xz
tangerine-wallet-browser-6b56d6ba9853ec978cd2d3d030882fa5ee3645cd.tar.zst
tangerine-wallet-browser-6b56d6ba9853ec978cd2d3d030882fa5ee3645cd.zip
Broke hex decimal input into its own component
Also added a new state to try to make UI dev mode work again, but it has other issues, like #1128, that need to be addressed before UI dev mode can be used again.
Diffstat (limited to 'ui/app')
-rw-r--r--ui/app/components/hex-as-decimal-input.js49
-rw-r--r--ui/app/components/pending-tx.js46
-rw-r--r--ui/app/conf-tx.js1
3 files changed, 71 insertions, 25 deletions
diff --git a/ui/app/components/hex-as-decimal-input.js b/ui/app/components/hex-as-decimal-input.js
new file mode 100644
index 000000000..4d3105b8d
--- /dev/null
+++ b/ui/app/components/hex-as-decimal-input.js
@@ -0,0 +1,49 @@
+const Component = require('react').Component
+const h = require('react-hyperscript')
+const inherits = require('util').inherits
+const ethUtil = require('ethereumjs-util')
+const BN = ethUtil.BN
+
+module.exports = HexAsDecimalInput
+
+inherits(HexAsDecimalInput, Component)
+function HexAsDecimalInput () {
+ Component.call(this)
+}
+
+/* Hex as Decimal Input
+ *
+ * A component for allowing easy, decimal editing
+ * of a passed in hex string value.
+ *
+ * On change, calls back its `onChange` function parameter
+ * and passes it an updated hex string.
+ */
+
+HexAsDecimalInput.prototype.render = function () {
+ const props = this.props
+ const { value, onChange } = props
+ const decimalValue = decimalize(value)
+
+ return (
+ h('input', {
+ value: decimalValue,
+ onChange: (event) => {
+ const hexString = hexify(event.target.value)
+ onChange(hexString)
+ },
+ })
+ )
+}
+
+function hexify (decimalString) {
+ const hexBN = new BN(decimalString, 10)
+ return '0x' + hexBN.toString('hex')
+}
+
+function decimalize (input) {
+ const strippedInput = ethUtil.stripHexPrefix(input)
+ const inputBN = new BN(strippedInput, 'hex')
+ return inputBN.toString(10)
+}
+
diff --git a/ui/app/components/pending-tx.js b/ui/app/components/pending-tx.js
index 9eefe1b22..761c75be3 100644
--- a/ui/app/components/pending-tx.js
+++ b/ui/app/components/pending-tx.js
@@ -2,8 +2,7 @@ const Component = require('react').Component
const h = require('react-hyperscript')
const inherits = require('util').inherits
const PendingTxDetails = require('./pending-tx-details')
-const BN = require('ethereumjs-util').BN
-const ethUtil = require('ethereumjs-util')
+const HexInput = require('./hex-as-decimal-input')
module.exports = PendingTx
@@ -13,12 +12,13 @@ function PendingTx () {
}
PendingTx.prototype.render = function () {
- var props = this.props
- var state = this.state || {}
- var txData = props.txData
- var txParams = txData.txParams
- var gasValue = state.gas || txParams.gas
- var decimalGas = decimalize(gasValue)
+ const props = this.props
+ const state = this.state || {}
+ const txData = props.txData
+ const txParams = txData.txParams
+
+ const gas = state.gas || txParams.gas
+ const gasPrice = state.gasPrice || txParams.gasPrice
return (
@@ -78,24 +78,22 @@ PendingTx.prototype.render = function () {
onClick: props.cancelTransaction,
}, 'Reject'),
]),
- h('input', {
- value: decimalGas,
- onChange: (event) => {
- const hexString = hexify(event.target.value)
- this.setState({ gas: hexString })
- }
+
+ h(HexInput, {
+ value: gas,
+ onChange: (newHex) => {
+ this.setState({ gas: newHex })
+ },
+ }),
+
+ h(HexInput, {
+ value: gasPrice,
+ onChange: (newHex) => {
+ this.setState({ gasPrice: newHex })
+ },
}),
+
])
)
}
-function decimalize (input) {
- const strippedInput = ethUtil.stripHexPrefix(input)
- const inputBN = new BN(strippedInput, 'hex')
- return inputBN.toString(10)
-}
-
-function hexify (decimalString) {
- const hexBN = new BN(decimalString, 10)
- return '0x' + hexBN.toString('hex')
-}
diff --git a/ui/app/conf-tx.js b/ui/app/conf-tx.js
index eed1f59ad..831bed0ec 100644
--- a/ui/app/conf-tx.js
+++ b/ui/app/conf-tx.js
@@ -36,7 +36,6 @@ function ConfirmTxScreen () {
ConfirmTxScreen.prototype.render = function () {
var props = this.props
- var state = this.state || {}
var network = props.network
var provider = props.provider