summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--webapp/actions/post_actions.jsx8
-rw-r--r--webapp/reducers/views/channel.js14
2 files changed, 21 insertions, 1 deletions
diff --git a/webapp/actions/post_actions.jsx b/webapp/actions/post_actions.jsx
index 43204a543..87d9ed739 100644
--- a/webapp/actions/post_actions.jsx
+++ b/webapp/actions/post_actions.jsx
@@ -14,6 +14,8 @@ import {sendDesktopNotification} from 'actions/notification_actions.jsx';
import Constants from 'utils/constants.jsx';
const ActionTypes = Constants.ActionTypes;
+import {browserHistory} from 'react-router/es6';
+
// Redux actions
import store from 'stores/redux_store.jsx';
const dispatch = store.dispatch;
@@ -236,6 +238,12 @@ export function deletePost(channelId, post, success) {
data: post
});
+ const {focusedPostId} = getState().views.channel;
+ const channel = getState().entities.channels.channels[post.channel_id];
+ if (post.id === focusedPostId && channel) {
+ browserHistory.push(TeamStore.getCurrentTeamRelativeUrl() + '/channels/' + channel.name);
+ }
+
if (success) {
success();
}
diff --git a/webapp/reducers/views/channel.js b/webapp/reducers/views/channel.js
index 0deb2389e..1da6c2e29 100644
--- a/webapp/reducers/views/channel.js
+++ b/webapp/reducers/views/channel.js
@@ -62,8 +62,20 @@ function loadingPosts(state = {}, action) {
}
}
+function focusedPostId(state = '', action) {
+ switch (action.type) {
+ case ActionTypes.RECEIVED_FOCUSED_POST:
+ return action.data;
+ case ChannelTypes.SELECT_CHANNEL:
+ return '';
+ default:
+ return state;
+ }
+}
+
export default combineReducers({
postVisibility,
lastChannelViewTime,
- loadingPosts
+ loadingPosts,
+ focusedPostId
});