From c9e513f83bfc77e5e1933b67d74d823eb04efeaa Mon Sep 17 00:00:00 2001 From: Chris Duarte Date: Tue, 31 Jan 2017 06:08:26 -0800 Subject: [PATCH] Team selection causes blank channel view fix (#203) --- app/actions/views/select_team.js | 5 +++++ app/scenes/channel_drawer/channel_drawer.js | 4 ++-- app/scenes/channel_drawer/channel_drawer_container.js | 8 ++++---- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/app/actions/views/select_team.js b/app/actions/views/select_team.js index 62a950126..b2ef54f21 100644 --- a/app/actions/views/select_team.js +++ b/app/actions/views/select_team.js @@ -8,6 +8,11 @@ import {updateStorage} from 'app/actions/storage'; export function handleTeamChange(team) { return async (dispatch, getState) => { + const currentTeamId = getState().entities.teams.currentId; + if (currentTeamId === team.id) { + return; + } + const storage = await updateStorage('currentTeamId', team.id); const lastChannelForTeam = storage[team.id] ? storage[team.id].currentChannelId : ''; diff --git a/app/scenes/channel_drawer/channel_drawer.js b/app/scenes/channel_drawer/channel_drawer.js index aa895ae7f..557a5dc91 100644 --- a/app/scenes/channel_drawer/channel_drawer.js +++ b/app/scenes/channel_drawer/channel_drawer.js @@ -9,7 +9,7 @@ export default class ChannelDrawer extends React.PureComponent { static propTypes = { actions: React.PropTypes.shape({ closeDrawers: React.PropTypes.func.isRequired, - selectChannel: React.PropTypes.func.isRequired + handleSelectChannel: React.PropTypes.func.isRequired }).isRequired, currentTeam: React.PropTypes.object, currentChannel: React.PropTypes.object, @@ -19,7 +19,7 @@ export default class ChannelDrawer extends React.PureComponent { }; selectChannel = (id) => { - this.props.actions.selectChannel(id); + this.props.actions.handleSelectChannel(id); this.props.actions.closeDrawers(); }; diff --git a/app/scenes/channel_drawer/channel_drawer_container.js b/app/scenes/channel_drawer/channel_drawer_container.js index 032504df7..5d60b30da 100644 --- a/app/scenes/channel_drawer/channel_drawer_container.js +++ b/app/scenes/channel_drawer/channel_drawer_container.js @@ -5,9 +5,9 @@ import {bindActionCreators} from 'redux'; import {connect} from 'react-redux'; import {closeDrawers} from 'app/actions/navigation'; -import {closeDMChannel, leaveChannel, markFavorite, unmarkFavorite} from 'app/actions/views/channel'; +import {closeDMChannel, handleSelectChannel, leaveChannel, markFavorite, unmarkFavorite} from 'app/actions/views/channel'; -import {selectChannel, viewChannel} from 'service/actions/channels'; +import {viewChannel} from 'service/actions/channels'; import {getChannelsByCategory, getCurrentChannel} from 'service/selectors/entities/channels'; import {getTheme} from 'service/selectors/entities/preferences'; import {getCurrentTeam} from 'service/selectors/entities/teams'; @@ -27,13 +27,13 @@ function mapStateToProps(state) { function mapDispatchToProps(dispatch) { return { actions: bindActionCreators({ - selectChannel, viewChannel, closeDMChannel, closeDrawers, leaveChannel, markFavorite, - unmarkFavorite + unmarkFavorite, + handleSelectChannel }, dispatch) }; }