Files
old-ribica/front-ui/app/components/shared/loginStatus.js

49 lines
1.4 KiB
JavaScript
Raw Normal View History

var React = require("react"),
Router = require("react-router"),
Link = Router.Link;
2015-03-03 19:11:38 +01:00
var UserStore = require('../../stores/userStore');
var UserActions = require('../../actions/userActions');
var LoginStatus = React.createClass({
2015-03-03 19:11:38 +01:00
getInitialState: function() {
return UserStore.getLoginState();
},
componentDidMount: function() {
UserStore.addChangeListener(this.onUserStateChange);
UserActions.checkLogin();
2015-03-03 19:11:38 +01:00
},
componentWillReceiveProps: function() {
this.update();
},
componentWillUnmount: function() {
UserStore.removeChangeListener(this.onUserStateChange);
},
onUserStateChange: function() {
this.update();
},
update: function() {
if(this.isMounted()) {
this.setState(UserStore.getLoginState());
}
2015-03-03 19:11:38 +01:00
},
logout: function(e){
e.preventDefault();
UserActions.userLogout();
},
render : function() {
2015-03-04 06:47:07 +01:00
2015-03-03 19:11:38 +01:00
2015-03-04 06:47:07 +01:00
var content;
2015-03-03 19:11:38 +01:00
if(this.state.loggedIn){
2015-03-04 06:47:07 +01:00
content = (<div style={{display: 'inline-block'}}>Dobrodosli, {this.state.user.first_name} {this.state.user.last_name} | <a onClick={this.logout}>Odjavite se</a></div>)
2015-03-03 19:11:38 +01:00
} else {
2015-03-04 06:47:07 +01:00
content = (<div style={{display: 'inline-block'}}><Link to="registracija">Registracija</Link> | <Link to="login">Prijava</Link></div>)
2015-03-03 19:11:38 +01:00
}
2015-03-04 06:47:07 +01:00
return content;
}
})
module.exports = LoginStatus;