You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
516 B
JavaScript
21 lines
516 B
JavaScript
"use strict";
|
|
|
|
const React = require("react");
|
|
const classnames = require("classnames");
|
|
|
|
const {LocalsContext} = require("../../packages/express-async-react");
|
|
const isUnderPrefix = require("../../util/is-under-prefix");
|
|
|
|
module.exports = function MenuItem({ path, children }) {
|
|
let {currentPath} = React.useContext(LocalsContext);
|
|
let isActive = isUnderPrefix(path, currentPath);
|
|
|
|
return (
|
|
<div className={classnames("menuItem", {active: isActive})}>
|
|
<a href={path}>
|
|
{children}
|
|
</a>
|
|
</div>
|
|
);
|
|
};
|