1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-13 17:56:25 +00:00

Fix: Personal Settingボターンを右にする。写真からまっすぐProfile pageに入れるようにする

This commit is contained in:
Rokt33r
2015-07-30 16:34:01 +09:00
parent ac0d81f9b3
commit 1bebb66165
5 changed files with 41 additions and 15 deletions

View File

@@ -9,7 +9,8 @@ var PlanetHeader = React.createClass({
openSettingModal: React.PropTypes.func, openSettingModal: React.PropTypes.func,
currentPlanet: React.PropTypes.object, currentPlanet: React.PropTypes.object,
onSearchChange: React.PropTypes.func, onSearchChange: React.PropTypes.func,
search: React.PropTypes.string search: React.PropTypes.string,
openPersonalSettingModal: React.PropTypes.func
}, },
getInitialState: function () { getInitialState: function () {
return { return {
@@ -45,7 +46,7 @@ var PlanetHeader = React.createClass({
<input onChange={this.props.onSearchChange} value={this.props.search} ref='search' tabIndex='1' type='text' className='inline-input circleInput' placeholder='Search...'/> <input onChange={this.props.onSearchChange} value={this.props.search} ref='search' tabIndex='1' type='text' className='inline-input circleInput' placeholder='Search...'/>
</div> </div>
<button onClick={this.refreshPlanet} className='refreshButton'><i className='fa fa-refresh'/></button> <button onClick={this.refreshPlanet} className='refreshButton'><i className='fa fa-refresh'/></button>
<button className='settingButton'><i className='fa fa-gears'/></button> <button onClick={this.props.openPersonalSettingModal} className='settingButton'><i className='fa fa-gears'/></button>
</div> </div>
</div> </div>
) )

View File

@@ -3,14 +3,13 @@ var ReactRouter = require('react-router')
var Link = ReactRouter.Link var Link = ReactRouter.Link
var ModalBase = require('./ModalBase') var ModalBase = require('./ModalBase')
var PersonalSettingModal = require('./PersonalSettingModal')
var PlanetCreateModal = require('./PlanetCreateModal') var PlanetCreateModal = require('./PlanetCreateModal')
var ProfileImage = require('./ProfileImage') var ProfileImage = require('./ProfileImage')
var AuthStore = require('../Stores/AuthStore') var AuthStore = require('../Stores/AuthStore')
module.exports = React.createClass({ module.exports = React.createClass({
mixins: [ReactRouter.Navigation], mixins: [ReactRouter.Navigation, ReactRouter.State],
propTypes: { propTypes: {
currentPlanet: React.PropTypes.object, currentPlanet: React.PropTypes.object,
currentUser: React.PropTypes.object currentUser: React.PropTypes.object
@@ -73,18 +72,14 @@ module.exports = React.createClass({
return ( return (
<div tabIndex='2' className='UserNavigator'> <div tabIndex='2' className='UserNavigator'>
<button onClick={this.openPersonalSettingModal} className='userButton'> <Link to='userHome' params={{userName: this.props.currentUser.name}} className='userProfile'>
<ProfileImage size='55' email={this.props.currentUser.email}/> <ProfileImage size='55' email={this.props.currentUser.email}/>
</button> </Link>
<ul className='planetList'> <ul className='planetList'>
{planets} {planets}
</ul> </ul>
<button onClick={this.openPlanetCreateModal} className='newPlanet'><i className='fa fa-plus'/></button> <button onClick={this.openPlanetCreateModal} className='newPlanet'><i className='fa fa-plus'/></button>
<ModalBase isOpen={this.state.isPersonalSettingModalOpen} close={this.closePersonalSettingModal}>
<PersonalSettingModal currentUser={this.props.currentUser} close={this.closePersonalSettingModal}/>
</ModalBase>
<ModalBase isOpen={this.state.isPlanetCreateModalOpen} close={this.closePlanetCreateModal}> <ModalBase isOpen={this.state.isPlanetCreateModalOpen} close={this.closePlanetCreateModal}>
<PlanetCreateModal close={this.closePlanetCreateModal}/> <PlanetCreateModal close={this.closePlanetCreateModal}/>
</ModalBase> </ModalBase>

View File

@@ -13,6 +13,7 @@ var BlueprintEditModal = require('../Components/BlueprintEditModal')
var BlueprintDeleteModal = require('../Components/BlueprintDeleteModal') var BlueprintDeleteModal = require('../Components/BlueprintDeleteModal')
var PlanetAddUserModal = require('../Components/PlanetAddUserModal') var PlanetAddUserModal = require('../Components/PlanetAddUserModal')
var PlanetSettingModal = require('../Components/PlanetSettingModal') var PlanetSettingModal = require('../Components/PlanetSettingModal')
var PersonalSettingModal = require('../Components/PersonalSettingModal')
var PlanetActions = require('../Actions/PlanetActions') var PlanetActions = require('../Actions/PlanetActions')
@@ -99,7 +100,13 @@ module.exports = React.createClass({
currentUser: AuthStore.getUser(), currentUser: AuthStore.getUser(),
currentPlanet: null, currentPlanet: null,
search: '', search: '',
isFetched: false isFetched: false,
isLaunchModalOpen: false,
isEditModalOpen: false,
isDeleteModalOpen: false,
isAddUserModalOpen: false,
isSettingModalOpen: false,
isPersonalSettingModalOpen: false
} }
}, },
componentDidMount: function () { componentDidMount: function () {
@@ -448,6 +455,14 @@ module.exports = React.createClass({
this.focus() this.focus()
}) })
}, },
openPersonalSettingModal: function () {
this.setState({isPersonalSettingModalOpen: true})
},
closePersonalSettingModal: function () {
this.setState({isPersonalSettingModalOpen: false}, function () {
this.focus()
})
},
focus: function () { focus: function () {
React.findDOMNode(this).focus() React.findDOMNode(this).focus()
}, },
@@ -484,6 +499,13 @@ module.exports = React.createClass({
return return
} }
if (this.state.isPersonalSettingModalOpen) {
if (e.keyCode === 27) {
this.closePersonalSettingModal()
}
return
}
// LaunchModal // LaunchModal
if ((e.keyCode === 13 && e.metaKey)) { if ((e.keyCode === 13 && e.metaKey)) {
e.preventDefault() e.preventDefault()
@@ -604,8 +626,13 @@ module.exports = React.createClass({
<PlanetSettingModal currentPlanet={this.state.currentPlanet} close={this.closeSettingModal}/> <PlanetSettingModal currentPlanet={this.state.currentPlanet} close={this.closeSettingModal}/>
</ModalBase> </ModalBase>
<ModalBase isOpen={this.state.isPersonalSettingModalOpen} close={this.closePersonalSettingModal}>
<PersonalSettingModal currentUser={this.state.currentUser} close={this.closePersonalSettingModal}/>
</ModalBase>
<PlanetHeader search={this.state.search} <PlanetHeader search={this.state.search}
openSettingModal={this.openSettingModal} onSearchChange={this.handleSearchChange} currentPlanet={this.state.currentPlanet}/> openSettingModal={this.openSettingModal}
openPersonalSettingModal={this.openPersonalSettingModal} onSearchChange={this.handleSearchChange} currentPlanet={this.state.currentPlanet}/>
<PlanetNavigator openLaunchModal={this.openLaunchModal} openAddUserModal={this.openAddUserModal} <PlanetNavigator openLaunchModal={this.openLaunchModal} openAddUserModal={this.openAddUserModal}
search={this.state.search} search={this.state.search}

View File

@@ -5,20 +5,22 @@
width 55px width 55px
text-align center text-align center
box-sizing border-box box-sizing border-box
.userButton border-right solid 1px borderColor
.userProfile
display block display block
width 55px width 55px
height 55px height 55px
border-bottom solid 1px borderColor
overflow hidden
background-color black background-color black
margin 0 margin 0
padding 0 padding 0
border none
cursor pointer cursor pointer
box-sizing border-box box-sizing border-box
img img
transition 0.1s transition 0.1s
opacity 0.9 opacity 0.9
&.active, &:active, &.focus, &:focus, &.hover, &:hover &.vivid.active, &.focus, &:focus, &.hover, &:hover
img img
opacity 1 opacity 1
ul.planetList>li ul.planetList>li

View File

@@ -231,6 +231,7 @@
li li
margin 15px margin 15px
.logout .logout
text-align center
.logoutLabel .logoutLabel
margin 100px 0 25px margin 100px 0 25px
font-size 1.4em font-size 1.4em