diff options
Diffstat (limited to 'webapp/reducers/views/rhs.js')
-rw-r--r-- | webapp/reducers/views/rhs.js | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/webapp/reducers/views/rhs.js b/webapp/reducers/views/rhs.js new file mode 100644 index 000000000..1e6480743 --- /dev/null +++ b/webapp/reducers/views/rhs.js @@ -0,0 +1,63 @@ +// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +import {combineReducers} from 'redux'; +import {ActionTypes} from 'utils/constants.jsx'; +import {PostTypes} from 'mattermost-redux/action_types'; + +function selectedPostId(state = '', action) { + switch (action.type) { + case ActionTypes.SELECT_POST: + return action.postId; + case PostTypes.REMOVE_POST: + if (action.data && action.data.id === state) { + return ''; + } + return state; + default: + return state; + } +} + +function fromSearch(state = '', action) { + switch (action.type) { + case ActionTypes.SELECT_POST: + if (action.from_search) { + return action.from_search; + } + return ''; + default: + return state; + } +} + +function fromFlaggedPosts(state = false, action) { + switch (action.type) { + case ActionTypes.SELECT_POST: + if (action.from_flagged_posts) { + return action.from_flagged_posts; + } + return false; + default: + return state; + } +} + +function fromPinnedPosts(state = false, action) { + switch (action.type) { + case ActionTypes.SELECT_POST: + if (action.from_pinned_posts) { + return action.from_pinned_posts; + } + return false; + default: + return state; + } +} + +export default combineReducers({ + selectedPostId, + fromSearch, + fromFlaggedPosts, + fromPinnedPosts +}); |