Redux #115
3 changed files with 44 additions and 24 deletions
|
@ -7,6 +7,7 @@ import {
|
||||||
} from 'actions/app'
|
} from 'actions/app'
|
||||||
import {
|
import {
|
||||||
doGetNewAddress,
|
doGetNewAddress,
|
||||||
|
doCheckAddressIsMine,
|
||||||
} from 'actions/wallet'
|
} from 'actions/wallet'
|
||||||
import {
|
import {
|
||||||
selectCurrentPage,
|
selectCurrentPage,
|
||||||
|
@ -34,6 +35,7 @@ const select = (state) => ({
|
||||||
const perform = (dispatch) => ({
|
const perform = (dispatch) => ({
|
||||||
closeModal: () => dispatch(doCloseModal()),
|
closeModal: () => dispatch(doCloseModal()),
|
||||||
getNewAddress: () => dispatch(doGetNewAddress()),
|
getNewAddress: () => dispatch(doGetNewAddress()),
|
||||||
|
checkAddressIsMine: (address) => dispatch(doCheckAddressIsMine(address))
|
||||||
})
|
})
|
||||||
|
|
||||||
export default connect(select, perform)(WalletPage)
|
export default connect(select, perform)(WalletPage)
|
||||||
|
|
|
@ -12,32 +12,38 @@ import {
|
||||||
CreditAmount
|
CreditAmount
|
||||||
} from 'component/common';
|
} from 'component/common';
|
||||||
|
|
||||||
const AddressSection = (props) => {
|
class AddressSection extends React.Component {
|
||||||
const {
|
componentWillMount() {
|
||||||
receiveAddress,
|
this.props.checkAddressIsMine(this.props.receiveAddress)
|
||||||
getNewAddress,
|
}
|
||||||
gettingNewAddress,
|
|
||||||
} = props
|
|
||||||
|
|
||||||
return (
|
render() {
|
||||||
<section className="card">
|
const {
|
||||||
<div className="card__title-primary">
|
receiveAddress,
|
||||||
<h3>Wallet Address</h3>
|
getNewAddress,
|
||||||
</div>
|
gettingNewAddress,
|
||||||
<div className="card__content">
|
} = this.props
|
||||||
<Address address={receiveAddress} />
|
|
||||||
</div>
|
return (
|
||||||
<div className="card__actions">
|
<section className="card">
|
||||||
<Link label="Get New Address" button="primary" icon='icon-refresh' onClick={getNewAddress} disabled={gettingNewAddress}/>
|
<div className="card__title-primary">
|
||||||
</div>
|
<h3>Wallet Address</h3>
|
||||||
<div className="card__content">
|
|
||||||
<div className="help">
|
|
||||||
<p>Other LBRY users may send credits to you by entering this address on the "Send" page.</p>
|
|
||||||
<p>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.</p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div className="card__content">
|
||||||
</section>
|
<Address address={receiveAddress} />
|
||||||
);
|
</div>
|
||||||
|
<div className="card__actions">
|
||||||
|
<Link label="Get New Address" button="primary" icon='icon-refresh' onClick={getNewAddress} disabled={gettingNewAddress}/>
|
||||||
|
</div>
|
||||||
|
<div className="card__content">
|
||||||
|
<div className="help">
|
||||||
|
<p>Other LBRY users may send credits to you by entering this address on the "Send" page.</p>
|
||||||
|
<p>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.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var SendToAddressSection = React.createClass({
|
var SendToAddressSection = React.createClass({
|
||||||
|
|
|
@ -45,6 +45,18 @@ reducers[types.UPDATE_BALANCE] = function(state, action) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
reducers[types.CHECK_ADDRESS_IS_MINE_STARTED] = function(state, action) {
|
||||||
|
return Object.assign({}, state, {
|
||||||
|
checkingAddressOwnership: true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
reducers[types.CHECK_ADDRESS_IS_MINE_COMPLETED] = function(state, action) {
|
||||||
|
return Object.assign({}, state, {
|
||||||
|
checkingAddressOwnership: false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
export default function reducer(state = defaultState, action) {
|
export default function reducer(state = defaultState, action) {
|
||||||
const handler = reducers[action.type];
|
const handler = reducers[action.type];
|
||||||
if (handler) return handler(state, action);
|
if (handler) return handler(state, action);
|
||||||
|
|
Loading…
Reference in a new issue