diff --git a/src/app.js b/src/app.js index 85c6035..96c53a7 100644 --- a/src/app.js +++ b/src/app.js @@ -58,14 +58,7 @@ module.exports = function () { }; app.use((req, res, next) => { - res.locals.isUnderPrefix = function isUnderPrefix(path, resultingClass) { - // FIXME: Proper path segment parsing... - if (req.originalUrl.indexOf(path) === 0) { - return resultingClass; - } else { - return ""; - } - }; + res.locals.currentPath = req.originalUrl; next(); }); diff --git a/src/views/layout.jsx b/src/views/layout.jsx index 8edb322..5dfa718 100644 --- a/src/views/layout.jsx +++ b/src/views/layout.jsx @@ -2,10 +2,13 @@ const React = require("react"); const classnames = require("classnames"); -// const {LocalsContext} = require("../express-async-react"); + +const {LocalsContext} = require("../express-async-react"); +const isUnderPrefix = require("../is-under-prefix"); function MenuItem({ path, children }) { - let isActive = false; // FIXME + let {currentPath} = React.useContext(LocalsContext); + let isActive = isUnderPrefix(path, currentPath); return (
@@ -17,8 +20,6 @@ function MenuItem({ path, children }) { } module.exports = function Layout({ children }) { - // let locals = React.useContext(LocalsContext); - return ( @@ -28,6 +29,7 @@ module.exports = function Layout({ children }) {

CVM

+ Hardware Disk Images Instances Users