summaryrefslogtreecommitdiffstats
path: root/webapp/components
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/components')
-rw-r--r--webapp/components/logged_in.jsx16
-rw-r--r--webapp/components/sidebar.jsx8
2 files changed, 21 insertions, 3 deletions
diff --git a/webapp/components/logged_in.jsx b/webapp/components/logged_in.jsx
index fd09aac9e..f7a6be647 100644
--- a/webapp/components/logged_in.jsx
+++ b/webapp/components/logged_in.jsx
@@ -14,6 +14,7 @@ const TutorialSteps = Constants.TutorialSteps;
const Preferences = Constants.Preferences;
import ErrorBar from 'components/error_bar.jsx';
import * as Websockets from 'action_creators/websocket_actions.jsx';
+import LoadingScreen from 'components/loading_screen.jsx';
import {browserHistory} from 'react-router';
@@ -44,6 +45,13 @@ export default class LoggedIn extends React.Component {
super(params);
this.onUserChanged = this.onUserChanged.bind(this);
+
+ this.state = {
+ user: null
+ };
+ }
+ isValidState() {
+ return this.state.user != null;
}
onUserChanged() {
// Grab the current user
@@ -75,6 +83,8 @@ export default class LoggedIn extends React.Component {
if (tutorialStep <= TutorialSteps.INTRO_SCREENS) {
browserHistory.push(Utils.getTeamURLFromAddressBar() + '/tutorial');
}
+
+ this.setState({user});
}
componentWillMount() {
// Emit view action
@@ -186,6 +196,8 @@ export default class LoggedIn extends React.Component {
Websockets.close();
UserStore.removeChangeListener(this.onUserChanged);
+ Utils.resetTheme();
+
$('body').off('click.userpopover');
$('body').off('mouseenter mouseleave', '.post');
$('body').off('mouseenter mouseleave', '.post.post--comment.same--root');
@@ -195,6 +207,10 @@ export default class LoggedIn extends React.Component {
$(window).off('keydown.preventBackspace');
}
render() {
+ if (!this.isValidState()) {
+ return <LoadingScreen/>;
+ }
+
let content = [];
if (this.props.children) {
content = this.props.children;
diff --git a/webapp/components/sidebar.jsx b/webapp/components/sidebar.jsx
index 45bca7212..b22d3ec34 100644
--- a/webapp/components/sidebar.jsx
+++ b/webapp/components/sidebar.jsx
@@ -238,7 +238,9 @@ export default class Sidebar extends React.Component {
});
}
- handleLeaveDirectChannel(channel) {
+ handleLeaveDirectChannel(e, channel) {
+ e.preventDefault();
+
if (!this.isLeaving.get(channel.id)) {
this.isLeaving.set(channel.id, true);
@@ -258,7 +260,7 @@ export default class Sidebar extends React.Component {
}
if (channel.id === this.state.activeId) {
- browserHistory.push(TeamStore.getCurrentTeamUrl() + '/channels/town-square');
+ browserHistory.push('/' + this.state.currentTeam.name + '/channels/town-square');
}
}
@@ -422,7 +424,7 @@ export default class Sidebar extends React.Component {
overlay={removeTooltip}
>
<span
- onClick={() => handleClose(channel)}
+ onClick={(e) => handleClose(e, channel)}
className='btn-close'
>
{'×'}