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 PlanetHeader = React.createClass({ propTypes: { currentPlanet: React.PropTypes.object, currentUser: React.PropTypes.object }, getInitialState: function () { return { isMenuDropDownOpen: false } }, toggleMenuDropDown: function () { this.setState({isMenuDropDownOpen: !this.state.isMenuDropDownOpen}, function () { if (this.state.isMenuDropDownOpen) { document.body.onclick = function () { this.setState({isMenuDropDownOpen: false}, function () { document.body.onclick = null }) }.bind(this) } }) }, interceptClick: function (e) { e.stopPropagation() }, render: function () { var currentPlanetName = this.props.currentPlanet.name return (
{currentPlanetName}
Planet Setting Manage member Delete Planet
Download Mac app
) } }) 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 (
) } })