aboutsummaryrefslogtreecommitdiffstats
path: root/ui/app/components/gas-customization/gas-modal-page-container/advanced-tab-content
diff options
context:
space:
mode:
authorDan Miller <danjm.com@gmail.com>2018-09-21 00:06:23 +0800
committerDan Miller <danjm.com@gmail.com>2018-12-04 11:36:04 +0800
commitb95eb30ec60e4d169a61d987ad86fe333aa49523 (patch)
tree3256fc562d35022559d068f223bdedfd80248149 /ui/app/components/gas-customization/gas-modal-page-container/advanced-tab-content
parent5354325fab9b9ab3091e3c49e6b940fa713d1799 (diff)
downloadtangerine-wallet-browser-b95eb30ec60e4d169a61d987ad86fe333aa49523.tar
tangerine-wallet-browser-b95eb30ec60e4d169a61d987ad86fe333aa49523.tar.gz
tangerine-wallet-browser-b95eb30ec60e4d169a61d987ad86fe333aa49523.tar.bz2
tangerine-wallet-browser-b95eb30ec60e4d169a61d987ad86fe333aa49523.tar.lz
tangerine-wallet-browser-b95eb30ec60e4d169a61d987ad86fe333aa49523.tar.xz
tangerine-wallet-browser-b95eb30ec60e4d169a61d987ad86fe333aa49523.tar.zst
tangerine-wallet-browser-b95eb30ec60e4d169a61d987ad86fe333aa49523.zip
Adds redesign for the customize gas advanced tab.
Diffstat (limited to 'ui/app/components/gas-customization/gas-modal-page-container/advanced-tab-content')
-rw-r--r--ui/app/components/gas-customization/gas-modal-page-container/advanced-tab-content/advanced-tab-content.component.js35
-rw-r--r--ui/app/components/gas-customization/gas-modal-page-container/advanced-tab-content/index.scss44
-rw-r--r--ui/app/components/gas-customization/gas-modal-page-container/advanced-tab-content/tests/advanced-tab-content-component.test.js56
-rw-r--r--ui/app/components/gas-customization/gas-modal-page-container/advanced-tab-content/time-remaining/index.scss8
4 files changed, 84 insertions, 59 deletions
diff --git a/ui/app/components/gas-customization/gas-modal-page-container/advanced-tab-content/advanced-tab-content.component.js b/ui/app/components/gas-customization/gas-modal-page-container/advanced-tab-content/advanced-tab-content.component.js
index 56d10cc2b..5218dd477 100644
--- a/ui/app/components/gas-customization/gas-modal-page-container/advanced-tab-content/advanced-tab-content.component.js
+++ b/ui/app/components/gas-customization/gas-modal-page-container/advanced-tab-content/advanced-tab-content.component.js
@@ -1,6 +1,6 @@
import React, { Component } from 'react'
import PropTypes from 'prop-types'
-import TimeRemaining from './time-remaining'
+import GasPriceChart from '../../gas-price-chart'
export default class AdvancedTabContent extends Component {
static contextTypes = {
@@ -14,6 +14,7 @@ export default class AdvancedTabContent extends Component {
customGasLimit: PropTypes.number,
millisecondsRemaining: PropTypes.number,
totalFee: PropTypes.string,
+ timeRemaining: PropTypes.string,
}
gasInput (value, onChange, min, precision, showGWEI) {
@@ -27,9 +28,6 @@ export default class AdvancedTabContent extends Component {
precision={precision}
onChange={event => onChange(Number(event.target.value))}
/>
- {showGWEI
- ? <span className="advanced-tab__gas-edit-row__gwei-symbol">GWEI</span>
- : null}
</div>
)
}
@@ -38,7 +36,7 @@ export default class AdvancedTabContent extends Component {
return <i className="fa fa-info-circle" onClick={onClick} />
}
- renderDataSummary (totalFee, millisecondsRemaining) {
+ renderDataSummary (totalFee, timeRemaining) {
return (
<div className="advanced-tab__transaction-data-summary">
<div className="advanced-tab__transaction-data-summary__titles">
@@ -49,9 +47,7 @@ export default class AdvancedTabContent extends Component {
<div className="advanced-tab__transaction-data-summary__fee">
{totalFee}
</div>
- <TimeRemaining
- milliseconds={millisecondsRemaining}
- />
+ <div className="time-remaining">{timeRemaining}</div>
</div>
</div>
)
@@ -72,7 +68,7 @@ export default class AdvancedTabContent extends Component {
renderGasEditRows (customGasPrice, updateCustomGasPrice, customGasLimit, updateCustomGasLimit) {
return (
<div className="advanced-tab__gas-edit-rows">
- { this.renderGasEditRow('gasPriceNoDenom', customGasPrice, updateCustomGasPrice, customGasPrice, 9, true) }
+ { this.renderGasEditRow('gasPrice', customGasPrice, updateCustomGasPrice, customGasPrice, 9, true) }
{ this.renderGasEditRow('gasLimit', customGasLimit, updateCustomGasLimit, customGasLimit, 0) }
</div>
)
@@ -82,7 +78,7 @@ export default class AdvancedTabContent extends Component {
const {
updateCustomGasPrice,
updateCustomGasLimit,
- millisecondsRemaining,
+ timeRemaining,
customGasPrice,
customGasLimit,
totalFee,
@@ -90,17 +86,16 @@ export default class AdvancedTabContent extends Component {
return (
<div className="advanced-tab">
- { this.renderDataSummary(totalFee, millisecondsRemaining) }
- <div className="advanced-tab__fee-chart-title">
- { this.context.t('feeChartTitle') }
+ { this.renderDataSummary(totalFee, timeRemaining) }
+ <div className="advanced-tab__fee-chart">
+ { this.renderGasEditRows(
+ customGasPrice,
+ updateCustomGasPrice,
+ customGasLimit,
+ updateCustomGasLimit
+ ) }
+ <GasPriceChart />
</div>
- <div className="advanced-tab__fee-chart" />
- { this.renderGasEditRows(
- customGasPrice,
- updateCustomGasPrice,
- customGasLimit,
- updateCustomGasLimit
- ) }
</div>
)
}
diff --git a/ui/app/components/gas-customization/gas-modal-page-container/advanced-tab-content/index.scss b/ui/app/components/gas-customization/gas-modal-page-container/advanced-tab-content/index.scss
index aced75449..ae99ba4aa 100644
--- a/ui/app/components/gas-customization/gas-modal-page-container/advanced-tab-content/index.scss
+++ b/ui/app/components/gas-customization/gas-modal-page-container/advanced-tab-content/index.scss
@@ -3,11 +3,9 @@
.advanced-tab {
display: flex;
flex-flow: column;
- height: 430px;
&__transaction-data-summary,
- &__fee-chart-title,
- &__gas-edit-row {
+ &__fee-chart-title {
padding-left: 24px;
padding-right: 24px;
}
@@ -17,6 +15,8 @@
flex-flow: column;
color: $mid-gray;
margin-top: 12px;
+ padding-left: 18px;
+ padding-right: 18px;
&__titles,
&__container {
@@ -24,11 +24,17 @@
flex-flow: row;
justify-content: space-between;
font-size: 12px;
+ color: #888EA3;
}
&__container {
- font-size: 26px;
- margin-top: 6px;
+ font-size: 16px;
+ margin-top: 0px;
+ }
+
+ &__fee {
+ font-size: 16px;
+ color: #313A5E;
}
}
@@ -40,8 +46,11 @@
&__fee-chart {
padding-left: 10px;
- margin-top: 24px;
- height: 134px;
+ margin-top: 8px;
+ height: 258px;
+ background: #F8F9FB;
+ border-bottom: 1px solid #d2d8dd;
+ border-top: 1px solid #d2d8dd;
}
&__slider-container {
@@ -50,21 +59,25 @@
}
&__gas-edit-rows {
- margin-top: 44px;
height: 87px;
display: flex;
- flex-flow: column;
+ flex-flow: row;
justify-content: space-between;
+ margin-left: 10px;
+ margin-right: 10px;
+ margin-top: 9px;
}
&__gas-edit-row {
display: flex;
- flex-flow: row;
- justify-content: space-between;
+ flex-flow: column;
&__label {
- color: $mid-gray;
- font-size: 16px;
+ color: #313B5E;
+ font-size: 14px;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
.fa-info-circle {
color: $silver;
@@ -87,10 +100,11 @@
border-radius: 4px;
color: $mid-gray;
font-size: 16px;
- height: 37px;
- width: 163px;
+ height: 24px;
+ width: 155px;
padding-left: 8px;
padding-top: 2px;
+ margin-top: 7px;
}
input[type="number"]::-webkit-inner-spin-button {
diff --git a/ui/app/components/gas-customization/gas-modal-page-container/advanced-tab-content/tests/advanced-tab-content-component.test.js b/ui/app/components/gas-customization/gas-modal-page-container/advanced-tab-content/tests/advanced-tab-content-component.test.js
index 0ef286b8a..1489c7696 100644
--- a/ui/app/components/gas-customization/gas-modal-page-container/advanced-tab-content/tests/advanced-tab-content-component.test.js
+++ b/ui/app/components/gas-customization/gas-modal-page-container/advanced-tab-content/tests/advanced-tab-content-component.test.js
@@ -4,7 +4,7 @@ import shallow from '../../../../../../lib/shallow-with-context'
import sinon from 'sinon'
import AdvancedTabContent from '../advanced-tab-content.component.js'
-import TimeRemaining from '../time-remaining'
+import GasPriceChart from '../../../gas-price-chart'
const propsMethodSpies = {
updateCustomGasPrice: sinon.spy(),
@@ -13,6 +13,8 @@ const propsMethodSpies = {
sinon.spy(AdvancedTabContent.prototype, 'renderGasEditRow')
sinon.spy(AdvancedTabContent.prototype, 'gasInput')
+sinon.spy(AdvancedTabContent.prototype, 'renderGasEditRows')
+sinon.spy(AdvancedTabContent.prototype, 'renderDataSummary')
describe('AdvancedTabContent Component', function () {
let wrapper
@@ -23,7 +25,7 @@ describe('AdvancedTabContent Component', function () {
updateCustomGasLimit={propsMethodSpies.updateCustomGasLimit}
customGasPrice={11}
customGasLimit={23456}
- millisecondsRemaining={21500}
+ timeRemaining={21500}
totalFee={'$0.25'}
/>, { context: { t: (str1, str2) => str2 ? str1 + str2 : str1 } })
})
@@ -31,6 +33,10 @@ describe('AdvancedTabContent Component', function () {
afterEach(() => {
propsMethodSpies.updateCustomGasPrice.resetHistory()
propsMethodSpies.updateCustomGasLimit.resetHistory()
+ AdvancedTabContent.prototype.renderGasEditRow.resetHistory()
+ AdvancedTabContent.prototype.gasInput.resetHistory()
+ AdvancedTabContent.prototype.renderGasEditRows.resetHistory()
+ AdvancedTabContent.prototype.renderDataSummary.resetHistory()
})
describe('render()', () => {
@@ -40,12 +46,31 @@ describe('AdvancedTabContent Component', function () {
it('should render the expected four children of the advanced-tab div', () => {
const advancedTabChildren = wrapper.children()
- assert.equal(advancedTabChildren.length, 4)
+ assert.equal(advancedTabChildren.length, 2)
assert(advancedTabChildren.at(0).hasClass('advanced-tab__transaction-data-summary'))
- assert(advancedTabChildren.at(1).hasClass('advanced-tab__fee-chart-title'))
- assert(advancedTabChildren.at(2).hasClass('advanced-tab__fee-chart'))
- assert(advancedTabChildren.at(3).hasClass('advanced-tab__gas-edit-rows'))
+ assert(advancedTabChildren.at(1).hasClass('advanced-tab__fee-chart'))
+
+ const feeChartDiv = advancedTabChildren.at(1)
+
+ assert(feeChartDiv.childAt(0).hasClass('advanced-tab__gas-edit-rows'))
+ assert(feeChartDiv.childAt(1).is(GasPriceChart))
+ })
+
+ it('should call renderDataSummary with the expected params', () => {
+ assert.equal(AdvancedTabContent.prototype.renderGasEditRows.callCount, 1)
+ const renderDataSummaryArgs = AdvancedTabContent.prototype.renderDataSummary.getCall(0).args
+ assert.deepEqual(renderDataSummaryArgs, ['$0.25', 21500])
+
+ assert.equal(AdvancedTabContent.prototype.renderGasEditRows.callCount, 1)
+ const renderGasEditRowArgs = AdvancedTabContent.prototype.renderGasEditRows.getCall(0).args
+ assert.deepEqual(renderGasEditRowArgs, [
+ 11, propsMethodSpies.updateCustomGasPrice, 23456, propsMethodSpies.updateCustomGasLimit,
+ ])
+ })
+
+ it('should call renderGasEditRows with the expected params', () => {
+
})
})
@@ -71,8 +96,8 @@ describe('AdvancedTabContent Component', function () {
const dataNode = dataSummary.children().at(1)
assert(dataNode.hasClass('advanced-tab__transaction-data-summary__container'))
assert.equal(dataNode.children().at(0).text(), 'mockTotalFee')
- assert(dataNode.children().at(1).is(TimeRemaining))
- assert.equal(dataNode.children().at(1).props().milliseconds, 'mockMsRemaining')
+ assert(dataNode.children().at(1).hasClass('time-remaining'))
+ assert.equal(dataNode.children().at(1).text(), 'mockMsRemaining')
})
})
@@ -138,7 +163,7 @@ describe('AdvancedTabContent Component', function () {
const renderGasEditRowSpyArgs = AdvancedTabContent.prototype.renderGasEditRow.args
assert.equal(renderGasEditRowSpyArgs.length, 2)
assert.deepEqual(renderGasEditRowSpyArgs[0].map(String), [
- 'gasPriceNoDenom', 'mockGasPrice', () => 'mockUpdateCustomGasPriceReturn', 'mockGasPrice', 9, true,
+ 'gasPrice', 'mockGasPrice', () => 'mockUpdateCustomGasPriceReturn', 'mockGasPrice', 9, true,
].map(String))
assert.deepEqual(renderGasEditRowSpyArgs[1].map(String), [
'gasLimit', 'mockGasLimit', () => 'mockUpdateCustomGasLimitReturn', 'mockGasLimit', 0,
@@ -186,19 +211,6 @@ describe('AdvancedTabContent Component', function () {
assert(gasInput.children().at(0).hasClass('advanced-tab__gas-edit-row__input'))
})
- it('should show GWEI if the showGWEI prop is truthy', () => {
- const gasInputWithGWEI = shallow(wrapper.instance().gasInput(
- 321,
- value => value + 7,
- 0,
- 8,
- true
- ))
- assert.equal(gasInputWithGWEI.children().length, 2)
- assert(gasInputWithGWEI.children().at(0).hasClass('advanced-tab__gas-edit-row__input'))
- assert(gasInputWithGWEI.children().at(1).hasClass('advanced-tab__gas-edit-row__gwei-symbol'))
- })
-
it('should pass the correct value min and precision props to the input', () => {
const inputProps = gasInput.find('input').props()
assert.equal(inputProps.min, 0)
diff --git a/ui/app/components/gas-customization/gas-modal-page-container/advanced-tab-content/time-remaining/index.scss b/ui/app/components/gas-customization/gas-modal-page-container/advanced-tab-content/time-remaining/index.scss
index 01bb06268..e2115af7f 100644
--- a/ui/app/components/gas-customization/gas-modal-page-container/advanced-tab-content/time-remaining/index.scss
+++ b/ui/app/components/gas-customization/gas-modal-page-container/advanced-tab-content/time-remaining/index.scss
@@ -1,13 +1,17 @@
.time-remaining {
+ color: #313A5E;
+ font-size: 16px;
+
.minutes-num, .seconds-num {
- font-size: 26px;
+ font-size: 16px;
}
.seconds-num {
margin-left: 7px;
+ font-size: 16px;
}
.minutes-label, .seconds-label {
- font-size: 14px;
+ font-size: 16px;
}
} \ No newline at end of file