// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. const ChoosePage = require('./team_signup_choose_auth.jsx'); const EmailSignUpPage = require('./team_signup_with_email.jsx'); const SSOSignupPage = require('./team_signup_with_sso.jsx'); const Constants = require('../utils/constants.jsx'); export default class TeamSignUp extends React.Component { constructor(props) { super(props); this.updatePage = this.updatePage.bind(this); var count = 0; if (global.window.mm_config.EnableSignUpWithEmail === 'true') { count = count + 1; } if (global.window.mm_config.EnableSignUpWithGitLab === 'true') { count = count + 1; } if (count > 1) { this.state = {page: 'choose'}; } else if (global.window.mm_config.EnableSignUpWithEmail === 'true') { this.state = {page: 'email'}; } else if (global.window.mm_config.EnableSignUpWithGitLab === 'true') { this.state = {page: 'gitlab'}; } } updatePage(page) { this.setState({page}); } render() { var teamListing = null; if (global.window.mm_config.EnableTeamListing === 'true') { if (this.props.teams.length === 0) { if (global.window.mm_config.EnableTeamCreation !== 'true') { teamListing = (
{'There are no teams include in the Team Directory and team creation has been disabled.'}
); } } else { teamListing = (

{'Choose a Team'}

{ this.props.teams.map((team) => { return (
{team.display_name}
); }) }
); } } if (global.window.mm_config.EnableTeamCreation !== 'true') { if (teamListing == null) { return (
{'Team creation has been disabled. Please contact an administrator for access.'}
); } return (
{teamListing}
); } if (this.state.page === 'choose') { return (
{teamListing}
); } if (this.state.page === 'email') { return (
{teamListing}
); } else if (this.state.page === 'gitlab') { return (
{teamListing}
); } } } TeamSignUp.propTypes = { teams: React.PropTypes.array };