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 (
)
}
})
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 (
)
}
})
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 = (
)
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 (
)
}
})