diff options
Diffstat (limited to 'webapp/components/navbar_dropdown.jsx')
-rw-r--r-- | webapp/components/navbar_dropdown.jsx | 43 |
1 files changed, 28 insertions, 15 deletions
diff --git a/webapp/components/navbar_dropdown.jsx b/webapp/components/navbar_dropdown.jsx index 3ad69a972..ab228dcb3 100644 --- a/webapp/components/navbar_dropdown.jsx +++ b/webapp/components/navbar_dropdown.jsx @@ -30,6 +30,8 @@ export default class NavbarDropdown extends React.Component { this.onTeamChange = this.onTeamChange.bind(this); this.openAccountSettings = this.openAccountSettings.bind(this); + this.renderCustomEmojiLink = this.renderCustomEmojiLink.bind(this); + this.state = { showUserSettingsModal: false, showAboutModal: false, @@ -37,9 +39,11 @@ export default class NavbarDropdown extends React.Component { teamMembers: TeamStore.getTeamMembers() }; } + handleAboutModal() { this.setState({showAboutModal: true}); } + aboutModalDismissed() { this.setState({showAboutModal: false}); } @@ -69,12 +73,31 @@ export default class NavbarDropdown extends React.Component { TeamStore.removeChangeListener(this.onTeamChange); document.removeEventListener('keydown', this.openAccountSettings); } + openAccountSettings(e) { if (Utils.cmdOrCtrlPressed(e) && e.shiftKey && e.keyCode === Constants.KeyCodes.A) { e.preventDefault(); this.setState({showUserSettingsModal: true}); } } + + renderCustomEmojiLink() { + if (window.mm_config.EnableCustomEmoji !== 'true' || !Utils.canCreateCustomEmoji(this.props.currentUser)) { + return null; + } + + return ( + <li> + <Link to={'/' + Utils.getTeamNameFromUrl() + '/emoji'}> + <FormattedMessage + id='navbar_dropdown.emoji' + defaultMessage='Custom Emoji' + /> + </Link> + </li> + ); + } + render() { var teamLink = ''; var inviteLink = ''; @@ -85,7 +108,10 @@ export default class NavbarDropdown extends React.Component { var isSystemAdmin = false; var teamSettings = null; let integrationsLink = null; - let customEmojiLink = null; + + if (!currentUser) { + return null; + } if (currentUser != null) { isAdmin = TeamStore.isTeamAdminForCurrentTeam() || UserStore.isSystemAdminForCurrentUser(); @@ -177,19 +203,6 @@ export default class NavbarDropdown extends React.Component { ); } - if (window.mm_config.EnableCustomEmoji === 'true') { - customEmojiLink = ( - <li> - <Link to={'/' + Utils.getTeamNameFromUrl() + '/emoji'}> - <FormattedMessage - id='navbar_dropdown.emoji' - defaultMessage='Custom Emoji' - /> - </Link> - </li> - ); - } - if (isSystemAdmin) { sysAdminLink = ( <li> @@ -342,7 +355,7 @@ export default class NavbarDropdown extends React.Component { </li> <li className='divider'></li> {integrationsLink} - {customEmojiLink} + {this.renderCustomEmojiLink()} <li className='divider'></li> {teamSettings} {manageLink} |