diff --git a/app/components/flow/HowVotingWorks.js b/app/components/flow/HowVotingWorks.js index d08ec9a..c303cc2 100644 --- a/app/components/flow/HowVotingWorks.js +++ b/app/components/flow/HowVotingWorks.js @@ -6,10 +6,29 @@ import Typography from '@material-ui/core/Typography'; import { withRouter } from 'react-router-dom'; import SNT from 'Embark/contracts/SNT'; import PollManager from 'Embark/contracts/PollManager'; +import Dialog from '@material-ui/core/Dialog'; +import DialogActions from '@material-ui/core/DialogActions'; +import DialogContent from '@material-ui/core/DialogContent'; +import DialogTitle from '@material-ui/core/DialogTitle'; class HowVotingWorks extends Component { + state = { + open: false + } + + + handleClickOpen = () => { + this.setState({ + open: true, + }); + }; + + handleClose = value => { + this.setState({ open: false }); + }; + checkWeb3 = async () => { if(!window.web3){ this.props.history.push("/wallet/" + this.props.idPoll); @@ -48,46 +67,54 @@ class HowVotingWorks extends Component { const props = this.props; return
How voting works - + +

When a vote is created, the Voting Dapp uses smart contracts to take a snapshot of all the wallets addresses which hold SNT and their SNT balances. These SNT balances are used to inform the number of voting credits a wallet address has. No SNT needs to be staked or committed, all that is required is to connect to the voting app with a wallet that had SNT in it before the "snapshot" was taken.

+

Voting credits are a representation of the SNT in the wallet address at the time the vote was created. When voting, the first ballot which is voted on will cost 1 voting credit. The second vote will cost an additional 3 voting credits to total 4 voting credits. Every additional vote will require its square in voting credits.

+

This voting process is called quadratic voting. It minimizes the effect that large token holders can have on the vote, measures the intensity of opinion and encourages a spread of voting amongst the ballots.

} + open={this.state.open} + onClose={this.handleClose} +/> +
- +
- + Any wallet with SNT can vote - + When a poll is created a snapshot is taken of every wallet that holds Status Network Tokens (SNT).
- +
- +
- + You don't spend your SNT! - + Your wallet gets one voting credit for every SNT it holds. To cast your vote, you sign a transaction, but you only spend a small amount of ETH for the transaction fee.
- +
- +
- + Your vote counts - + Most votes when poll ends wins! Multiple votes cost more to prevent whales from controlling the vote
@@ -102,4 +129,33 @@ class HowVotingWorks extends Component { } } + + +class InfoDialog extends Component { + + handleClose = () => { + this.props.onClose(this.props.selectedValue); + }; + + handleListItemClick = value => { + this.props.onClose(value); + }; + + render() { + const { onClose, text, ...other } = this.props; + + return ( + + How voting works + + {text} + + + + + + ); + } +} + export default withRouter(HowVotingWorks); \ No newline at end of file