From 17c11d2bfb1704791316cf1019da2ef74a85cefd Mon Sep 17 00:00:00 2001 From: Jonathan Summers-Muir Date: Tue, 13 Dec 2022 04:48:08 +0800 Subject: [PATCH] add some things back in --- .../NavigationMenu/NavigationMenu.tsx | 167 +++++++++--------- .../NavigationMenu/TopNavBarRef.tsx | 21 ++- apps/docs/layouts/guides/index.tsx | 8 +- apps/docs/pages/_app.tsx | 64 +++---- 4 files changed, 138 insertions(+), 122 deletions(-) diff --git a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.tsx b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.tsx index 3c24db52efa..3f370838df0 100644 --- a/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.tsx +++ b/apps/docs/components/Navigation/NavigationMenu/NavigationMenu.tsx @@ -44,8 +44,6 @@ function generateAllowedClientLibKeys(sections, spec) { return func.id }) - console.log('final', final) - return final } @@ -73,6 +71,8 @@ const SideNav = () => { const router = useRouter() const { isDarkMode } = useTheme() + // const level = useMenuLevelId() + console.log() let version = '' @@ -85,84 +85,84 @@ const SideNav = () => { version = '_v0' } - // function handleRouteChange(url: string) { - // switch (url) { - // case `/docs`: - // menuState.setMenuLevelId('home') - // break - // case url.includes(`/docs/guides/getting-started`) && url: - // menuState.setMenuLevelId('gettingstarted') - // break - // case url.includes(`/docs/guides/database`) && url: - // menuState.setMenuLevelId('database') - // break - // case url.includes(`/docs/guides/auth`) && url: - // menuState.setMenuLevelId('auth') - // break - // case url.includes(`/docs/guides/functions`) && url: - // menuState.setMenuLevelId('functions') - // break - // case url.includes(`/docs/guides/realtime`) && url: - // menuState.setMenuLevelId('realtime') - // break - // case url.includes(`/docs/guides/storage`) && url: - // menuState.setMenuLevelId('storage') - // break - // case url.includes(`/docs/guides/platform`) || - // (url.includes(`/docs/guides/hosting/platform`) && url): - // menuState.setMenuLevelId('platform') - // break - // case url.includes(`/docs/guides/resources`) && url: - // menuState.setMenuLevelId('resources') - // break - // case url.includes(`/docs/guides/integrations`) && url: - // menuState.setMenuLevelId('integrations') - // break - // // JS v1 - // case url.includes(`/docs/reference/javascript/v1`) && url: - // menuState.setMenuLevelId('reference_javascript_v1') - // break - // // JS v2 (latest) - // case url.includes(`/docs/reference/javascript`) && url: - // menuState.setMenuLevelId('reference_javascript_v2') - // break - // // dart v0 - // case url.includes(`/docs/reference/dart/v0`) && url: - // menuState.setMenuLevelId('reference_dart_v0') - // break - // // dart v1 (latest) - // case url.includes(`/docs/reference/dart`) && url: - // menuState.setMenuLevelId('reference_dart_v1') - // break - // case url.includes(`/docs/reference/cli`) && url: - // menuState.setMenuLevelId('reference_cli') - // break - // case url.includes(`/docs/reference/api`) && url: - // menuState.setMenuLevelId('reference_api') - // break - // case url.includes(`/docs/reference/self-hosting-auth`) && url: - // menuState.setMenuLevelId('reference_self_hosting_auth') - // break - // case url.includes(`/docs/reference/self-hosting-storage`) && url: - // menuState.setMenuLevelId('reference_self_hosting_storage') - // break - // case url.includes(`/docs/reference/self-hosting-realtime`) && url: - // menuState.setMenuLevelId('reference_self_hosting_realtime') - // break + function handleRouteChange(url: string) { + switch (url) { + case `/docs`: + menuState.setMenuLevelId('home') + break + case url.includes(`/docs/guides/getting-started`) && url: + menuState.setMenuLevelId('gettingstarted') + break + case url.includes(`/docs/guides/database`) && url: + menuState.setMenuLevelId('database') + break + case url.includes(`/docs/guides/auth`) && url: + menuState.setMenuLevelId('auth') + break + case url.includes(`/docs/guides/functions`) && url: + menuState.setMenuLevelId('functions') + break + case url.includes(`/docs/guides/realtime`) && url: + menuState.setMenuLevelId('realtime') + break + case url.includes(`/docs/guides/storage`) && url: + menuState.setMenuLevelId('storage') + break + case url.includes(`/docs/guides/platform`) || + (url.includes(`/docs/guides/hosting/platform`) && url): + menuState.setMenuLevelId('platform') + break + case url.includes(`/docs/guides/resources`) && url: + menuState.setMenuLevelId('resources') + break + case url.includes(`/docs/guides/integrations`) && url: + menuState.setMenuLevelId('integrations') + break + // JS v1 + case url.includes(`/docs/reference/javascript/v1`) && url: + menuState.setMenuLevelId('reference_javascript_v1') + break + // JS v2 (latest) + case url.includes(`/docs/reference/javascript`) && url: + menuState.setMenuLevelId('reference_javascript_v2') + break + // dart v0 + case url.includes(`/docs/reference/dart/v0`) && url: + menuState.setMenuLevelId('reference_dart_v0') + break + // dart v1 (latest) + case url.includes(`/docs/reference/dart`) && url: + menuState.setMenuLevelId('reference_dart_v1') + break + case url.includes(`/docs/reference/cli`) && url: + menuState.setMenuLevelId('reference_cli') + break + case url.includes(`/docs/reference/api`) && url: + menuState.setMenuLevelId('reference_api') + break + case url.includes(`/docs/reference/self-hosting-auth`) && url: + menuState.setMenuLevelId('reference_self_hosting_auth') + break + case url.includes(`/docs/reference/self-hosting-storage`) && url: + menuState.setMenuLevelId('reference_self_hosting_storage') + break + case url.includes(`/docs/reference/self-hosting-realtime`) && url: + menuState.setMenuLevelId('reference_self_hosting_realtime') + break - // default: - // break - // } - // } + default: + break + } + } - // useEffect(() => { - // handleRouteChange(router.basePath + router.asPath) - // // Listen for page changes after a navigation or when the query changes - // router.events.on('routeChangeComplete', handleRouteChange) - // return () => { - // router.events.off('routeChangeComplete', handleRouteChange) - // } - // }, [router.events]) + useEffect(() => { + handleRouteChange(router.basePath + router.asPath) + // Listen for page changes after a navigation or when the query changes + router.events.on('routeChangeComplete', handleRouteChange) + return () => { + router.events.off('routeChangeComplete', handleRouteChange) + } + }, [router.events]) const home = [ [ @@ -269,16 +269,17 @@ const SideNav = () => { ], ] + const level = useMenuLevelId() + return (
{/* // main menu */}
    @@ -348,7 +349,7 @@ const SideNav = () => { - + {/* // Client Libs */} diff --git a/apps/docs/components/Navigation/NavigationMenu/TopNavBarRef.tsx b/apps/docs/components/Navigation/NavigationMenu/TopNavBarRef.tsx index 650a3560734..6fcae17712d 100644 --- a/apps/docs/components/Navigation/NavigationMenu/TopNavBarRef.tsx +++ b/apps/docs/components/Navigation/NavigationMenu/TopNavBarRef.tsx @@ -1,10 +1,23 @@ -import { useTheme } from 'common/Providers' import Image from 'next/image' import Link from 'next/link' import { useRouter } from 'next/router' import { FC, useEffect, useState } from 'react' -import { Button, IconMoon, IconSun } from 'ui' +import { + Badge, + Button, + Dropdown, + IconCommand, + IconMenu, + IconMessageSquare, + IconMoon, + IconSearch, + IconSun, + Input, + Listbox, +} from 'ui' +import { SearchButton } from '~/components/DocSearch' import { REFERENCES } from '~/components/Navigation/Navigation.constants' +import { useTheme } from 'common/Providers' import { getPageType } from '~/lib/helpers' @@ -83,7 +96,7 @@ const TopNavBarRef: FC = () => {
- {/* +