var React = require('react/addons')
var RouteHandler = require('react-router').RouteHandler
var ReactRouter = require('react-router')
var Link = ReactRouter.Link
var ModalBase = require('../Components/ModalBase')
var LaunchModal = require('../Components/LaunchModal')
var currentUser = {
name: 'testcat',
email: 'testcat@example.com',
profileName: 'Test Cat'
}
var userPlanets = [
{
id: 1,
name: 'testcat',
profileName: 'TestCat'
},
{
id: 2,
name: 'group1',
profileName: 'Some Group#1'
},
{
id: 3,
name: 'group2',
profileName: 'Some Group#1'
}
]
var PlanetNavigator = React.createClass({
propTypes: {
currentPlanet: React.PropTypes.object,
currentUser: React.PropTypes.object
},
render: function () {
var planets = userPlanets.map(function (planet, index) {
return (
{planet.profileName[0]}
⌘{index + 1}
)
}.bind(this))
return (
)
}
})
var PlanetHeader = React.createClass({
propTypes: {
currentPlanet: React.PropTypes.object,
currentUser: React.PropTypes.object
},
render: function () {
var currentPlanetName = this.props.currentPlanet.name
return (
)
}
})
var PlanetMain = React.createClass({
propTypes: {
currentPlanet: React.PropTypes.object,
currentUser: React.PropTypes.object
},
render: function () {
return (
)
}
})
var SideNavigator = React.createClass({
propTypes: {
currentPlanet: React.PropTypes.shape({
name: React.PropTypes.string
}),
currentUser: React.PropTypes.shape({
name: React.PropTypes.string
})
},
getInitialState: function () {
return {
isLaunchModalOpen: false
}
},
openLaunchModal: function () {
console.log('and...OPEN!!')
this.setState({isLaunchModalOpen: true})
},
closeLaunchModal: function () {
this.setState({isLaunchModalOpen: false})
},
submitLaunchModal: function (ret) {
console.log(ret)
this.setState({isLaunchModalOpen: false})
},
render: function () {
var currentPlanetName = this.props.currentPlanet.name
var currentUserName = this.props.currentUser.name
return (
)
}
})
var PlanetBody = React.createClass({
render: function () {
return (
)
}
})
module.exports = React.createClass({
mixins: [ReactRouter.Navigation],
propTypes: {
params: React.PropTypes.object,
planetName: React.PropTypes.string
},
render: function () {
var currentPlanetName = this.props.params.planetName
var currentPlanet = null
userPlanets.some(function (planet) {
if (planet.name === currentPlanetName) {
currentPlanet = planet
return true
}
return false
})
if (currentPlanet == null) {
var redirectTo = userPlanets[0].name
this.transitionTo('planet', {planetName: redirectTo})
return (
Redirecting...
)
}
return (
)
}
})