diff --git a/browser/main/Components/PlanetHeader.jsx b/browser/main/Components/PlanetHeader.jsx
index e09b52cd..00fb53f0 100644
--- a/browser/main/Components/PlanetHeader.jsx
+++ b/browser/main/Components/PlanetHeader.jsx
@@ -9,7 +9,8 @@ var PlanetHeader = React.createClass({
openSettingModal: React.PropTypes.func,
currentPlanet: React.PropTypes.object,
onSearchChange: React.PropTypes.func,
- search: React.PropTypes.string
+ search: React.PropTypes.string,
+ openPersonalSettingModal: React.PropTypes.func
},
getInitialState: function () {
return {
@@ -45,7 +46,7 @@ var PlanetHeader = React.createClass({
-
+
)
diff --git a/browser/main/Components/UserNavigator.jsx b/browser/main/Components/UserNavigator.jsx
index dc65a758..af95da12 100644
--- a/browser/main/Components/UserNavigator.jsx
+++ b/browser/main/Components/UserNavigator.jsx
@@ -3,14 +3,13 @@ var ReactRouter = require('react-router')
var Link = ReactRouter.Link
var ModalBase = require('./ModalBase')
-var PersonalSettingModal = require('./PersonalSettingModal')
var PlanetCreateModal = require('./PlanetCreateModal')
var ProfileImage = require('./ProfileImage')
var AuthStore = require('../Stores/AuthStore')
module.exports = React.createClass({
- mixins: [ReactRouter.Navigation],
+ mixins: [ReactRouter.Navigation, ReactRouter.State],
propTypes: {
currentPlanet: React.PropTypes.object,
currentUser: React.PropTypes.object
@@ -73,18 +72,14 @@ module.exports = React.createClass({
return (
-
+
-
-
-
-
diff --git a/browser/main/Containers/PlanetContainer.jsx b/browser/main/Containers/PlanetContainer.jsx
index 56275587..a116cf3b 100644
--- a/browser/main/Containers/PlanetContainer.jsx
+++ b/browser/main/Containers/PlanetContainer.jsx
@@ -13,6 +13,7 @@ var BlueprintEditModal = require('../Components/BlueprintEditModal')
var BlueprintDeleteModal = require('../Components/BlueprintDeleteModal')
var PlanetAddUserModal = require('../Components/PlanetAddUserModal')
var PlanetSettingModal = require('../Components/PlanetSettingModal')
+var PersonalSettingModal = require('../Components/PersonalSettingModal')
var PlanetActions = require('../Actions/PlanetActions')
@@ -99,7 +100,13 @@ module.exports = React.createClass({
currentUser: AuthStore.getUser(),
currentPlanet: null,
search: '',
- isFetched: false
+ isFetched: false,
+ isLaunchModalOpen: false,
+ isEditModalOpen: false,
+ isDeleteModalOpen: false,
+ isAddUserModalOpen: false,
+ isSettingModalOpen: false,
+ isPersonalSettingModalOpen: false
}
},
componentDidMount: function () {
@@ -448,6 +455,14 @@ module.exports = React.createClass({
this.focus()
})
},
+ openPersonalSettingModal: function () {
+ this.setState({isPersonalSettingModalOpen: true})
+ },
+ closePersonalSettingModal: function () {
+ this.setState({isPersonalSettingModalOpen: false}, function () {
+ this.focus()
+ })
+ },
focus: function () {
React.findDOMNode(this).focus()
},
@@ -484,6 +499,13 @@ module.exports = React.createClass({
return
}
+ if (this.state.isPersonalSettingModalOpen) {
+ if (e.keyCode === 27) {
+ this.closePersonalSettingModal()
+ }
+ return
+ }
+
// LaunchModal
if ((e.keyCode === 13 && e.metaKey)) {
e.preventDefault()
@@ -604,8 +626,13 @@ module.exports = React.createClass({
+
+
+
+
+ openSettingModal={this.openSettingModal}
+ openPersonalSettingModal={this.openPersonalSettingModal} onSearchChange={this.handleSearchChange} currentPlanet={this.state.currentPlanet}/>
li
diff --git a/browser/styles/shared/modal.styl b/browser/styles/shared/modal.styl
index e6ed218c..7a915b57 100644
--- a/browser/styles/shared/modal.styl
+++ b/browser/styles/shared/modal.styl
@@ -231,6 +231,7 @@
li
margin 15px
.logout
+ text-align center
.logoutLabel
margin 100px 0 25px
font-size 1.4em