From adea560241f1df82983d6c41c4004766e588ff4b Mon Sep 17 00:00:00 2001 From: Aman Harwara Date: Mon, 1 Sep 2025 14:13:36 +0530 Subject: [PATCH] chore: fix search bar focus handling --- .../Components/SearchBar/SearchBar.tsx | 26 +++++++++---------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/packages/web/src/javascripts/Components/SearchBar/SearchBar.tsx b/packages/web/src/javascripts/Components/SearchBar/SearchBar.tsx index 011e2f078..5eaf25df4 100644 --- a/packages/web/src/javascripts/Components/SearchBar/SearchBar.tsx +++ b/packages/web/src/javascripts/Components/SearchBar/SearchBar.tsx @@ -1,6 +1,6 @@ import { ItemListController } from '@/Controllers/ItemList/ItemListController' import { KeyboardKey } from '@standardnotes/ui-services' -import { useState, useCallback, KeyboardEventHandler, useRef } from 'react' +import { useCallback, KeyboardEventHandler, useRef } from 'react' import SearchOptions from '@/Components/SearchOptions/SearchOptions' import { SearchOptionsController } from '@/Controllers/SearchOptionsController' import Icon from '../Icon/Icon' @@ -8,6 +8,7 @@ import DecoratedInput from '../Input/DecoratedInput' import { observer } from 'mobx-react-lite' import ClearInputButton from '../ClearInputButton/ClearInputButton' import { ElementIds } from '@/Constants/ElementIDs' +import { classNames } from '@standardnotes/snjs' type Props = { itemListController: ItemListController @@ -16,12 +17,11 @@ type Props = { } const SearchBar = ({ itemListController, searchOptionsController, hideOptions = false }: Props) => { + const searchBarRef = useRef(null) const searchInputRef = useRef(null) const { noteFilterText, setNoteFilterText, clearFilterText, onFilterEnter } = itemListController - const [focusedSearch, setFocusedSearch] = useState(false) - const onNoteFilterTextChange = useCallback( (text: string) => { setNoteFilterText(text) @@ -38,16 +38,13 @@ const SearchBar = ({ itemListController, searchOptionsController, hideOptions = [onFilterEnter], ) - const onSearchFocus = useCallback(() => setFocusedSearch(true), []) - const onSearchBlur = useCallback(() => setFocusedSearch(false), []) - const onClearSearch = useCallback(() => { clearFilterText() searchInputRef.current?.focus() }, [clearFilterText]) return ( -
+
]} right={[noteFilterText && ]} roundedFull /> - {(focusedSearch || noteFilterText) && !hideOptions && ( -
- -
- )} +
+ +
) }