diff --git a/apps/meteor/client/NavBarV2/NavBarSearch/NavBarSearch.tsx b/apps/meteor/client/NavBarV2/NavBarSearch/NavBarSearch.tsx index eab5c43c16015..23b7493789b76 100644 --- a/apps/meteor/client/NavBarV2/NavBarSearch/NavBarSearch.tsx +++ b/apps/meteor/client/NavBarV2/NavBarSearch/NavBarSearch.tsx @@ -9,6 +9,7 @@ import tinykeys from 'tinykeys'; import NavBarSearchListBox from './NavBarSearchListbox'; import { getShortcutLabel } from './getShortcutLabel'; +import { useSearchClick } from './hooks/useSearchClick'; import { useSearchFocus } from './hooks/useSearchFocus'; import { useSearchInputNavigation } from './hooks/useSearchNavigation'; @@ -38,6 +39,7 @@ const NavBarSearch = () => { const handleKeyDown = useSearchInputNavigation(state); const handleFocus = useSearchFocus(state); + const handleClick = useSearchClick(state); const handleEscSearch = useCallback(() => { resetField('filterText'); @@ -78,6 +80,7 @@ const NavBarSearch = () => { {...triggerProps} onFocus={handleFocus} onKeyDown={handleKeyDown} + onClick={handleClick} autoComplete='off' placeholder={placeholder} ref={mergedRefs} diff --git a/apps/meteor/client/NavBarV2/NavBarSearch/hooks/useSearchClick.ts b/apps/meteor/client/NavBarV2/NavBarSearch/hooks/useSearchClick.ts new file mode 100644 index 0000000000000..887d41bf27294 --- /dev/null +++ b/apps/meteor/client/NavBarV2/NavBarSearch/hooks/useSearchClick.ts @@ -0,0 +1,14 @@ +import { useCallback } from 'react'; +import type { OverlayTriggerState } from 'react-stately'; + +export const useSearchClick = (state: OverlayTriggerState) => { + const handleClick = useCallback(() => { + if (state.isOpen) { + return; + } + + state.setOpen(true); + }, [state]); + + return handleClick; +};