summaryrefslogtreecommitdiffstats
path: root/webapp/components/navbar_dropdown.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/components/navbar_dropdown.jsx')
-rw-r--r--webapp/components/navbar_dropdown.jsx43
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}