aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkumavis <kumavis@users.noreply.github.com>2018-03-07 09:13:57 +0800
committerGitHub <noreply@github.com>2018-03-07 09:13:57 +0800
commit6a9ca29244f5e5234b338f93e1b1c1360a5446df (patch)
treee3f87f1e360648833913dc477d37b6a402223ded
parenta4bd7992cd960b105f842e0e34637f2675a6665f (diff)
parent8e0131cbb52eae9d0fd07ac20d1e39bae99446e1 (diff)
downloadtangerine-wallet-browser-6a9ca29244f5e5234b338f93e1b1c1360a5446df.tar
tangerine-wallet-browser-6a9ca29244f5e5234b338f93e1b1c1360a5446df.tar.gz
tangerine-wallet-browser-6a9ca29244f5e5234b338f93e1b1c1360a5446df.tar.bz2
tangerine-wallet-browser-6a9ca29244f5e5234b338f93e1b1c1360a5446df.tar.lz
tangerine-wallet-browser-6a9ca29244f5e5234b338f93e1b1c1360a5446df.tar.xz
tangerine-wallet-browser-6a9ca29244f5e5234b338f93e1b1c1360a5446df.tar.zst
tangerine-wallet-browser-6a9ca29244f5e5234b338f93e1b1c1360a5446df.zip
Merge branch 'master' into ImportAccountMessageV2
-rw-r--r--CHANGELOG.md5
-rw-r--r--development/run-version-bump.js13
-rw-r--r--old-ui/app/info.js6
-rw-r--r--old-ui/app/unlock.js2
-rw-r--r--ui/app/actions.js1
-rw-r--r--ui/app/add-token.js2
-rw-r--r--ui/app/components/modals/deposit-ether-modal.js5
-rw-r--r--ui/app/components/modals/modal.js12
-rw-r--r--ui/app/components/shapeshift-form.js10
-rw-r--r--ui/app/css/itcss/components/modal.scss4
-rw-r--r--ui/app/send-v2.js15
-rw-r--r--ui/app/unlock.js4
12 files changed, 56 insertions, 23 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 92efa2481..75ad8a00d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,6 +8,11 @@
- Allow editing of symbol and decimal info when adding custom token in new-ui
- NewUI shapeshift form can select all coins (not just BTC)
- Add most of Microsoft Edge support.
+- Replace "Unlock" wording with "Log In".
+- Allow adding custom tokens to classic ui when balance is 0
+- Allow editing of symbol and decimal info when adding custom token in new-ui
+- new-ui shapeshift form can select all coins (not just BTC)
+- Classic ui and new-ui shapeshift forms show when coins are not available on shapeshift
## 4.1.3 2018-2-28
diff --git a/development/run-version-bump.js b/development/run-version-bump.js
index e06c00db3..fde14566e 100644
--- a/development/run-version-bump.js
+++ b/development/run-version-bump.js
@@ -7,12 +7,13 @@ const changelogPath = path.join(__dirname, '..', 'CHANGELOG.md')
const manifestPath = path.join(__dirname, '..', 'app', 'manifest.json')
const manifest = require('../app/manifest.json')
const versionBump = require('./version-bump')
-
const bumpType = normalizeType(process.argv[2])
+start().catch(console.error)
+
+async function start() {
-readFile(changelogPath)
-.then(async (changeBuffer) => {
+ const changeBuffer = await readFile(changelogPath)
const changelog = changeBuffer.toString()
const newData = await versionBump(bumpType, changelog, manifest)
@@ -22,10 +23,8 @@ readFile(changelogPath)
await writeFile(changelogPath, newData.changelog)
await writeFile(manifestPath, manifestString)
- return newData.version
-})
-.then((version) => console.log(`Bumped ${bumpType} to version ${version}`))
-.catch(console.error)
+ console.log(`Bumped ${bumpType} to version ${newData.version}`)
+}
function normalizeType (userInput) {
diff --git a/old-ui/app/info.js b/old-ui/app/info.js
index db9f30f23..d79b8a3d2 100644
--- a/old-ui/app/info.js
+++ b/old-ui/app/info.js
@@ -63,7 +63,7 @@ InfoScreen.prototype.render = function () {
h('a', {
href: 'https://metamask.io/privacy.html',
target: '_blank',
- onClick (event) { this.navigateTo(event.target.href) },
+ onClick: (event) => { this.navigateTo(event.target.href) },
}, [
h('div.info', 'Privacy Policy'),
]),
@@ -72,7 +72,7 @@ InfoScreen.prototype.render = function () {
h('a', {
href: 'https://metamask.io/terms.html',
target: '_blank',
- onClick (event) { this.navigateTo(event.target.href) },
+ onClick: (event) => { this.navigateTo(event.target.href) },
}, [
h('div.info', 'Terms of Use'),
]),
@@ -81,7 +81,7 @@ InfoScreen.prototype.render = function () {
h('a', {
href: 'https://metamask.io/attributions.html',
target: '_blank',
- onClick (event) { this.navigateTo(event.target.href) },
+ onClick: (event) => { this.navigateTo(event.target.href) },
}, [
h('div.info', 'Attributions'),
]),
diff --git a/old-ui/app/unlock.js b/old-ui/app/unlock.js
index a1f791552..7bf4ad29f 100644
--- a/old-ui/app/unlock.js
+++ b/old-ui/app/unlock.js
@@ -69,7 +69,7 @@ UnlockScreen.prototype.render = function () {
style: {
margin: 10,
},
- }, 'Unlock'),
+ }, 'Log In'),
]),
h('.flex-row.flex-center.flex-grow', [
diff --git a/ui/app/actions.js b/ui/app/actions.js
index 4f902a6a2..8b1480a79 100644
--- a/ui/app/actions.js
+++ b/ui/app/actions.js
@@ -1498,6 +1498,7 @@ function pairUpdate (coin) {
dispatch(actions.hideWarning())
shapeShiftRequest('marketinfo', {pair: `${coin.toLowerCase()}_eth`}, (mktResponse) => {
dispatch(actions.hideSubLoadingIndication())
+ if (mktResponse.error) return dispatch(actions.displayWarning(mktResponse.error))
dispatch({
type: actions.PAIR_UPDATE,
value: {
diff --git a/ui/app/add-token.js b/ui/app/add-token.js
index a1729ba8e..51c577987 100644
--- a/ui/app/add-token.js
+++ b/ui/app/add-token.js
@@ -52,7 +52,7 @@ function AddTokenScreen () {
isShowingConfirmation: false,
customAddress: '',
customSymbol: '',
- customDecimals: null,
+ customDecimals: '',
searchQuery: '',
isCollapsed: true,
selectedTokens: {},
diff --git a/ui/app/components/modals/deposit-ether-modal.js b/ui/app/components/modals/deposit-ether-modal.js
index 532d66653..7547dbcf5 100644
--- a/ui/app/components/modals/deposit-ether-modal.js
+++ b/ui/app/components/modals/deposit-ether-modal.js
@@ -33,6 +33,9 @@ function mapDispatchToProps (dispatch) {
hideModal: () => {
dispatch(actions.hideModal())
},
+ hideWarning: () => {
+ dispatch(actions.hideWarning())
+ },
showAccountDetailModal: () => {
dispatch(actions.showModal({ name: 'ACCOUNT_DETAILS' }))
},
@@ -119,6 +122,7 @@ DepositEtherModal.prototype.render = function () {
h('div.deposit-ether-modal__header__close', {
onClick: () => {
this.setState({ buyingWithShapeshift: false })
+ this.props.hideWarning()
this.props.hideModal()
},
}),
@@ -179,6 +183,7 @@ DepositEtherModal.prototype.render = function () {
}
DepositEtherModal.prototype.goToAccountDetailsModal = function () {
+ this.props.hideWarning()
this.props.hideModal()
this.props.showAccountDetailModal()
}
diff --git a/ui/app/components/modals/modal.js b/ui/app/components/modals/modal.js
index 97fe38292..8e9e58985 100644
--- a/ui/app/components/modals/modal.js
+++ b/ui/app/components/modals/modal.js
@@ -79,6 +79,7 @@ const MODALS = {
contents: [
h(DepositEtherModal, {}, []),
],
+ onHide: (props) => props.hideWarning(),
mobileModalStyle: {
width: '100%',
height: '100%',
@@ -286,6 +287,10 @@ function mapDispatchToProps (dispatch) {
hideModal: () => {
dispatch(actions.hideModal())
},
+ hideWarning: () => {
+ dispatch(actions.hideWarning())
+ },
+
}
}
@@ -308,7 +313,12 @@ Modal.prototype.render = function () {
{
className: 'modal',
keyboard: false,
- onHide: () => { this.onHide() },
+ onHide: () => {
+ if (modal.onHide) {
+ modal.onHide(this.props)
+ }
+ this.onHide()
+ },
ref: (ref) => {
this.modalRef = ref
},
diff --git a/ui/app/components/shapeshift-form.js b/ui/app/components/shapeshift-form.js
index 648b05049..87eb1588a 100644
--- a/ui/app/components/shapeshift-form.js
+++ b/ui/app/components/shapeshift-form.js
@@ -14,11 +14,13 @@ function mapStateToProps (state) {
tokenExchangeRates,
selectedAddress,
} = state.metamask
+ const { warning } = state.appState
return {
coinOptions,
tokenExchangeRates,
selectedAddress,
+ warning,
}
}
@@ -163,7 +165,7 @@ ShapeshiftForm.prototype.renderQrCode = function () {
ShapeshiftForm.prototype.render = function () {
- const { coinOptions, btnClass } = this.props
+ const { coinOptions, btnClass, warning } = this.props
const { depositCoin, errorMessage, showQrCode, depositAddress } = this.state
const coinPair = `${depositCoin}_eth`
const { tokenExchangeRates } = this.props
@@ -206,7 +208,9 @@ ShapeshiftForm.prototype.render = function () {
]),
- h('div', {
+ warning && h('div.shapeshift-form__address-input-label', warning),
+
+ !warning && h('div', {
className: classnames('shapeshift-form__address-input-wrapper', {
'shapeshift-form__address-input-wrapper--error': errorMessage,
}),
@@ -227,7 +231,7 @@ ShapeshiftForm.prototype.render = function () {
h('divshapeshift-form__address-input-error-message', [errorMessage]),
]),
- this.renderMarketInfo(),
+ !warning && this.renderMarketInfo(),
]),
diff --git a/ui/app/css/itcss/components/modal.scss b/ui/app/css/itcss/components/modal.scss
index 919e1793b..53e3bff00 100644
--- a/ui/app/css/itcss/components/modal.scss
+++ b/ui/app/css/itcss/components/modal.scss
@@ -787,6 +787,10 @@
width: auto;
flex: 1;
}
+
+ @media screen and (max-width: 575px) {
+ width: auto;
+ }
}
}
diff --git a/ui/app/send-v2.js b/ui/app/send-v2.js
index 1d67150e3..fc1df1f51 100644
--- a/ui/app/send-v2.js
+++ b/ui/app/send-v2.js
@@ -361,8 +361,9 @@ SendTransactionScreen.prototype.validateAmount = function (value) {
})
}
+ const verifyTokenBalance = selectedToken && tokenBalance !== null
let sufficientTokens
- if (selectedToken) {
+ if (verifyTokenBalance) {
sufficientTokens = isTokenBalanceSufficient({
tokenBalance,
amount,
@@ -377,7 +378,7 @@ SendTransactionScreen.prototype.validateAmount = function (value) {
if (conversionRate && !sufficientBalance) {
amountError = 'Insufficient funds.'
- } else if (selectedToken && !sufficientTokens) {
+ } else if (verifyTokenBalance && !sufficientTokens) {
amountError = 'Insufficient tokens.'
} else if (amountLessThanZero) {
amountError = 'Can not send negative amounts of ETH.'
@@ -396,14 +397,15 @@ SendTransactionScreen.prototype.renderAmountRow = function () {
amount,
setMaxModeTo,
maxModeOn,
+ gasTotal,
} = this.props
return h('div.send-v2__form-row', [
- h('div.send-v2__form-label', [
+ h('div.send-v2__form-label', [
'Amount:',
this.renderErrorMessage('amount'),
- !errors.amount && h('div.send-v2__amount-max', {
+ !errors.amount && gasTotal && h('div.send-v2__amount-max', {
onClick: (event) => {
event.preventDefault()
setMaxModeTo(true)
@@ -491,9 +493,12 @@ SendTransactionScreen.prototype.renderFooter = function () {
goHome,
clearSend,
gasTotal,
+ tokenBalance,
+ selectedToken,
errors: { amount: amountError, to: toError },
} = this.props
+ const missingTokenBalance = selectedToken && !tokenBalance
const noErrors = !amountError && toError === null
return h('div.page-container__footer', [
@@ -504,7 +509,7 @@ SendTransactionScreen.prototype.renderFooter = function () {
},
}, 'Cancel'),
h('button.btn-clear.page-container__footer-button', {
- disabled: !noErrors || !gasTotal,
+ disabled: !noErrors || !gasTotal || missingTokenBalance,
onClick: event => this.onSubmit(event),
}, 'Next'),
])
diff --git a/ui/app/unlock.js b/ui/app/unlock.js
index 13c3f1274..cafe3a859 100644
--- a/ui/app/unlock.js
+++ b/ui/app/unlock.js
@@ -71,7 +71,7 @@ UnlockScreen.prototype.render = function () {
style: {
margin: 10,
},
- }, 'Unlock'),
+ }, 'Log In'),
]),
h('.flex-row.flex-center.flex-grow', [
@@ -104,7 +104,7 @@ UnlockScreen.prototype.render = function () {
},
}, 'Use classic interface'),
]),
-
+
])
)
}