diff --git a/apps/docs/components/Navigation/NavigationMenu/HomeMenu.tsx b/apps/docs/components/Navigation/NavigationMenu/HomeMenu.tsx
index a769976a8a4..8101690b2f4 100644
--- a/apps/docs/components/Navigation/NavigationMenu/HomeMenu.tsx
+++ b/apps/docs/components/Navigation/NavigationMenu/HomeMenu.tsx
@@ -1,8 +1,7 @@
+import { useTheme } from 'common/Providers'
import Image from 'next/image'
import Link from 'next/link'
import { useRouter } from 'next/router'
-import { useMenuLevelId } from '~/hooks/useMenuState'
-import { useTheme } from 'common/Providers'
const home = [
[
@@ -106,8 +105,7 @@ const home = [
],
]
-const NavigationMenuHome = () => {
- const level = useMenuLevelId()
+const NavigationMenuHome = ({ active }) => {
const router = useRouter()
const { isDarkMode } = useTheme()
@@ -115,9 +113,7 @@ const NavigationMenuHome = () => {
diff --git a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.tsx b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.tsx
index 5a945b965c5..e997936f5f2 100644
--- a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.tsx
+++ b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.tsx
@@ -1,6 +1,6 @@
import { useRouter } from 'next/router'
import { memo, useEffect } from 'react'
-import { menuState } from '~/hooks/useMenuState'
+import { menuState, useMenuLevelId } from '~/hooks/useMenuState'
import NavigationMenuGuideList from './NavigationMenuGuideList'
import NavigationMenuRefList from './NavigationMenuRefList'
// @ts-expect-error
@@ -153,20 +153,33 @@ const SideNav = () => {
}
}, [router.events])
+ const level = useMenuLevelId()
+
+ const isHomeActive = 'home' === level
+ const isGettingStartedActive = 'gettingstarted' === level
+ const isDatabaseActive = 'database' === level
+ const isFunctionsActive = 'functions' === level
+ const isRealtimeActive = 'realtime' === level
+ const isStorageActive = 'storage' === level
+ const isPlatformActive = 'platform' === level
+ const isResourcesActive = 'resources' === level
+ const isIntegrationsActive = 'integrations' === level
+ const isReferenceActive = 'reference' === level
+
return (
{/* // main menu */}
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
{/* // Client Libs */}
= ({ id, setMenuLevelId }) => {
+const NavigationMenuGuideList: React.FC = ({ id, active }) => {
const router = useRouter()
const { isDarkMode } = useTheme()
const menu = NavItems[id]
- //console.log(id, 'url is:', menu.url)
-
// get url
const url = router.asPath
// remove the end of the url if a deep link
const firstLevelRoute = url?.split('/')?.slice(0, 4)?.join('/')
- const level = useMenuLevelId()
-
return (
= ({ id, setMenuLevelId }) => {
className={[
'transition-all ml-8 duration-150 ease-out',
// enabled
- level === id && 'opacity-100 ml-0 delay-150',
- level === 'home' && 'ml-12',
+ active && 'opacity-100 ml-0 delay-150',
+ // level === 'home' && 'ml-12',
// disabled
- level !== 'home' && level !== id ? '-ml-8' : '',
- level !== id ? 'opacity-0 invisible absolute' : '',
+ // level !== 'home' && level !== id ? '-ml-8' : '',
+ active ? 'opacity-0 invisible absolute' : '',
].join(' ')}
>
@@ -83,7 +78,7 @@ const NavigationMenuGuideList: React.FC = ({ id, setMenuLevelId }) => {
: 'hover:text-brand-900 text-scale-1200',
].join(' ')}
>
- {menu.title ?? level}
+ {menu.title ?? id}
@@ -228,4 +223,4 @@ const NavigationMenuGuideList: React.FC = ({ id, setMenuLevelId }) => {
)
}
-export default NavigationMenuGuideList
+export default React.memo(NavigationMenuGuideList)