diff options
author | Claire <claire.github-309c@sitedethib.com> | 2022-07-24 20:01:30 +0200 |
---|---|---|
committer | Claire <claire.github-309c@sitedethib.com> | 2022-07-25 11:57:09 +0200 |
commit | 18346f40443f1c01b45d94be1b0edce20b2c27be (patch) | |
tree | b78b33927842f5dfd374fa5fb9509a809849e358 /app/javascript/flavours/glitch/reducers | |
parent | eacde1a130a5764686a284d610890ba0f60b193e (diff) |
Add option to share CW toggle state across instances of a post
Diffstat (limited to 'app/javascript/flavours/glitch/reducers')
-rw-r--r-- | app/javascript/flavours/glitch/reducers/local_settings.js | 1 | ||||
-rw-r--r-- | app/javascript/flavours/glitch/reducers/statuses.js | 21 |
2 files changed, 22 insertions, 0 deletions
diff --git a/app/javascript/flavours/glitch/reducers/local_settings.js b/app/javascript/flavours/glitch/reducers/local_settings.js index 6d8feaf66..62ce29f0c 100644 --- a/app/javascript/flavours/glitch/reducers/local_settings.js +++ b/app/javascript/flavours/glitch/reducers/local_settings.js @@ -27,6 +27,7 @@ const initialState = ImmutableMap({ content_warnings : ImmutableMap({ filter : null, media_outside: false, + shared_state : false, }), collapsed : ImmutableMap({ enabled : true, 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: |