about summary refs log tree commit diff
path: root/app/javascript/flavours/glitch/reducers/statuses.js
diff options
context:
space:
mode:
authorClaire <claire.github-309c@sitedethib.com>2022-07-24 20:01:30 +0200
committerClaire <claire.github-309c@sitedethib.com>2022-07-25 11:57:09 +0200
commit18346f40443f1c01b45d94be1b0edce20b2c27be (patch)
treeb78b33927842f5dfd374fa5fb9509a809849e358 /app/javascript/flavours/glitch/reducers/statuses.js
parenteacde1a130a5764686a284d610890ba0f60b193e (diff)
Add option to share CW toggle state across instances of a post
Diffstat (limited to 'app/javascript/flavours/glitch/reducers/statuses.js')
-rw-r--r--app/javascript/flavours/glitch/reducers/statuses.js21
1 files changed, 21 insertions, 0 deletions
diff --git a/app/javascript/flavours/glitch/reducers/statuses.js b/app/javascript/flavours/glitch/reducers/statuses.js
index 5db766b96..333e4b45c 100644
--- a/app/javascript/flavours/glitch/reducers/statuses.js
+++ b/app/javascript/flavours/glitch/reducers/statuses.js
@@ -10,6 +10,9 @@ import {
 import {
   STATUS_MUTE_SUCCESS,
   STATUS_UNMUTE_SUCCESS,
+  STATUS_REVEAL,
+  STATUS_HIDE,
+  STATUS_COLLAPSE,
 } from 'flavours/glitch/actions/statuses';
 import {
   TIMELINE_DELETE,
@@ -56,6 +59,24 @@ export default function statuses(state = initialState, action) {
     return state.setIn([action.id, 'muted'], true);
   case STATUS_UNMUTE_SUCCESS:
     return state.setIn([action.id, 'muted'], false);
+  case STATUS_REVEAL:
+    return state.withMutations(map => {
+      action.ids.forEach(id => {
+        if (!(state.get(id) === undefined)) {
+          map.setIn([id, 'hidden'], false);
+        }
+      });
+    });
+  case STATUS_HIDE:
+    return state.withMutations(map => {
+      action.ids.forEach(id => {
+        if (!(state.get(id) === undefined)) {
+          map.setIn([id, 'hidden'], true);
+        }
+      });
+    });
+  case STATUS_COLLAPSE:
+    return state.setIn([action.id, 'collapsed'], action.isCollapsed);
   case TIMELINE_DELETE:
     return deleteStatus(state, action.id, action.references);
   default: