// End of third-party imports import { useIsLoggedIn, useIsUserLoading, useUser } from 'common' import { isFeatureEnabled } from 'common/enabled-features' import { DevToolbarTrigger } from 'dev-tools' import { Command, Menu, Search } from 'lucide-react' import dynamic from 'next/dynamic' import Image from 'next/image' import Link from 'next/link' import type { FC } from 'react' import { memo, useState } from 'react' import { Button, buttonVariants, cn } from 'ui' import { AuthenticatedDropdownMenu, CommandMenuTriggerInput } from 'ui-patterns' import { getCustomContent } from '../../../lib/custom-content/getCustomContent' import GlobalNavigationMenu from './GlobalNavigationMenu' import useDropdownMenu from './useDropdownMenu' const GlobalMobileMenu = dynamic(() => import('./GlobalMobileMenu')) const TopNavDropdown = dynamic(() => import('./TopNavDropdown')) const largeLogo = isFeatureEnabled('branding:large_logo') const TopNavBar: FC = () => { const isLoggedIn = useIsLoggedIn() const isUserLoading = useIsUserLoading() const [mobileMenuOpen, setMobileMenuOpen] = useState(false) const user = useUser() const menu = useDropdownMenu(user) return ( <> Search docs... > } /> setMobileMenuOpen(!mobileMenuOpen)} > {!isUserLoading && ( {isLoggedIn ? 'Dashboard' : 'Sign up'} )} {process.env.NEXT_PUBLIC_DEV_AUTH_PAGE === 'true' && ( Dev-only secret sign-in )} {isLoggedIn ? ( ) : ( )} > ) } const HeaderLogo = memo(() => { const { navigationLogo } = getCustomContent(['navigation:logo']) return ( DOCS ) }) HeaderLogo.displayName = 'HeaderLogo' TopNavBar.displayName = 'TopNavBar' export default TopNavBar