diff --git a/app/components/accountlist.js b/app/components/accountlist.js index fbd3cc7..6a2b749 100644 --- a/app/components/accountlist.js +++ b/app/components/accountlist.js @@ -58,6 +58,7 @@ class AccList extends React.Component { if(defaultAcc){ web3.eth.defaultAccount = defaultAcc; this.setState({defaultAccount: defaultAcc }); + this.props.accountUpdateHandler(defaultAcc); } else { console.log("invalid account") } diff --git a/app/components/topnavbar.js b/app/components/topnavbar.js index 2f44c8c..6193c57 100644 --- a/app/components/topnavbar.js +++ b/app/components/topnavbar.js @@ -23,7 +23,7 @@ class TopNavbar extends React.Component { Status.im Demo - + ); diff --git a/app/components/voting-dapp/paginator.js b/app/components/voting-dapp/paginator.js new file mode 100644 index 0000000..15c0278 --- /dev/null +++ b/app/components/voting-dapp/paginator.js @@ -0,0 +1,2 @@ +const Paginator = (props) => '<< | < | 1 | 2 | 3 | > | >>'; +export default Paginator; diff --git a/app/components/voting-dapp/proposal-container.js b/app/components/voting-dapp/proposal-container.js index ff90d57..d2df7d3 100644 --- a/app/components/voting-dapp/proposal-container.js +++ b/app/components/voting-dapp/proposal-container.js @@ -5,6 +5,7 @@ import React from 'react'; import ProposalForm from './proposal-form'; import Proposal from './proposal'; import ProposalList from './proposal-list'; +import Paginator from './paginator'; class ProposalContainer extends React.Component { @@ -25,7 +26,10 @@ class ProposalContainer extends React.Component { } render(){ - return ; + return + + + ; } } diff --git a/app/components/voting-dapp/status-bar.js b/app/components/voting-dapp/status-bar.js new file mode 100644 index 0000000..94b39ba --- /dev/null +++ b/app/components/voting-dapp/status-bar.js @@ -0,0 +1,32 @@ +import web3 from "Embark/web3" +import EmbarkJS from 'Embark/EmbarkJS'; +import React from 'react'; +import SNT from 'Embark/contracts/TestToken'; // TODO change this to SNT + +class StatusBar extends React.Component { + + constructor(props) { + super(props); + this.state = { + balance: 0 + }; + } + + componentWillReceiveProps(){ + __embarkContext.execWhenReady(async () => { + let _b = await SNT.methods.balanceOf(web3.eth.defaultAccount).call(); + this.setState({ + balance: _b + }); + }); + } + + render(){ + return
+ SNT Voting Balance: {this.state.balance} +
; + } + +} + +export default StatusBar; diff --git a/app/components/voting-dapp/voting-dapp.js b/app/components/voting-dapp/voting-dapp.js index 8d7bdd4..fe11f57 100644 --- a/app/components/voting-dapp/voting-dapp.js +++ b/app/components/voting-dapp/voting-dapp.js @@ -4,6 +4,7 @@ import React from 'react'; import ProposalForm from './proposal-form'; import ProposalContainer from './proposal-container'; +import StatusBar from './status-bar'; class VotingDapp extends React.Component { @@ -16,6 +17,7 @@ class VotingDapp extends React.Component { render(){ return
+
; diff --git a/app/dapp.css b/app/dapp.css index 0fd02eb..957c20b 100644 --- a/app/dapp.css +++ b/app/dapp.css @@ -60,4 +60,10 @@ input.form-control { margin: 5px; +} + + +.SNTBalance { + float: right; + display: block; } \ No newline at end of file diff --git a/app/dapp.js b/app/dapp.js index 930441e..6d05b8c 100644 --- a/app/dapp.js +++ b/app/dapp.js @@ -22,6 +22,9 @@ class App extends React.Component { }); } + setAccount(_account){ + this.setState({account: _account}); + } _renderStatus(title, available) { let className = available ? 'pull-right status-online' : 'pull-right status-offline'; @@ -34,7 +37,7 @@ class App extends React.Component { render(){ return (
- + this.setAccount(e)} /> diff --git a/config/contracts.json b/config/contracts.json index 1017e67..6518e44 100644 --- a/config/contracts.json +++ b/config/contracts.json @@ -58,7 +58,20 @@ "deploy": false }, "TestToken": { - "deploy": false + "deploy": true + }, + "SNT": { + "instanceOf": "MiniMeToken", + "deploy": true, + "args": [ + "$MiniMeTokenFactory", + 0, + 0, + "TestMiniMeToken", + 18, + "TST", + true + ] } } }