This repository has been archived on 2026-04-30. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
kingdombattles/src/components/panels/common_links.jsx
T
2019-05-26 23:46:05 +10:00

79 lines
2.0 KiB
React

import React from 'react';
import { withRouter, Link } from 'react-router-dom';
import { connect } from 'react-redux';
import PropTypes from 'prop-types';
import Logout from './logout.jsx';
class CommonLinks extends React.Component {
constructor(props) {
super(props);
this.state = {
//
}
}
render() {
//render extra stuff
let Extra;
if (this.props.extra) {
Extra = this.props.extra;
} else {
Extra = () => null;
}
//if logged in
if (this.props.loggedIn) {
return (
<div className='panel'>
<p><Link to='/' onClick={this.props.onClickHome}>Return Home</Link></p>
<p><Link to='/profile' onClick={this.props.onClickProfile}>Your Profile</Link></p>
<p><Link to='/ladder' onClick={this.props.onClickLadder}>Game Ladder</Link></p>
<p><Link to='/passwordchange' onClick={this.props.onClickPasswordChange}>Change Password</Link></p>
<Extra />
<Logout onClick={() => this.props.history.push('/')} />
</div>
);
} else { //if not logged in
return (
<div className='panel'>
<p><Link to='/signup' onClick={this.props.onClickSignup}>Sign Up</Link></p>
<p><Link to='/login' onClick={this.props.onClickLogin}>Login</Link></p>
<p><Link to='/passwordrecover' onClick={this.props.onClickPasswordRecover}>Recover Password</Link></p>
<p><Link to='/' onClick={this.props.onClickHome}>Return Home</Link></p>
<p><Link to='/ladder' onClick={this.props.onClickLadder}>Game Ladder</Link></p>
<Extra />
</div>
);
}
}
}
CommonLinks.propTypes = {
onClickSignup: PropTypes.func,
onClickLogin: PropTypes.func,
onClickPasswordRecover: PropTypes.func,
onClickHome: PropTypes.func,
onClickProfile: PropTypes.func,
onClickLadder: PropTypes.func,
onClickPasswordChange: PropTypes.func
};
function mapStoreToProps(store) {
return {
loggedIn: store.account.id !== 0
}
}
function mapDispatchToProps(dispatch) {
return {
//
}
}
CommonLinks = connect(mapStoreToProps, mapDispatchToProps)(CommonLinks);
export default withRouter(CommonLinks);