summaryrefslogtreecommitdiffstats
path: root/webapp/reducers/views/rhs.js
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/reducers/views/rhs.js')
-rw-r--r--webapp/reducers/views/rhs.js63
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
+});