diff options
author | Claire <claire.github-309c@sitedethib.com> | 2022-02-09 19:48:05 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-09 19:48:05 +0100 |
commit | d602c92b310545eb733a58caed49717341abe27c (patch) | |
tree | 59b020274695be37d47d0a4c98962c2677e621e6 /app/javascript/flavours/glitch/reducers | |
parent | 8987ea4d6b236657b8ea97d619902668768ae8ff (diff) | |
parent | d90da7d080d25355290e5d5e86c2c918d685add7 (diff) |
Merge pull request #1681 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'app/javascript/flavours/glitch/reducers')
-rw-r--r-- | app/javascript/flavours/glitch/reducers/history.js | 28 | ||||
-rw-r--r-- | app/javascript/flavours/glitch/reducers/index.js | 2 |
2 files changed, 30 insertions, 0 deletions
diff --git a/app/javascript/flavours/glitch/reducers/history.js b/app/javascript/flavours/glitch/reducers/history.js new file mode 100644 index 000000000..04f5f2fd1 --- /dev/null +++ b/app/javascript/flavours/glitch/reducers/history.js @@ -0,0 +1,28 @@ +import { HISTORY_FETCH_REQUEST, HISTORY_FETCH_SUCCESS, HISTORY_FETCH_FAIL } from 'flavours/glitch/actions/history'; +import { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable'; + +const initialHistory = ImmutableMap({ + loading: false, + items: ImmutableList(), +}); + +const initialState = ImmutableMap(); + +export default function history(state = initialState, action) { + switch(action.type) { + case HISTORY_FETCH_REQUEST: + return state.update(action.statusId, initialHistory, history => history.withMutations(map => { + map.set('loading', true); + map.set('items', ImmutableList()); + })); + case HISTORY_FETCH_SUCCESS: + return state.update(action.statusId, initialHistory, history => history.withMutations(map => { + map.set('loading', false); + map.set('items', fromJS(action.history.map((x, i) => ({ ...x, account: x.account.id, original: i === 0 })).reverse())); + })); + case HISTORY_FETCH_FAIL: + return state.update(action.statusId, initialHistory, history => history.set('loading', false)); + default: + return state; + } +} diff --git a/app/javascript/flavours/glitch/reducers/index.js b/app/javascript/flavours/glitch/reducers/index.js index 7d7fe6fd3..d9123b103 100644 --- a/app/javascript/flavours/glitch/reducers/index.js +++ b/app/javascript/flavours/glitch/reducers/index.js @@ -41,6 +41,7 @@ import markers from './markers'; import account_notes from './account_notes'; import picture_in_picture from './picture_in_picture'; import accounts_map from './accounts_map'; +import history from './history'; const reducers = { announcements, @@ -85,6 +86,7 @@ const reducers = { markers, account_notes, picture_in_picture, + history, }; export default combineReducers(reducers); |