From a0f8a06164b781848956d1e34c601c668ad75536 Mon Sep 17 00:00:00 2001 From: Cayla Hamann Date: Mon, 22 Jun 2020 16:21:29 -0400 Subject: [PATCH] fix: render problem with group titles --- src/components/Navigation.js | 200 ++++++++++++++++++----------------- 1 file changed, 103 insertions(+), 97 deletions(-) diff --git a/src/components/Navigation.js b/src/components/Navigation.js index 1f33c28c3..94c82d585 100644 --- a/src/components/Navigation.js +++ b/src/components/Navigation.js @@ -46,108 +46,114 @@ const NavigationItems = ({ }; }, {}); - return Object.entries(groupedPages).map(([group, pages]) => ( - - {(group && !filteredPageNames) || - (group && - filteredPageNames && - pages.some((el) => filteredPageNames.includes(el.displayName)) && ( -
  • {group}
  • - ))} - {pages.map((page) => { - const [isExpanded, setIsExpanded] = useState( - isHomePage || crumbs.includes(page.displayName) - ); + console.log(Boolean(filteredPageNames)); - const isCurrentPage = crumbs[crumbs.length - 1] === page.displayName; - const headerIcon = depthLevel === 0 && ( - - ); - const display = filteredPageNames - ? getHighlightedText(page.displayName, searchTerm) - : page.displayName; + return Object.entries(groupedPages).map(([group, pages]) => { + const showGroup = + (group && !Boolean(filteredPageNames)) || + (group && + filteredPageNames && + pages.some((el) => filteredPageNames.includes(el.displayName))); + return ( + + {showGroup && ( +
  • {group}
  • + )} + {pages.map((page) => { + const [isExpanded, setIsExpanded] = useState( + isHomePage || crumbs.includes(page.displayName) + ); - return ( -
  • - {page.url ? ( - - + const isCurrentPage = crumbs[crumbs.length - 1] === page.displayName; + const headerIcon = depthLevel === 0 && ( + + ); + const display = filteredPageNames + ? getHighlightedText(page.displayName, searchTerm) + : page.displayName; + + return ( +
  • + {page.url ? ( + + + {headerIcon} + {display} + + {isCurrentPage && ( + + )} + + ) : ( + - )} - {page.children && ( -
      - -
    - )} -
  • - ); - })} -
    - )); + + )} + + ); + })} +
    + ); + }); }; const filterPageNames = (pages, searchTerm, parent = []) => {