diff options
Diffstat (limited to 'webapp/components')
-rw-r--r-- | webapp/components/logged_in.jsx | 16 | ||||
-rw-r--r-- | webapp/components/sidebar.jsx | 8 | ||||
-rw-r--r-- | webapp/components/textbox.jsx | 2 |
3 files changed, 22 insertions, 4 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' > {'×'} diff --git a/webapp/components/textbox.jsx b/webapp/components/textbox.jsx index 63d5486a4..c77e1f9a3 100644 --- a/webapp/components/textbox.jsx +++ b/webapp/components/textbox.jsx @@ -130,7 +130,7 @@ export default class Textbox extends React.Component { const helpText = ( <div - style={{visibility: hasText ? 'visible' : 'hidden', opacity: hasText ? '0.5' : '0'}} + style={{visibility: hasText ? 'visible' : 'hidden', opacity: hasText ? '0.3' : '0'}} className='help__format-text' > <b> |