diff --git a/web/react/components/user_settings.jsx b/web/react/components/user_settings.jsx index 9ec7f64c91..c1ea367f2a 100644 --- a/web/react/components/user_settings.jsx +++ b/web/react/components/user_settings.jsx @@ -752,6 +752,21 @@ var GeneralTab = React.createClass({ this.submitUser(user); }, + submitNickname: function(e) { + e.preventDefault(); + + var user = UserStore.getCurrentUser(); + var nickname = this.state.nickname.trim(); + + if (user.nickname === nickname) { + this.setState({client_error: "You must submit a new nickname"}) + return; + } + + user.nickname = nickname; + + this.submitUser(user); + }, submitName: function(e) { e.preventDefault(); @@ -839,6 +854,9 @@ var GeneralTab = React.createClass({ updateLastName: function(e) { this.setState({ last_name: e.target.value}); }, + updateNickname: function(e) { + this.setState({nickname: e.target.value}); + }, updateEmail: function(e) { this.setState({ email: e.target.value}); }, @@ -865,7 +883,7 @@ var GeneralTab = React.createClass({ var firstName = splitStr.shift(); var lastName = splitStr.join(' '); - return { username: user.username, first_name: firstName, last_name: lastName, + return { username: user.username, first_name: firstName, last_name: lastName, nickname: user.nickname, email: user.email, picture: null }; }, render: function() { @@ -919,6 +937,39 @@ var GeneralTab = React.createClass({ ); } + var nicknameSection; + if (this.props.activeSection === 'nickname') { + var inputs = []; + + inputs.push( +