From bb6c9574e4c48fbaaed51318b502ae8f86bcbe1c Mon Sep 17 00:00:00 2001 From: ankitchaudharyy Date: Thu, 22 Dec 2022 01:23:30 +0530 Subject: [PATCH 1/3] fix: wrong updation of DocsNavItem (#1179) --- components/navigation/DocsNavItem.js | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/components/navigation/DocsNavItem.js b/components/navigation/DocsNavItem.js index a49f7e0f9a57..c3bd58cb9b8e 100644 --- a/components/navigation/DocsNavItem.js +++ b/components/navigation/DocsNavItem.js @@ -1,14 +1,26 @@ import Link from 'next/link'; -function isActiveSlug(slug, activeSlug) { +function isCurrentSlugTheActiveSlug(slug, activeSlug) { + return slug === activeSlug; +} + +function isActiveSlug(slug, activeSlug, sectionSlug) { + if(slug === '/docs') { + return isCurrentSlugTheActiveSlug(slug, activeSlug); + } + + if(sectionSlug !== undefined && slug === sectionSlug) { + return isCurrentSlugTheActiveSlug(slug, activeSlug); + } + const partialSlug = slug.split('/'); const partialActiveSlug = activeSlug.split('/'); const activeParts = partialActiveSlug.filter((a, idx) => a === partialSlug[idx]); return activeParts.length === partialSlug.length; } -export default function DocsNavItem({ title, slug, href, indexDocument, activeSlug, onClick = () => {}, defaultClassName = '', inactiveClassName = '', activeClassName = '', bucket }) { - const isActive = slug === '/docs' || indexDocument ? slug === activeSlug : isActiveSlug(slug, activeSlug); +export default function DocsNavItem({ title, slug, href, indexDocument, activeSlug, sectionSlug, onClick = () => {}, defaultClassName = '', inactiveClassName = '', activeClassName = '', bucket }) { + const isActive = isActiveSlug(slug, activeSlug, sectionSlug); const classes = `${isActive ? activeClassName : inactiveClassName} ${defaultClassName} inline-block`; return ( @@ -27,4 +39,4 @@ export default function DocsNavItem({ title, slug, href, indexDocument, activeSl ); -} +} \ No newline at end of file From c061fa9f269e1ac7d21265c7df05fb4734dafeea Mon Sep 17 00:00:00 2001 From: ankitchaudharyy Date: Thu, 22 Dec 2022 01:54:04 +0530 Subject: [PATCH 2/3] refactor: changed variable names in DocsNavItem.js (#1179) --- components/navigation/DocsNav.js | 4 ++-- components/navigation/DocsNavItem.js | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/components/navigation/DocsNav.js b/components/navigation/DocsNav.js index 853d39c9b417..d2de1f392d8d 100644 --- a/components/navigation/DocsNav.js +++ b/components/navigation/DocsNav.js @@ -44,9 +44,9 @@ export default function DocsNav({
    • - {Object.values(subCategories).map((subCategory, index) => ( + {Object.values(subCategories).map((subCategory) => (
    • - +
        {subCategory.children && subCategory.children.map(subItem => (
      • diff --git a/components/navigation/DocsNavItem.js b/components/navigation/DocsNavItem.js index c3bd58cb9b8e..729fd5e4b69f 100644 --- a/components/navigation/DocsNavItem.js +++ b/components/navigation/DocsNavItem.js @@ -1,16 +1,16 @@ import Link from 'next/link'; -function isCurrentSlugTheActiveSlug(slug, activeSlug) { - return slug === activeSlug; +function isEqual(currentSlug, activeSlug) { + return currentSlug === activeSlug; } function isActiveSlug(slug, activeSlug, sectionSlug) { if(slug === '/docs') { - return isCurrentSlugTheActiveSlug(slug, activeSlug); + return isEqual(slug, activeSlug); } if(sectionSlug !== undefined && slug === sectionSlug) { - return isCurrentSlugTheActiveSlug(slug, activeSlug); + return isEqual(slug, activeSlug); } const partialSlug = slug.split('/'); @@ -19,7 +19,7 @@ function isActiveSlug(slug, activeSlug, sectionSlug) { return activeParts.length === partialSlug.length; } -export default function DocsNavItem({ title, slug, href, indexDocument, activeSlug, sectionSlug, onClick = () => {}, defaultClassName = '', inactiveClassName = '', activeClassName = '', bucket }) { +export default function DocsNavItem({ title, slug, href, activeSlug, sectionSlug, onClick = () => {}, defaultClassName = '', inactiveClassName = '', activeClassName = '', bucket }) { const isActive = isActiveSlug(slug, activeSlug, sectionSlug); const classes = `${isActive ? activeClassName : inactiveClassName} ${defaultClassName} inline-block`; From 4732a76fe31467ea97cb524576a9216e81e4321a Mon Sep 17 00:00:00 2001 From: Ankit Chaudhary <46367738+Ankitchaudharyy@users.noreply.github.com> Date: Thu, 22 Dec 2022 17:02:23 +0530 Subject: [PATCH 3/3] refactor: function isActiveSlug in DocsNavItem.js (#1179) Co-authored-by: Akshat Nema <76521428+akshatnema@users.noreply.github.com> --- components/navigation/DocsNavItem.js | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/components/navigation/DocsNavItem.js b/components/navigation/DocsNavItem.js index 729fd5e4b69f..dcf17037f709 100644 --- a/components/navigation/DocsNavItem.js +++ b/components/navigation/DocsNavItem.js @@ -1,16 +1,8 @@ import Link from 'next/link'; -function isEqual(currentSlug, activeSlug) { - return currentSlug === activeSlug; -} - function isActiveSlug(slug, activeSlug, sectionSlug) { - if(slug === '/docs') { - return isEqual(slug, activeSlug); - } - - if(sectionSlug !== undefined && slug === sectionSlug) { - return isEqual(slug, activeSlug); + if(slug === '/docs' || (sectionSlug !== undefined && slug === sectionSlug)) { + return (slug == activeSlug) } const partialSlug = slug.split('/');