@@ -13,6 +13,7 @@ var UserStore = require('../Stores/UserStore')
1313
1414var PreferencesModal = require ( './PreferencesModal' )
1515var PlanetCreateModal = require ( './PlanetCreateModal' )
16+ var TeamCreateModal = require ( './TeamCreateModal' )
1617var ProfileImage = require ( './ProfileImage' )
1718
1819module . exports = React . createClass ( {
@@ -32,8 +33,11 @@ module.exports = React.createClass({
3233 break
3334 }
3435 } ,
36+ openTeamCreateModal : function ( ) {
37+ this . openModal ( TeamCreateModal , { user : this . state . currentUser , transitionTo : this . transitionTo } )
38+ } ,
3539 openPreferencesModal : function ( ) {
36- this . openModal ( PreferencesModal )
40+ this . openModal ( PreferencesModal , { currentUser : this . state . currentUser } )
3741 } ,
3842 openPlanetCreateModal : function ( ) {
3943 this . openModal ( PlanetCreateModal , { transitionTo : this . transitionTo } )
@@ -75,7 +79,9 @@ module.exports = React.createClass({
7579 )
7680 }
7781
78- var planets = ( ( this . state . currentUser == null || this . state . currentUser . Planets == null ) ? [ ] : this . state . currentUser . Planets ) . map ( function ( planet , index ) {
82+ var planets = ( this . state . currentUser . Planets . concat ( this . state . currentUser . Teams . reduce ( function ( planets , team ) {
83+ return planets . concat ( team . Planets )
84+ } , [ ] ) ) ) . map ( function ( planet , index ) {
7985 return (
8086 < li key = { planet . id } className = { params . userName === planet . userName && params . planetName === planet . name ? 'active' : '' } >
8187 < Link to = 'planet' params = { { userName : planet . userName , planetName : planet . name } } >
@@ -103,6 +109,15 @@ module.exports = React.createClass({
103109 )
104110 } ,
105111 renderPopup : function ( ) {
112+ var teams = this . state . currentUser . Teams == null ? [ ] : this . state . currentUser . Teams . map ( function ( team ) {
113+ return (
114+ < li key = { 'user-' + team . id } >
115+ < Link to = 'userHome' params = { { userName : team . name } } className = 'userName' > { team . profileName } ({ team . name } )</ Link >
116+ < div className = 'userSetting' > < i className = 'fa fa-gear' /> </ div >
117+ </ li >
118+ )
119+ } )
120+
106121 return (
107122 < div ref = 'profilePopup' className = { 'profilePopup' + ( this . state . isProfilePopupOpen ? '' : ' close' ) } >
108123 < div className = 'profileGroup' >
@@ -111,7 +126,7 @@ module.exports = React.createClass({
111126 </ div >
112127 < ul className = 'profileGroupList' >
113128 < li >
114- < Link to = 'userHome' params = { { userName : this . state . currentUser . name } } className = 'userName' > Profile</ Link >
129+ < Link to = 'userHome' params = { { userName : this . state . currentUser . name } } className = 'userName' > Profile ( { this . state . currentUser . name } ) </ Link >
115130 < div className = 'userSetting' > < i className = 'fa fa-gear' /> </ div >
116131 </ li >
117132 </ ul >
@@ -122,20 +137,9 @@ module.exports = React.createClass({
122137 < span > Team</ span >
123138 </ div >
124139 < ul className = 'profileGroupList' >
140+ { teams }
125141 < li >
126- < div className = 'userName' > A team</ div >
127- < div className = 'userSetting' > < i className = 'fa fa-gear' /> </ div >
128- </ li >
129- < li >
130- < div className = 'userName' > B team</ div >
131- < div className = 'userSetting' > < i className = 'fa fa-gear' /> </ div >
132- </ li >
133- < li >
134- < div className = 'userName' > C team</ div >
135- < div className = 'userSetting' > < i className = 'fa fa-gear' /> </ div >
136- </ li >
137- < li >
138- < button className = 'createNewTeam' > < i className = 'fa fa-plus-square-o' /> create new team</ button >
142+ < button onClick = { this . openTeamCreateModal } className = 'createNewTeam' > < i className = 'fa fa-plus-square-o' /> create new team</ button >
139143 </ li >
140144 </ ul >
141145 </ div >
0 commit comments