* CEC-3071: Fixed Duplicate datascope menu * Mde item type dynamic Co-authored-by: Alexander Andrews <aandrews@fiskerinc.com>
37 lines
906 B
JavaScript
37 lines
906 B
JavaScript
import React from "react";
|
|
import PropTypes from "prop-types";
|
|
import ListItem from "@material-ui/core/ListItem";
|
|
import ListItemIcon from "@material-ui/core/ListItemIcon";
|
|
import ListItemText from "@material-ui/core/ListItemText";
|
|
import { Link as RouterLink } from "react-router-dom";
|
|
|
|
function ListItemLink(props) {
|
|
const { icon, primary, to } = props;
|
|
|
|
const renderLink = React.useMemo(
|
|
() => {
|
|
if (to) {
|
|
return React.forwardRef((itemProps, ref) => (
|
|
<RouterLink to={to} ref={ref} {...itemProps} />
|
|
))
|
|
}
|
|
},
|
|
[to]
|
|
);
|
|
|
|
return (
|
|
<ListItem button component={renderLink}>
|
|
{icon ? <ListItemIcon>{icon}</ListItemIcon> : null}
|
|
<ListItemText primary={primary} />
|
|
</ListItem>
|
|
);
|
|
}
|
|
|
|
ListItemLink.propTypes = {
|
|
icon: PropTypes.element,
|
|
primary: PropTypes.string.isRequired,
|
|
to: PropTypes.string,
|
|
};
|
|
|
|
export default ListItemLink;
|