Profile and logout buttons are disabled when logged out
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { withRouter, Link } from 'react-router-dom';
|
import { withRouter, Link } from 'react-router-dom';
|
||||||
|
import { connect } from 'react-redux';
|
||||||
|
|
||||||
import Logout from './logout.jsx';
|
import Logout from './logout.jsx';
|
||||||
|
|
||||||
@@ -12,26 +13,57 @@ class CommonLinks extends React.Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
|
//render extra stuff
|
||||||
let Extra;
|
let Extra;
|
||||||
|
|
||||||
if (this.props.extra) {
|
if (this.props.extra) {
|
||||||
Extra = this.props.extra;
|
Extra = this.props.extra;
|
||||||
} else {
|
} else {
|
||||||
Extra = () => null;
|
Extra = () => null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//disable the profile link when logged out
|
||||||
|
let ProfileLink;
|
||||||
|
if (this.props.loggedIn) {
|
||||||
|
ProfileLink = () => <p>Go to <Link to='/profile' onClick={this.props.onClickProfile}>your profile</Link></p>;
|
||||||
|
} else {
|
||||||
|
ProfileLink = () => null;
|
||||||
|
}
|
||||||
|
|
||||||
|
//disable the logout button when logged out
|
||||||
|
let LogoutLink;
|
||||||
|
if (this.props.loggedIn) {
|
||||||
|
LogoutLink = () => <Logout onClick={() => this.props.history.push('/')} />;
|
||||||
|
} else {
|
||||||
|
LogoutLink = () => null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='panel'>
|
<div className='panel'>
|
||||||
<p>Return <Link to='/' onClick={this.props.onClickHome}>home</Link></p>
|
<p>Return <Link to='/' onClick={this.props.onClickHome}>home</Link></p>
|
||||||
<p>Go to <Link to='/profile' onClick={this.props.onClickProfile}>your profile</Link></p>
|
<ProfileLink />
|
||||||
<p>Go to <Link to='/ladder' onClick={this.props.onClickLadder}>the game ladder</Link></p>
|
<p>Go to <Link to='/ladder' onClick={this.props.onClickLadder}>the game ladder</Link></p>
|
||||||
|
|
||||||
<Extra />
|
<Extra />
|
||||||
|
|
||||||
<Logout onClick={() => this.props.history.push('/')} />
|
<LogoutLink />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function mapStoreToProps(store) {
|
||||||
|
return {
|
||||||
|
loggedIn: store.account.id !== 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function mapDispatchToProps(dispatch) {
|
||||||
|
return {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
CommonLinks = connect(mapStoreToProps, mapDispatchToProps)(CommonLinks);
|
||||||
|
|
||||||
export default withRouter(CommonLinks);
|
export default withRouter(CommonLinks);
|
||||||
Reference in New Issue
Block a user