1
0
mirror of https://github.com/BoostIo/Boostnote synced 2025-12-14 10:16:26 +00:00

LogoutModal実装

This commit is contained in:
Rokt33r
2015-08-20 14:44:57 +09:00
parent 3d9a631786
commit fa1c48e480
4 changed files with 49 additions and 5 deletions

View File

@@ -14,6 +14,7 @@ var UserStore = require('../Stores/UserStore')
var AboutModal = require('./AboutModal') var AboutModal = require('./AboutModal')
var PlanetCreateModal = require('./PlanetCreateModal') var PlanetCreateModal = require('./PlanetCreateModal')
var TeamCreateModal = require('./TeamCreateModal') var TeamCreateModal = require('./TeamCreateModal')
var LogoutModal = require('./LogoutModal')
var ProfileImage = require('./ProfileImage') var ProfileImage = require('./ProfileImage')
module.exports = React.createClass({ module.exports = React.createClass({
@@ -93,9 +94,7 @@ module.exports = React.createClass({
this.setState({isProfilePopupOpen: false}) this.setState({isProfilePopupOpen: false})
}, },
handleLogoutClick: function () { handleLogoutClick: function () {
localStorage.removeItem('currentUser') this.openModal(LogoutModal, {transitionTo: this.transitionTo})
localStorage.removeItem('token')
this.transitionTo('login')
}, },
render: function () { render: function () {
var params = this.getParams() var params = this.getParams()
@@ -180,7 +179,7 @@ module.exports = React.createClass({
<button onClick={this.openAboutModal}><i className='fa fa-info-circle fa-fw'/> About this app</button> <button onClick={this.openAboutModal}><i className='fa fa-info-circle fa-fw'/> About this app</button>
</li> </li>
<li> <li>
<button onClick={this.handleLogoutClick}><i className='fa fa-sign-out fa-fw'/> Logout</button> <button onClick={this.handleLogoutClick}><i className='fa fa-sign-out fa-fw'/> Log out</button>
</li> </li>
</ul> </ul>
</div> </div>

View File

@@ -0,0 +1,27 @@
/* global localStorage */
var React = require('react')
module.exports = React.createClass({
propTypes: {
transitionTo: React.PropTypes.func,
close: React.PropTypes.func
},
logout: function () {
localStorage.removeItem('currentUser')
localStorage.removeItem('token')
this.props.transitionTo('login')
this.props.close()
},
render: function () {
return (
<div className='LogoutModal modal'>
<div className='messageLabel'>Are you sure to log out?</div>
<div className='formControl'>
<button onClick={this.props.close}>Cancel</button>
<button className='logoutButton' onClick={this.logout}>Log out</button>
</div>
</div>
)
}
})

View File

@@ -42,7 +42,7 @@ var PlanetNavigator = React.createClass({
<button onClick={this.openLaunchModal} className='launchButton btn-primary btn-block'> <button onClick={this.openLaunchModal} className='launchButton btn-primary btn-block'>
<i className='fa fa-rocket fa-fw'/> Launch <i className='fa fa-rocket fa-fw'/> Launch
</button> </button>
<nav> <nav className='articleFilters'>
<a className={usingCodeFilter && !usingNoteFilter ? 'active' : ''} onClick={this.props.toggleCodeFilter}> <a className={usingCodeFilter && !usingNoteFilter ? 'active' : ''} onClick={this.props.toggleCodeFilter}>
<i className='fa fa-code fa-fw'/> Codes <i className='fa fa-code fa-fw'/> Codes
</a> </a>

View File

@@ -355,3 +355,21 @@
border-radius 5px border-radius 5px
display block display block
margin 0 auto 25px margin 0 auto 25px
.LogoutModal
padding 65px 0 45px
width 350px
.messageLabel
text-align center
font-size 1.1em
margin-bottom 35px
.formControl
text-align center
button
btnDefault()
border-radius 5px
height 44px
margin 15px 5px
padding 0 15px
button.logoutButton
btnPrimary()