diff --git a/packages/light-react/package.json b/packages/light-react/package.json index 11d54f773d577859ee369cdfad985eadd86e4a58..9e2ee97715a5929a93e0e77bf0a14a1f4c573dd1 100644 --- a/packages/light-react/package.json +++ b/packages/light-react/package.json @@ -38,7 +38,7 @@ "@parity/api": "^2.1.22", "@parity/light.js": "https://github.com/parity-js/light.js#9646ce15d9dd9c4cf11776ddd613d5bd86016f94", "@parity/shared": "^3.0.2", - "bignumber.js": "^7.2.1", + "bignumber.js": "^4.1.0", "is-electron": "^2.1.0", "light-hoc": "^0.1.0", "light-ui": "^0.1.0", @@ -50,6 +50,7 @@ "react-dom": "^16.3.2", "react-router-dom": "^4.2.2", "react-scripts": "1.1.4", + "react-tooltip": "^3.6.1", "rxjs": "^6.2.0" }, "devDependencies": { diff --git a/packages/light-react/src/Onboarding/Onboarding.js b/packages/light-react/src/Onboarding/Onboarding.js index aa2edcc2c13f9361ecd6990b9c7ad73fe985d8c6..da9f981bc9a66e92ff48255772ac641bfe188729 100644 --- a/packages/light-react/src/Onboarding/Onboarding.js +++ b/packages/light-react/src/Onboarding/Onboarding.js @@ -32,7 +32,7 @@ class Onboarding extends Component { readOnly /> } - label="Please read carefully Fether Wallet's Terms of Use" + label='Please read carefully' /> diff --git a/packages/light-react/src/Send/Signer/Signer.js b/packages/light-react/src/Send/Signer/Signer.js index 91c9cfb78399311e85fa2a03f20cc3291d08926e..5c0ecdb91955021473c2f93b12f36a7800f3ceb7 100644 --- a/packages/light-react/src/Send/Signer/Signer.js +++ b/packages/light-react/src/Send/Signer/Signer.js @@ -4,9 +4,11 @@ // SPDX-License-Identifier: MIT import React, { Component } from 'react'; +import { findDOMNode } from 'react-dom'; import { FormField, Header } from 'light-ui'; import { inject, observer } from 'mobx-react'; import { Link } from 'react-router-dom'; +import ReactTooltip from 'react-tooltip'; import TokenBalance from '../../Tokens/TokensList/TokenBalance'; @@ -14,26 +16,31 @@ import TokenBalance from '../../Tokens/TokensList/TokenBalance'; @observer class Signer extends Component { state = { + error: null, isSending: false, password: '' }; - handleAccept = e => { + handleAccept = event => { const { history, sendStore } = this.props; const { password } = this.state; - e.preventDefault(); + event.preventDefault(); this.setState({ isSending: true }, () => { sendStore .acceptRequest(password) .then(() => history.push('/send/sent')) - .catch(() => this.setState({ isSending: false })); + .catch(error => { + this.setState({ error, isSending: false }, () => + ReactTooltip.show(findDOMNode(this.tooltip)) + ); + }); }); }; handleChangePassword = ({ target: { value } }) => { - this.setState({ password: value }); + this.setState({ error: null, password: value }); }; handleReject = () => { @@ -47,11 +54,15 @@ class Signer extends Component { }); }; + handleTooltipRef = ref => { + this.tooltip = ref; + }; + render () { const { sendStore: { token, tx, txStatus } } = this.props; - const { isSending, password } = this.state; + const { error, isSending, password } = this.state; return (
@@ -85,13 +96,18 @@ class Signer extends Component {

Enter your password to confirm this transaction.

- +
+ +