Files
old-ribica/front-ui/app/components/shared/loginStatus.js
2015-03-03 19:11:38 +01:00

49 lines
1.3 KiB
JavaScript

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