// Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved. // See License.txt for license information. var utils = require('../utils/utils.jsx'); var client = require('../utils/client.jsx'); module.exports = React.createClass({ displayName: 'TeamSignupUsernamePage', propTypes: { state: React.PropTypes.object, updateParent: React.PropTypes.func }, submitBack: function(e) { e.preventDefault(); this.props.state.wizard = 'send_invites'; this.props.updateParent(this.props.state); }, submitNext: function(e) { e.preventDefault(); var name = this.refs.name.getDOMNode().value.trim(); var usernameError = utils.isValidUsername(name); if (usernameError === 'Cannot use a reserved word as a username.') { this.setState({nameError: 'This username is reserved, please choose a new one.'}); return; } else if (usernameError) { this.setState({nameError: 'Username must begin with a letter, and contain 3 to 15 characters in total, which may be numbers, lowercase letters, or any of the symbols \'.\', \'-\', or \'_\''}); return; } this.props.state.wizard = 'password'; this.props.state.user.username = name; this.props.updateParent(this.props.state); }, getInitialState: function() { return {}; }, render: function() { client.track('signup', 'signup_team_06_username'); var nameError = null; var nameDivClass = 'form-group'; if (this.state.nameError) { nameError = ; nameDivClass += ' has-error'; } return (

Your username

{'Select a memorable username that makes it easy for ' + strings.Team + 'mates to identify you:'}
Choose your username
Usernames must begin with a letter and contain 3 to 15 characters made up of lowercase letters, numbers, and the symbols '.', '-' and '_'
{nameError}
Back to previous step
); } });