var React = require('react/addons') var ReactRouter = require('react-router') var ModalBase = require('../Components/ModalBase') var AuthActions = require('../Actions/AuthActions') var AuthStore = require('../Stores/AuthStore') var LogOutModal = React.createClass({ propTypes: { close: React.PropTypes.func }, componentDidMount: function () { React.findDOMNode(this.refs.cancel).focus() }, submit: function () { AuthActions.logout() }, handleKeyDown: function (e) { if (e.keyCode === 13 && e.metaKey) { this.submit() return } if (e.keyCode === 27) { this.props.close() return } }, render: function () { return (

Logout

Are you sure to log out?

) } }) var UserSettingNavigation = React.createClass({ propTypes: { currentUser: React.PropTypes.shape({ name: React.PropTypes.string }), current: React.PropTypes.string, changeCurrent: React.PropTypes.func }, getInitialState: function () { return { isLogOutModalOpen: false } }, changeFactory: function (current) { return function () { this.props.changeCurrent(current) }.bind(this) }, openLogOutModal: function () { this.setState({isLogOutModalOpen: true}) }, closeLogOutModal: function () { this.setState({isLogOutModalOpen: false}) }, render: function () { return (
{this.props.currentUser.name}
) } }) var UserSettingMain = React.createClass({ propTypes: { currentUser: React.PropTypes.shape({ name: React.PropTypes.string }), current: React.PropTypes.string }, render: function () { var view switch (this.props.current) { case 'profile': view = (

User Info


Password Reset

) break default: view = (
Missing...
) break } return (
{view}
) } }) module.exports = React.createClass({ mixins: [React.addons.LinkedStateMixin, ReactRouter.Navigation], getInitialState: function () { return { current: 'profile' } }, changeCurrent: function (current) { this.setState({ current: current }) }, render: function () { var currentUser = AuthStore.getUser() return (
) } })