[Glitch] Fix not being able to vote

Port e12a5635da to glitch-soc

Signed-off-by: Thibaut Girka <thib@sitedethib.com>
This commit is contained in:
ThibG 2020-04-17 21:54:25 +02:00 committed by Thibaut Girka
parent 7ee65ba15e
commit 81ef26b67d
2 changed files with 7 additions and 4 deletions

View File

@ -4,7 +4,6 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
import ImmutablePureComponent from 'react-immutable-pure-component'; import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl'; import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import classNames from 'classnames'; import classNames from 'classnames';
import { vote } from 'flavours/glitch/actions/polls';
import Motion from 'flavours/glitch/util/optional_motion'; import Motion from 'flavours/glitch/util/optional_motion';
import spring from 'react-motion/lib/spring'; import spring from 'react-motion/lib/spring';
import escapeTextContentForBrowser from 'escape-html'; import escapeTextContentForBrowser from 'escape-html';
@ -28,9 +27,9 @@ class Poll extends ImmutablePureComponent {
static propTypes = { static propTypes = {
poll: ImmutablePropTypes.map, poll: ImmutablePropTypes.map,
intl: PropTypes.object.isRequired, intl: PropTypes.object.isRequired,
dispatch: PropTypes.func,
disabled: PropTypes.bool, disabled: PropTypes.bool,
refresh: PropTypes.func, refresh: PropTypes.func,
onVote: PropTypes.func,
}; };
state = { state = {
@ -101,7 +100,7 @@ class Poll extends ImmutablePureComponent {
return; return;
} }
this.props.dispatch(vote(this.props.poll.get('id'), Object.keys(this.state.selected))); this.props.onVote(Object.keys(this.state.selected));
}; };
handleRefresh = () => { handleRefresh = () => {

View File

@ -2,7 +2,7 @@ import { connect } from 'react-redux';
import { debounce } from 'lodash'; import { debounce } from 'lodash';
import Poll from 'flavours/glitch/components/poll'; import Poll from 'flavours/glitch/components/poll';
import { fetchPoll } from 'flavours/glitch/actions/polls'; import { fetchPoll, vote } from 'flavours/glitch/actions/polls';
const mapDispatchToProps = (dispatch, { pollId }) => ({ const mapDispatchToProps = (dispatch, { pollId }) => ({
refresh: debounce( refresh: debounce(
@ -12,6 +12,10 @@ const mapDispatchToProps = (dispatch, { pollId }) => ({
1000, 1000,
{ leading: true }, { leading: true },
), ),
onVote (choices) {
dispatch(vote(pollId, choices));
},
}); });
const mapStateToProps = (state, { pollId }) => ({ const mapStateToProps = (state, { pollId }) => ({