MM-10823 Switch to default channel after leaving channel (#1743)

This commit is contained in:
Harrison Healey 2018-06-07 17:13:29 -04:00 committed by Elias Nahum
parent bbe27df6ea
commit b12d4cd91b
2 changed files with 14 additions and 6 deletions

View file

@ -244,7 +244,7 @@ export function loadThreadIfNecessary(rootId, channelId) {
}
export function selectInitialChannel(teamId) {
return async (dispatch, getState) => {
return (dispatch, getState) => {
const state = getState();
const {channels, myMembers} = state.entities.channels;
const {currentUserId} = state.entities.users;
@ -266,6 +266,14 @@ export function selectInitialChannel(teamId) {
return;
}
dispatch(selectDefaultChannel(teamId));
};
}
export function selectDefaultChannel(teamId) {
return (dispatch, getState) => {
const channels = getState().entities.channels.channels;
const channel = Object.values(channels).find((c) => c.team_id === teamId && c.name === General.DEFAULT_CHANNEL);
let channelId;
if (channel) {
@ -281,8 +289,8 @@ export function selectInitialChannel(teamId) {
if (channelId) {
dispatch(setChannelDisplayName(''));
handleSelectChannel(channelId)(dispatch, getState);
markChannelAsRead(channelId)(dispatch, getState);
dispatch(handleSelectChannel(channelId));
dispatch(markChannelAsRead(channelId));
}
};
}
@ -417,7 +425,7 @@ export function leaveChannel(channel, reset = false) {
});
if (channel.id === currentChannelId || reset) {
await dispatch(selectInitialChannel(currentTeamId));
await dispatch(selectDefaultChannel(currentTeamId));
}
await serviceLeaveChannel(channel.id)(dispatch, getState);

View file

@ -213,9 +213,9 @@ export default class Channel extends PureComponent {
loadChannelsIfNecessary(teamId).then(() => {
loadProfilesAndTeamMembersForDMSidebar(teamId);
return selectInitialChannel(teamId);
selectInitialChannel(teamId);
}).catch(() => {
return selectInitialChannel(teamId);
selectInitialChannel(teamId);
});
};