diff --git a/app/components/ens/nameLookup.js b/app/components/ens/nameLookup.js
index 8160068..1a9f30a 100644
--- a/app/components/ens/nameLookup.js
+++ b/app/components/ens/nameLookup.js
@@ -1,4 +1,6 @@
import React, { Fragment, PureComponent } from 'react';
+import { connect } from 'react-redux';
+import { actions as accountActions } from '../../reducers/accounts';
import ENSSubdomainRegistry from 'Embark/contracts/ENSSubdomainRegistry';
import { Button, Field, TextInput, Card, Info, Text } from '../../ui/components'
import { IconCheck } from '../../ui/icons'
@@ -72,6 +74,13 @@ class Register extends PureComponent {
.then((res) => { this.setState({ domainPrice: res })});
}
+ onRegistered = (address, statusAccount) => {
+ const { domainPrice } = this.state;
+ const { subtractFromBalance } = this.props;
+ subtractFromBalance(domainPrice);
+ this.setState({ registered: { address, statusAccount } });
+ }
+
render() {
const { domainName, setStatus } = this.props;
const { domainPrice, registered } = this.state;
@@ -88,7 +97,7 @@ class Register extends PureComponent {
subDomain={formattedDomainArray[0]}
domainName={formattedDomainArray.slice(1).join('.')}
domainPrice={domainPrice}
- registeredCallbackFn={(address, statusAccount) => this.setState({ registered: { address, statusAccount } })} />
+ registeredCallbackFn={this.onRegistered} />
:
}
setStatus(null)}>←
@@ -97,6 +106,14 @@ class Register extends PureComponent {
}
}
+const mapDispatchToProps = dispatch => ({
+ subtractFromBalance(amount) {
+ dispatch(accountActions.subtractfromSntTokenBalance(amount));
+ },
+});
+
+const ConnectedRegister = connect(null, mapDispatchToProps)(Register);
+
const DisplayAddress = (props) => (
{validAddress(props.address) ?
@@ -141,7 +158,7 @@ const InnerForm = ({
address={status.address}
statusAccount={status.statusAccount}
setStatus={setStatus} /> :
-
}
diff --git a/app/components/standard/TokenPermission.js b/app/components/standard/TokenPermission.js
index bd040a2..764490f 100644
--- a/app/components/standard/TokenPermission.js
+++ b/app/components/standard/TokenPermission.js
@@ -55,7 +55,6 @@ class TokenHandle extends PureComponent {
render() {
const { symbol, account, isLoading } = this.props;
const { approved } = this.state;
- console.log('account:', this.props)
return (
{!isLoading && !!account &&
diff --git a/app/reducers/accounts.js b/app/reducers/accounts.js
index 0c379af..7ae592c 100644
--- a/app/reducers/accounts.js
+++ b/app/reducers/accounts.js
@@ -4,12 +4,14 @@ import { createSelector } from 'reselect'
export const types = createTypes([
'RECEIVE_ACCOUNTS',
'UPDATE_DEFAULT_ACCOUNT',
- 'ADD_TO_SNT_TOKEN_BALANCE'
+ 'ADD_TO_SNT_TOKEN_BALANCE',
+ 'SUBTRACT_FROM_SNT_TOKEN_BALANCE'
], 'ACCOUNTS')
export const actions = {
receiveAccounts: actionCreator(types.RECEIVE_ACCOUNTS, 'defaultAccount','accounts'),
updateDefaultAccount: actionCreator(types.UPDATE_DEFAULT_ACCOUNT, 'defaultAccount'),
- addToSntTokenBalance: actionCreator(types.ADD_TO_SNT_TOKEN_BALANCE, 'amount')
+ addToSntTokenBalance: actionCreator(types.ADD_TO_SNT_TOKEN_BALANCE, 'amount'),
+ subtractfromSntTokenBalance: actionCreator(types.SUBTRACT_FROM_SNT_TOKEN_BALANCE, 'amount')
}
export default function(state = { loading: true, accounts: [] }, action) {
@@ -38,6 +40,17 @@ export default function(state = { loading: true, accounts: [] }, action) {
accounts
}
}
+ case types.SUBTRACT_FROM_SNT_TOKEN_BALANCE: {
+ const currentAccount = { ...getCurrentAccount({accounts: state}) }
+ currentAccount.SNTTokenBalance = Number(currentAccount.SNTTokenBalance) - Number(action.payload.amount)
+ const accounts = [ ...state.accounts ]
+ const idx = accounts.findIndex(a => a.address === currentAccount.address)
+ accounts[idx] = currentAccount
+ return {
+ ...state,
+ accounts
+ }
+ }
default:
return state;
}