diff --git a/src/shared/components/Contentful/Menu/Menu.jsx b/src/shared/components/Contentful/Menu/Menu.jsx index 4916ce5ea9..86a249aff5 100644 --- a/src/shared/components/Contentful/Menu/Menu.jsx +++ b/src/shared/components/Contentful/Menu/Menu.jsx @@ -3,6 +3,7 @@ * */ /* global window */ +import _ from 'lodash'; import React from 'react'; import PT from 'prop-types'; import Dropdown from 'components/tc-communities/Dropdown'; @@ -17,7 +18,7 @@ export default function Menu(props) { } = props; if (isomorphy.isClientSide()) { - if (baseUrl === parentBaseUrl && baseUrl !== window.location.pathname) { + if (baseUrl && baseUrl === parentBaseUrl && baseUrl !== _.trimEnd(window.location.pathname, '/')) { return null; } } else { diff --git a/src/shared/components/Contentful/Route.jsx b/src/shared/components/Contentful/Route.jsx index d18c502586..204a44064c 100644 --- a/src/shared/components/Contentful/Route.jsx +++ b/src/shared/components/Contentful/Route.jsx @@ -58,6 +58,7 @@ function ChildRoutesLoader(props) { preview={preview} spaceName={spaceName} environment={environment} + baseUrl={url} /> ) : } diff --git a/src/shared/utils/contentful.js b/src/shared/utils/contentful.js index d002df8866..afa8a2a7fd 100644 --- a/src/shared/utils/contentful.js +++ b/src/shared/utils/contentful.js @@ -64,8 +64,7 @@ export function isActive(baseUrl, item, caller) { } // handles the special case when url === `/` - if (caller === 'menuItem' && item - && (item.fields.url === '/' || !item.fields.url) + if (caller === 'menuItem' && to === baseUrl && (location !== to && location !== `${to}/`)) { return false;