From b79b2b2a53935cd883312c1158918291a926bacd Mon Sep 17 00:00:00 2001 From: enahum Date: Thu, 22 Dec 2016 15:20:36 -0300 Subject: Fix team switch (#4851) * Fix team switch * Fix channel switching by using BrowserStore * Fixes plt-5076 and plt-5068 * Updating styles for Teams sidebar (#4875) --- .../team_sidebar/components/team_button.jsx | 64 ++++++++++++++++------ .../team_sidebar/team_sidebar_controller.jsx | 8 ++- 2 files changed, 53 insertions(+), 19 deletions(-) (limited to 'webapp/components/team_sidebar') diff --git a/webapp/components/team_sidebar/components/team_button.jsx b/webapp/components/team_sidebar/components/team_button.jsx index 0033ae25a..203e1de00 100644 --- a/webapp/components/team_sidebar/components/team_button.jsx +++ b/webapp/components/team_sidebar/components/team_button.jsx @@ -7,6 +7,9 @@ import React from 'react'; import {Link} from 'react-router/es6'; import {Tooltip, OverlayTrigger} from 'react-bootstrap'; +import {isMobile} from 'utils/utils.jsx'; +import {isMobileApp} from 'utils/user_agent.jsx'; + export default class TeamButton extends React.Component { constructor(props) { super(props); @@ -20,6 +23,7 @@ export default class TeamButton extends React.Component { render() { let teamClass = this.props.active ? 'active' : ''; + const btnClass = this.props.btnClass; const disabled = this.props.disabled ? 'team-disabled' : ''; const handleClick = (this.props.active || this.props.disabled) ? this.handleDisabled : null; let badge; @@ -34,6 +38,44 @@ export default class TeamButton extends React.Component { } } + let btn; + let content = this.props.content; + if (!content) { + content = ( +
+ {this.props.displayName.substring(0, 2)} +
+ {this.props.displayName} +
+
+ ); + } + if (!isMobile() && !isMobileApp()) { + btn = ( + + {this.props.displayName} + + } + > +
+ {badge} + {content} +
+
+ ); + } else { + btn = ( +
+ {badge} + {content} +
+ ); + } + return (
- - {this.props.tip} - - } - > -
- {badge} - {this.props.contents} -
-
+ {btn}
); @@ -64,6 +93,7 @@ export default class TeamButton extends React.Component { } TeamButton.defaultProps = { + btnClass: '', tip: '', placement: 'right', active: false, @@ -73,9 +103,11 @@ TeamButton.defaultProps = { }; TeamButton.propTypes = { + btnClass: React.PropTypes.string, url: React.PropTypes.string.isRequired, - contents: React.PropTypes.node.isRequired, - tip: React.PropTypes.node, + displayName: React.PropTypes.string, + content: React.PropTypes.node, + tip: React.PropTypes.node.isRequired, active: React.PropTypes.bool, disabled: React.PropTypes.bool, unread: React.PropTypes.bool, diff --git a/webapp/components/team_sidebar/team_sidebar_controller.jsx b/webapp/components/team_sidebar/team_sidebar_controller.jsx index f005afeb3..24cd48d39 100644 --- a/webapp/components/team_sidebar/team_sidebar_controller.jsx +++ b/webapp/components/team_sidebar/team_sidebar_controller.jsx @@ -121,7 +121,7 @@ export default class TeamSidebar extends React.Component { url={`/${team.name}`} tip={team.display_name} active={team.id === this.state.currentTeamId} - contents={team.display_name.substring(0, 1).toUpperCase()} + displayName={team.display_name} unread={team.unread} mentions={team.mentions} /> @@ -131,6 +131,7 @@ export default class TeamSidebar extends React.Component { if (moreTeams) { teams.push( } - contents={} + content={} /> ); } else if (global.window.mm_config.EnableTeamCreation === 'true' || isSystemAdmin) { teams.push( } - contents={} + content={} /> ); } -- cgit v1.2.3-1-g7c22