import ImmutablePureComponent from 'react-immutable-pure-component';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
import classNames from 'classnames';
-import { vote } from 'mastodon/actions/polls';
import Motion from 'mastodon/features/ui/util/optional_motion';
import spring from 'react-motion/lib/spring';
import escapeTextContentForBrowser from 'escape-html';
static propTypes = {
poll: ImmutablePropTypes.map,
intl: PropTypes.object.isRequired,
- dispatch: PropTypes.func,
disabled: PropTypes.bool,
refresh: PropTypes.func,
+ onVote: PropTypes.func,
};
state = {
return;
}
- this.props.dispatch(vote(this.props.poll.get('id'), Object.keys(this.state.selected)));
+ this.props.onVote(Object.keys(this.state.selected));
};
handleRefresh = () => {
import { debounce } from 'lodash';
import Poll from 'mastodon/components/poll';
-import { fetchPoll } from 'mastodon/actions/polls';
+import { fetchPoll, vote } from 'mastodon/actions/polls';
const mapDispatchToProps = (dispatch, { pollId }) => ({
refresh: debounce(
1000,
{ leading: true },
),
+
+ onVote (choices) {
+ dispatch(vote(pollId, choices));
+ },
});
const mapStateToProps = (state, { pollId }) => ({