import React, { PropTypes } from 'react' import ProfileImage from '../../../components/ProfileImage' import { createTeam } from '../api' import linkState from '../../../helpers/linkState' export default class CreateNewTeam extends React.Component { constructor (props) { super(props) this.state = { create: { name: '', alert: null }, select: { team: {"name":"test123", "profileName":"test123", "userType":"team", "updatedAt":"2015-10-11T09:01:01.277Z", "createdAt":"2015-10-11T09:01:01.277Z", "id":220,"Members":[{"id":213,"email":"fluke8259@gmail.com","name":"rokt33r","profileName":"Rokt33r","userType":"person","createdAt":"2015-10-05T09:01:30.000Z","updatedAt":"2015-10-05T09:01:30.000Z","_pivot_TeamId":220,"_pivot_MemberId":213,"_pivot_role":"owner"}] }, alert: null }, currentTab: 'select' } } handleCloseClick (e) { this.props.close() } handleContinueClick (e) { let createState = this.state.create createState.isSending = true createState.alert = { type: 'info', message: 'sending...' } this.setState({create: createState}) function onTeamCreate (res) { let createState = this.state.create createState.isSending = false createState.alert = null let selectState = this.state.select selectState.team = res.body this.setState({ currentTab: 'select', create: createState, select: { team: res.body } }) } function onError (err) { let errorMessage = err.response != null ? err.response.body.message : err.message let createState = this.state.create createState.isSending = false createState.alert = { type: 'error', message: 'Can\'t connect to API server.' } this.setState({ create: createState }) } createTeam({name: this.state.create.name}) .then(onTeamCreate.bind(this)) .catch(onError.bind(this)) } renderCreateTab () { let createState = this.state.create let alertEl = createState.alert != null ? (

{createState.alert.message}

) : null return (
Create new team
{alertEl}
) } renderSelectTab () { let selectState = this.state.select console.log(selectState) let membersEl = selectState.team.Members.map(member => { return (
  • {`${member.profileName} (${member.name})`}
    {member.email}
  • ) }) return (
    Select member
      {membersEl}
    ) } render () { let currentTab = this.state.currentTab === 'create' ? this.renderCreateTab() : this.renderSelectTab() return (
    {currentTab}
    ) } } CreateNewTeam.propTypes = { close: PropTypes.func }