about summary refs log tree commit diff
path: root/app/javascript/flavours/glitch/containers/poll_container.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/javascript/flavours/glitch/containers/poll_container.js')
-rw-r--r--app/javascript/flavours/glitch/containers/poll_container.js25
1 files changed, 25 insertions, 0 deletions
diff --git a/app/javascript/flavours/glitch/containers/poll_container.js b/app/javascript/flavours/glitch/containers/poll_container.js
new file mode 100644
index 000000000..345351cc6
--- /dev/null
+++ b/app/javascript/flavours/glitch/containers/poll_container.js
@@ -0,0 +1,25 @@
+import { connect } from 'react-redux';
+import { debounce } from 'lodash';
+
+import Poll from 'flavours/glitch/components/poll';
+import { fetchPoll, vote } from 'flavours/glitch/actions/polls';
+
+const mapDispatchToProps = (dispatch, { pollId }) => ({
+  refresh: debounce(
+    () => {
+      dispatch(fetchPoll(pollId));
+    },
+    1000,
+    { leading: true },
+  ),
+
+  onVote (choices) {
+    dispatch(vote(pollId, choices));
+  },
+});
+
+const mapStateToProps = (state, { pollId }) => ({
+  poll: state.getIn(['polls', pollId]),
+});
+
+export default connect(mapStateToProps, mapDispatchToProps)(Poll);