about summary refs log tree commit diff
path: root/app/javascript/flavours/glitch/actions
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2019-03-06 05:35:52 +0100
committerThibaut Girka <thib@sitedethib.com>2019-03-06 11:44:27 +0100
commit94a0149ff3e455792050e790d397d1d4d2c2d851 (patch)
tree7c4dbacf4603fd834da1bf8645b894634da06d4f /app/javascript/flavours/glitch/actions
parent94f1a751bf0313249d891e760dc758e621f1b9ad (diff)
Fix poll options not rendering text after vote/refresh
Port fd128b9c7aa5c71adbfc2e223212514c0baee675 to glitch-soc
Diffstat (limited to 'app/javascript/flavours/glitch/actions')
-rw-r--r--app/javascript/flavours/glitch/actions/importer/index.js6
-rw-r--r--app/javascript/flavours/glitch/actions/polls.js11
2 files changed, 15 insertions, 2 deletions
diff --git a/app/javascript/flavours/glitch/actions/importer/index.js b/app/javascript/flavours/glitch/actions/importer/index.js
index e990dc04c..f4372fb31 100644
--- a/app/javascript/flavours/glitch/actions/importer/index.js
+++ b/app/javascript/flavours/glitch/actions/importer/index.js
@@ -82,3 +82,9 @@ export function importFetchedStatuses(statuses) {
     dispatch(importStatuses(normalStatuses));
   };
 }
+
+export function importFetchedPoll(poll) {
+  return dispatch => {
+    dispatch(importPolls([normalizePoll(poll)]));
+  };
+}
diff --git a/app/javascript/flavours/glitch/actions/polls.js b/app/javascript/flavours/glitch/actions/polls.js
index bee4c48a6..8e8b82df5 100644
--- a/app/javascript/flavours/glitch/actions/polls.js
+++ b/app/javascript/flavours/glitch/actions/polls.js
@@ -1,4 +1,5 @@
 import api from '../api';
+import { importFetchedPoll } from './importer';
 
 export const POLL_VOTE_REQUEST = 'POLL_VOTE_REQUEST';
 export const POLL_VOTE_SUCCESS = 'POLL_VOTE_SUCCESS';
@@ -12,7 +13,10 @@ export const vote = (pollId, choices) => (dispatch, getState) => {
   dispatch(voteRequest());
 
   api(getState).post(`/api/v1/polls/${pollId}/votes`, { choices })
-    .then(({ data }) => dispatch(voteSuccess(data)))
+    .then(({ data }) => {
+      dispatch(importFetchedPoll(data));
+      dispatch(voteSuccess(data));
+    })
     .catch(err => dispatch(voteFail(err)));
 };
 
@@ -20,7 +24,10 @@ export const fetchPoll = pollId => (dispatch, getState) => {
   dispatch(fetchPollRequest());
 
   api(getState).get(`/api/v1/polls/${pollId}`)
-    .then(({ data }) => dispatch(fetchPollSuccess(data)))
+    .then(({ data }) => {
+      dispatch(importFetchedPoll(data));
+      dispatch(fetchPollSuccess(data));
+    })
     .catch(err => dispatch(fetchPollFail(err)));
 };