mirror of
https://github.com/status-im/visual-identity.git
synced 2025-02-08 10:44:33 +00:00
Merge branch '000-snt-voting-dapp' of https://github.com/status-im/contracts into 000-snt-voting-dapp
This commit is contained in:
commit
ddc3cd5c55
@ -6,26 +6,30 @@ import AddPoll from './simple-voting/AddPoll';
|
||||
import PollsList from './simple-voting/PollsList';
|
||||
import StatusLogo from '../ui/components/StatusLogo';
|
||||
import Collapse from '@material-ui/core/Collapse';
|
||||
import { VotingContext } from '../context';
|
||||
|
||||
class Voting extends PureComponent {
|
||||
state = { addPoll: false };
|
||||
|
||||
render(){
|
||||
const { toggleAdmin, rawPolls } = this.props;
|
||||
const { addPoll } = this.state;
|
||||
const togglePoll = () => { this.setState({ addPoll: !addPoll })};
|
||||
return (
|
||||
<Fragment>
|
||||
<CssBaseline />
|
||||
<AppBar toggleAdmin={toggleAdmin} togglePoll={togglePoll} />
|
||||
<div style={{ margin: '30px', textAlign: 'center' }}>
|
||||
<img src="images/logo.png" width="200" />
|
||||
</div>
|
||||
<Collapse in={addPoll}>
|
||||
<AddPoll togglePoll={togglePoll} />
|
||||
</Collapse>
|
||||
{rawPolls && <PollsList rawPolls={rawPolls} />}
|
||||
</Fragment>
|
||||
<VotingContext.Consumer>
|
||||
{({ getPolls, rawPolls, toggleAdmin }) =>
|
||||
<Fragment>
|
||||
<CssBaseline />
|
||||
<AppBar toggleAdmin={toggleAdmin} togglePoll={togglePoll} />
|
||||
<div style={{ margin: '30px', textAlign: 'center' }}>
|
||||
<img src="images/logo.png" width="200" />
|
||||
</div>
|
||||
<Collapse in={addPoll}>
|
||||
<AddPoll togglePoll={togglePoll} getPolls={getPolls} />
|
||||
</Collapse>
|
||||
{rawPolls && <PollsList rawPolls={rawPolls} />}
|
||||
</Fragment>
|
||||
}
|
||||
</VotingContext.Consumer>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
@ -106,6 +106,7 @@ const AddPoll = withFormik({
|
||||
console.log('sucess:', res);
|
||||
setSubmitting(false);
|
||||
props.togglePoll();
|
||||
props.getPolls();
|
||||
})
|
||||
.catch(res => {
|
||||
console.log('fail:', res);
|
||||
|
@ -96,7 +96,7 @@ class Poll extends Component {
|
||||
SNT Allocated: {_results}
|
||||
</Typography>
|
||||
</CardContent>
|
||||
<Tooltip id="tooltip-icon" placement="top" title={`${value} votes`}>
|
||||
<Tooltip id="tooltip-icon" placement="top" title={`${value * value} SNT - ${value} vote credits`}>
|
||||
<CardActions>
|
||||
<Slider disabled={disableVote} value={value} min={0} max={maxValue} step={1} onChange={this.handleChange} />
|
||||
<Button variant="contained" disabled={disableVote} color="primary" onClick={this.handleClick}>Vote</Button>
|
||||
|
3
app/context.js
Normal file
3
app/context.js
Normal file
@ -0,0 +1,3 @@
|
||||
import React from 'react';
|
||||
|
||||
export const VotingContext = React.createContext(null);
|
17
app/dapp.js
17
app/dapp.js
@ -5,6 +5,7 @@ import PollManager from 'Embark/contracts/PollManager';
|
||||
import AdminView from './components/AdminView';
|
||||
import Voting from './components/Voting';
|
||||
import SNT from 'Embark/contracts/SNT';
|
||||
import { VotingContext } from './context';
|
||||
window['SNT'] = SNT;
|
||||
|
||||
import './dapp.css';
|
||||
@ -36,7 +37,7 @@ class App extends React.Component {
|
||||
this.setState({account: _account});
|
||||
}
|
||||
|
||||
async _getPolls(){
|
||||
_getPolls = async () => {
|
||||
const { nPolls, poll } = PollManager.methods;
|
||||
const polls = await nPolls.call();
|
||||
const total = await polls.call();
|
||||
@ -54,13 +55,17 @@ class App extends React.Component {
|
||||
|
||||
render(){
|
||||
const { admin, rawPolls } = this.state;
|
||||
const { _getPolls } = this;
|
||||
const toggleAdmin = () => this.setState({ admin: true });
|
||||
const votingContext = { getPolls: _getPolls, rawPolls, toggleAdmin };
|
||||
return (
|
||||
<Fragment>
|
||||
{admin ?
|
||||
<AdminView setAccount={this.setAccount} /> :
|
||||
<Voting toggleAdmin={toggleAdmin} rawPolls={rawPolls} />}
|
||||
</Fragment>
|
||||
<VotingContext.Provider value={votingContext}>
|
||||
<Fragment>
|
||||
{admin ?
|
||||
<AdminView setAccount={this.setAccount} /> :
|
||||
<Voting />}
|
||||
</Fragment>
|
||||
</VotingContext.Provider>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user