From 97512b9b3aa4080b7dde22f3ef67b6210371aa1d Mon Sep 17 00:00:00 2001 From: Alex Liebowitz Date: Thu, 1 Sep 2016 02:40:23 -0400 Subject: [PATCH 1/3] Show address on Wallet page - Remembers address from previous views using local storage - Also improved layout and added help text --- js/component/common.js | 14 ++++++++++++++ js/page/wallet.js | 37 +++++++++++++++++++++++++++---------- 2 files changed, 41 insertions(+), 10 deletions(-) diff --git a/js/component/common.js b/js/component/common.js index 861685fa5..ed15aac93 100644 --- a/js/component/common.js +++ b/js/component/common.js @@ -89,3 +89,17 @@ var CreditAmount = React.createClass({ ); } }); + +var addressStyle = { + fontFamily: '"Consolas", "Lucida Console", "Adobe Source Code Pro", monospace', +}; +var Address = React.createClass({ + propTypes: { + address: React.PropTypes.string, + }, + render: function() { + return ( + {this.props.address} + ); + } +}); diff --git a/js/page/wallet.js b/js/page/wallet.js index c5df10515..0bc4b40e1 100644 --- a/js/page/wallet.js +++ b/js/page/wallet.js @@ -1,22 +1,39 @@ -var NewAddressSection = React.createClass({ - generateAddress: function() { - lbry.getNewAddress((results) => { +var addressRefreshButtonStyle = { + fontSize: '11pt', +}; +var AddressSection = React.createClass({ + _refreshAddress: function() { + lbry.getNewAddress((address) => { + localStorage.setItem('wallet_address', address); this.setState({ - address: results, - }) + address: address, + }); }); }, getInitialState: function() { return { - address: "", + address: null, + } + }, + componentWillMount: function() { + var address = localStorage.getItem('wallet_address'); + if (address === null) { + self._refreshAddress(); + } else { + this.setState({ + address: address, + }); } }, render: function() { return (
-

Generate New Address

-
-
+

Wallet Address

+

+
+

Other LBRY users may send credits to you by entering this address on the "Send" page.

+ You can generate a new address at any time, and any previous addresses will continue to work. Using multiple addresses can be helpful for keeping track of incoming payments from multiple sources. +
); } @@ -223,7 +240,7 @@ var WalletPage = React.createClass({ { this.props.viewingPage === 'wallet' ? : '' } { this.props.viewingPage === 'send' ? : '' } - { this.props.viewingPage === 'receive' ? : '' } + { this.props.viewingPage === 'receive' ? : '' } ); } From 96dedbf1bd13a3fcf0029a28ce4ba56e27df2ce6 Mon Sep 17 00:00:00 2001 From: Alex Liebowitz Date: Fri, 2 Sep 2016 01:34:30 -0400 Subject: [PATCH 2/3] Add lbry.getAddressIsMine() --- js/lbry.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/js/lbry.js b/js/lbry.js index 00cbbe626..62cd6d948 100644 --- a/js/lbry.js +++ b/js/lbry.js @@ -93,6 +93,10 @@ lbry.getNewAddress = function(callback) { lbry.call('get_new_address', {}, callback); } +lbry.checkAddressIsMine = function(address, callback) { + lbry.call('address_is_mine', {address: address}, callback); +} + lbry.getDaemonSettings = function(callback) { lbry.call('get_settings', {}, callback); } From 8ebddc5a9fc973265f5c08b460f915ddad332cfc Mon Sep 17 00:00:00 2001 From: Alex Liebowitz Date: Fri, 2 Sep 2016 01:46:27 -0400 Subject: [PATCH 3/3] On Wallet page, refresh address if it doesn't match the current wallet --- js/page/wallet.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/js/page/wallet.js b/js/page/wallet.js index 0bc4b40e1..7e9b14a76 100644 --- a/js/page/wallet.js +++ b/js/page/wallet.js @@ -18,10 +18,16 @@ var AddressSection = React.createClass({ componentWillMount: function() { var address = localStorage.getItem('wallet_address'); if (address === null) { - self._refreshAddress(); + this._refreshAddress(); } else { - this.setState({ - address: address, + lbry.checkAddressIsMine(address, (isMine) => { + if (isMine) { + this.setState({ + address: address, + }); + } else { + this._refreshAddress(); + } }); } },