From 81f9be636c264bddbf54232c5c25b8591aea4daa Mon Sep 17 00:00:00 2001 From: Daniel Gonzalez Date: Wed, 8 Jul 2020 22:09:13 -0400 Subject: [PATCH] style(txid): Added txid as a link to the bch explorer --- src/components/admin-lte/tokens/index.js | 35 ++++++++++------- .../admin-lte/tokens/send-tokens.js | 38 +++++++++++++++---- 2 files changed, 52 insertions(+), 21 deletions(-) diff --git a/src/components/admin-lte/tokens/index.js b/src/components/admin-lte/tokens/index.js index 6e0be56..6af3097 100644 --- a/src/components/admin-lte/tokens/index.js +++ b/src/components/admin-lte/tokens/index.js @@ -28,6 +28,19 @@ class Tokens extends React.Component { return ( <> + {_this.state.showForm && ( + + )} {_this.state.inFetch ? (
Loading... @@ -64,18 +77,7 @@ class Tokens extends React.Component { )} - {_this.state.showForm && ( - - )} + {_this.state.tokens.length > 0 && ( <> @@ -116,7 +118,10 @@ class Tokens extends React.Component { }) } - async componentDidMount () { + async getTokens () { + _this.setState({ + inFetch: true + }) const { mnemonic } = _this.props.walletInfo const bchWallet = _this.props.bchWallet let tokens = [] @@ -142,6 +147,10 @@ class Tokens extends React.Component { }) } + async componentDidMount () { + await _this.getTokens() + } + showToken (selectedTokenToView) { _this.setState({ selectedTokenToView diff --git a/src/components/admin-lte/tokens/send-tokens.js b/src/components/admin-lte/tokens/send-tokens.js index c37ac14..c9585c9 100644 --- a/src/components/admin-lte/tokens/send-tokens.js +++ b/src/components/admin-lte/tokens/send-tokens.js @@ -18,7 +18,8 @@ class SendTokens extends React.Component { amountSat: '', errMsg: '', txId: '', - showScan: false + showScan: false, + inFetch: false } _this.BchWallet = BchWallet } @@ -29,7 +30,7 @@ class SendTokens extends React.Component { <> - +

@@ -82,7 +83,16 @@ class SendTokens extends React.Component {

{_this.state.errMsg}

)} {_this.state.txId && ( -

Transaction ID: {_this.state.txId}

+

+ Transaction ID: + + {_this.state.txId} + +

)} {name && ( @@ -113,11 +123,15 @@ class SendTokens extends React.Component { async handleSend () { try { + _this.setState({ + txId: '', + inFetch: true + }) _this.validateInputs() const bchWalletLib = _this.props.bchWallet const { address, amountSat } = _this.state - const { tokenId } = _this.props.selectedToken + const { tokenId, qty } = _this.props.selectedToken if (!tokenId) { throw new Error('There is no token selected') @@ -127,7 +141,9 @@ class SendTokens extends React.Component { tokenId, qty: Math.floor(Number(amountSat)) } - + if (qty < receiver.qty) { + throw new Error('Insufficient balance') + } // console.log('receiver', receiver) if (!bchWalletLib) { @@ -148,10 +164,14 @@ class SendTokens extends React.Component { // console.log('result: ', result) _this.setState({ - txId: result + txId: result, + inFetch: false }) _this.resetValues() + setTimeout(() => { + _this.props.handleSend() + }, 1000) } catch (error) { let errMsg if (error.message) { @@ -163,7 +183,8 @@ class SendTokens extends React.Component { return { ...prevState, errMsg, - txId: '' + txId: '', + inFetch: false } }) } @@ -267,6 +288,7 @@ SendTokens.propTypes = { walletInfo: PropTypes.object.isRequired, // wallet info bchWallet: PropTypes.object, // get minimal-slp-wallet instance selectedToken: PropTypes.object, - handleBack: PropTypes.func.isRequired + handleBack: PropTypes.func.isRequired, + handleSend: PropTypes.func.isRequired } export default SendTokens