aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/components/send/gas-tooltip.js
diff options
context:
space:
mode:
authorAlexander Tseung <alextsg@gmail.com>2017-12-23 03:00:46 +0800
committerAlexander Tseung <alextsg@gmail.com>2017-12-23 03:00:46 +0800
commit06410381d4b738fe22aa24973c7f9568d295f570 (patch)
tree69bd8701cdaa417cb6c0f46deff43414122101db /ui/app/components/send/gas-tooltip.js
parent06f496310ce7d719bbb5690f307db143ba57a1a7 (diff)
parenta218008adf85dfb5fa8ca93c789e14d9f2090813 (diff)
downloadtangerine-wallet-browser-06410381d4b738fe22aa24973c7f9568d295f570.tar
tangerine-wallet-browser-06410381d4b738fe22aa24973c7f9568d295f570.tar.gz
tangerine-wallet-browser-06410381d4b738fe22aa24973c7f9568d295f570.tar.bz2
tangerine-wallet-browser-06410381d4b738fe22aa24973c7f9568d295f570.tar.lz
tangerine-wallet-browser-06410381d4b738fe22aa24973c7f9568d295f570.tar.xz
tangerine-wallet-browser-06410381d4b738fe22aa24973c7f9568d295f570.tar.zst
tangerine-wallet-browser-06410381d4b738fe22aa24973c7f9568d295f570.zip
Merge branch 'NewUI-flat' into merge-master
Diffstat (limited to 'ui/app/components/send/gas-tooltip.js')
-rw-r--r--ui/app/components/send/gas-tooltip.js100
1 files changed, 100 insertions, 0 deletions
diff --git a/ui/app/components/send/gas-tooltip.js b/ui/app/components/send/gas-tooltip.js
new file mode 100644
index 000000000..46aff3499
--- /dev/null
+++ b/ui/app/components/send/gas-tooltip.js
@@ -0,0 +1,100 @@
+const Component = require('react').Component
+const h = require('react-hyperscript')
+const inherits = require('util').inherits
+const InputNumber = require('../input-number.js')
+
+module.exports = GasTooltip
+
+inherits(GasTooltip, Component)
+function GasTooltip () {
+ Component.call(this)
+ this.state = {
+ gasLimit: 0,
+ gasPrice: 0,
+ }
+
+ this.updateGasPrice = this.updateGasPrice.bind(this)
+ this.updateGasLimit = this.updateGasLimit.bind(this)
+ this.onClose = this.onClose.bind(this)
+}
+
+GasTooltip.prototype.componentWillMount = function () {
+ const { gasPrice = 0, gasLimit = 0} = this.props
+
+ this.setState({
+ gasPrice: parseInt(gasPrice, 16) / 1000000000,
+ gasLimit: parseInt(gasLimit, 16),
+ })
+}
+
+GasTooltip.prototype.updateGasPrice = function (newPrice) {
+ const { onFeeChange } = this.props
+ const { gasLimit } = this.state
+
+ this.setState({ gasPrice: newPrice })
+ onFeeChange({
+ gasLimit: gasLimit.toString(16),
+ gasPrice: (newPrice * 1000000000).toString(16),
+ })
+}
+
+GasTooltip.prototype.updateGasLimit = function (newLimit) {
+ const { onFeeChange } = this.props
+ const { gasPrice } = this.state
+
+ this.setState({ gasLimit: newLimit })
+ onFeeChange({
+ gasLimit: newLimit.toString(16),
+ gasPrice: (gasPrice * 1000000000).toString(16),
+ })
+}
+
+GasTooltip.prototype.onClose = function (e) {
+ e.stopPropagation()
+ this.props.onClose()
+}
+
+GasTooltip.prototype.render = function () {
+ const { gasPrice, gasLimit } = this.state
+
+ return h('div.gas-tooltip', {}, [
+ h('div.gas-tooltip-close-area', {
+ onClick: this.onClose,
+ }),
+ h('div.customize-gas-tooltip-container', {}, [
+ h('div.customize-gas-tooltip', {}, [
+ h('div.gas-tooltip-header.gas-tooltip-label', {}, ['Customize Gas']),
+ h('div.gas-tooltip-input-label', {}, [
+ h('span.gas-tooltip-label', {}, ['Gas Price']),
+ h('i.fa.fa-info-circle'),
+ ]),
+ h(InputNumber, {
+ unitLabel: 'GWEI',
+ step: 1,
+ min: 0,
+ placeholder: '0',
+ value: gasPrice,
+ onChange: (newPrice) => this.updateGasPrice(newPrice),
+ }),
+ h('div.gas-tooltip-input-label', {
+ style: {
+ 'marginTop': '81px',
+ },
+ }, [
+ h('span.gas-tooltip-label', {}, ['Gas Limit']),
+ h('i.fa.fa-info-circle'),
+ ]),
+ h(InputNumber, {
+ unitLabel: 'UNITS',
+ step: 1,
+ min: 0,
+ placeholder: '0',
+ value: gasLimit,
+ onChange: (newLimit) => this.updateGasLimit(newLimit),
+ }),
+ ]),
+ h('div.gas-tooltip-arrow', {}),
+ ]),
+ ])
+}
+