mirror of
https://github.com/BoostIo/Boostnote
synced 2025-12-21 21:51:48 +00:00
refactor Actions & add logout action
This commit is contained in:
@@ -1,11 +0,0 @@
|
||||
var React = require('react/addons')
|
||||
|
||||
module.exports = React.createClass({
|
||||
render: function () {
|
||||
return (
|
||||
<div>
|
||||
Blueprint Container
|
||||
</div>
|
||||
)
|
||||
}
|
||||
})
|
||||
@@ -3,7 +3,7 @@ var ReactRouter = require('react-router')
|
||||
var Link = ReactRouter.Link
|
||||
|
||||
var AuthStore = require('../Stores/AuthStore')
|
||||
var login = require('../Actions/login')
|
||||
var AuthActions = require('../Actions/AuthActions')
|
||||
|
||||
var OnlyGuest = require('../Mixins/OnlyGuest')
|
||||
|
||||
@@ -22,7 +22,7 @@ module.exports = React.createClass({
|
||||
this.unsubscribe()
|
||||
},
|
||||
handleSubmit: function (e) {
|
||||
login({
|
||||
AuthActions.login({
|
||||
email: this.state.email,
|
||||
password: this.state.password
|
||||
})
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
var React = require('react/addons')
|
||||
var RouteHandler = require('react-router').RouteHandler
|
||||
var ReactRouter = require('react-router')
|
||||
var ModalBase = require('../Components/ModalBase')
|
||||
var LaunchModal = require('../Components/LaunchModal')
|
||||
@@ -8,7 +7,7 @@ var CodeViewer = require('../Components/CodeViewer')
|
||||
var AuthStore = require('../Stores/AuthStore')
|
||||
var PlanetStore = require('../Stores/PlanetStore')
|
||||
|
||||
var fetchPlanet = require('../Actions/fetchPlanet')
|
||||
var PlanetActions = require('../Actions/PlanetActions')
|
||||
|
||||
var PlanetHeader = React.createClass({
|
||||
propTypes: {
|
||||
@@ -204,7 +203,7 @@ module.exports = React.createClass({
|
||||
componentDidMount: function () {
|
||||
this.unsubscribe = PlanetStore.listen(this.onFetched)
|
||||
|
||||
fetchPlanet(this.props.params.userName + '/' + this.props.params.planetName)
|
||||
PlanetActions.fetchPlanet(this.props.params.userName + '/' + this.props.params.planetName)
|
||||
},
|
||||
componentWillUnmount: function () {
|
||||
this.unsubscribe()
|
||||
|
||||
@@ -3,7 +3,7 @@ var ReactRouter = require('react-router')
|
||||
var Link = ReactRouter.Link
|
||||
|
||||
var AuthStore = require('../Stores/AuthStore')
|
||||
var register = require('../Actions/register')
|
||||
var AuthActions = require('../Actions/AuthActions')
|
||||
|
||||
var OnlyGuest = require('../Mixins/OnlyGuest')
|
||||
|
||||
@@ -24,7 +24,7 @@ module.exports = React.createClass({
|
||||
this.unsubscribe()
|
||||
},
|
||||
handleSubmit: function (e) {
|
||||
register({
|
||||
AuthActions.register({
|
||||
email: this.state.email,
|
||||
password: this.state.password,
|
||||
name: this.state.name,
|
||||
|
||||
@@ -6,10 +6,20 @@ var RouteHandler = ReactRouter.RouteHandler
|
||||
var AuthStore = require('../Stores/AuthStore')
|
||||
|
||||
var UserNavigator = React.createClass({
|
||||
mixins: [ReactRouter.Navigation],
|
||||
propTypes: {
|
||||
currentPlanet: React.PropTypes.object,
|
||||
currentUser: React.PropTypes.object
|
||||
},
|
||||
componentDidMount: function () {
|
||||
this.unsubscribe = AuthStore.listen(this.onLogout)
|
||||
},
|
||||
componentWillUnmount: function () {
|
||||
this.unsubscribe()
|
||||
},
|
||||
onLogout: function () {
|
||||
this.transitionTo('login')
|
||||
},
|
||||
render: function () {
|
||||
var planets = this.props.currentUser.Planets.map(function (planet, index) {
|
||||
return (
|
||||
@@ -50,6 +60,10 @@ module.exports = React.createClass({
|
||||
render: function () {
|
||||
var currentPlanetName = this.props.params.planetName
|
||||
var currentUser = AuthStore.getUser()
|
||||
|
||||
// user must be logged in
|
||||
if (currentUser == null) return (<div></div>)
|
||||
|
||||
var currentPlanet = null
|
||||
currentUser.Planets.some(function (planet) {
|
||||
if (planet.name === currentPlanetName) {
|
||||
@@ -58,6 +72,7 @@ module.exports = React.createClass({
|
||||
}
|
||||
return false
|
||||
})
|
||||
|
||||
return (
|
||||
<div className='UserContainer'>
|
||||
<UserNavigator currentPlanet={currentPlanet} currentUser={currentUser}/>
|
||||
|
||||
@@ -2,6 +2,8 @@ var React = require('react/addons')
|
||||
var ReactRouter = require('react-router')
|
||||
var Link = ReactRouter.Link
|
||||
|
||||
var AuthActions = require('../Actions/AuthActions')
|
||||
|
||||
var currentUser = {
|
||||
name: 'testcat',
|
||||
email: 'testcat@example.com',
|
||||
@@ -12,13 +14,18 @@ var UserSettingNavigation = React.createClass({
|
||||
propTypes: {
|
||||
currentUser: React.PropTypes.shape({
|
||||
name: React.PropTypes.string
|
||||
})
|
||||
}),
|
||||
current: React.PropTypes.string,
|
||||
changeCurrent: React.PropTypes.func
|
||||
},
|
||||
changeFactory: function (current) {
|
||||
return function () {
|
||||
this.props.changeCurrent(current)
|
||||
}.bind(this)
|
||||
},
|
||||
logOut: function () {
|
||||
AuthActions.logout()
|
||||
},
|
||||
render: function () {
|
||||
return (
|
||||
<div className='UserSettingNavigation'>
|
||||
@@ -39,7 +46,8 @@ var UserSettingMain = React.createClass({
|
||||
propTypes: {
|
||||
currentUser: React.PropTypes.shape({
|
||||
name: React.PropTypes.string
|
||||
})
|
||||
}),
|
||||
current: React.PropTypes.string
|
||||
},
|
||||
render: function () {
|
||||
var view
|
||||
|
||||
Reference in New Issue
Block a user