42 lines
950 B
JavaScript
Raw Normal View History

2016-08-19 13:57:50 +02:00
/*
*
* LeftMenu
*
*/
import React from 'react';
import { connect } from 'react-redux';
import styles from './styles.css';
2016-08-19 14:04:08 +02:00
import { Link } from 'react-router';
2016-08-23 13:49:15 +02:00
import classNames from 'classnames';
2016-08-19 13:57:50 +02:00
export class LeftMenu extends React.Component { // eslint-disable-line react/prefer-stateless-function
render() {
2016-08-23 13:49:15 +02:00
const links = this.props.plugins.map(plugin => {
const className = classNames({
active: this.props.params && this.props.params.plugin && this.props.params.plugin === plugin.id,
});
return <li className={className}><Link to={`/plugins/${plugin.id}`}>{plugin.name}</Link></li>;
});
2016-08-19 13:57:50 +02:00
return (
2016-08-19 14:14:33 +02:00
<ul className={styles.leftMenu}>
{links}
</ul>
2016-08-19 13:57:50 +02:00
);
}
}
LeftMenu.propTypes = {
plugins: React.PropTypes.object,
2016-08-23 13:49:15 +02:00
params: React.PropTypes.object,
2016-08-19 13:57:50 +02:00
};
function mapDispatchToProps(dispatch) {
return {
dispatch,
};
}
export default connect(mapDispatchToProps)(LeftMenu);