diff --git a/lib/hooks/search-sidebars.js b/lib/hooks/search-sidebars.js --- a/lib/hooks/search-sidebars.js +++ b/lib/hooks/search-sidebars.js @@ -20,7 +20,8 @@ +listData: $ReadOnlyArray, +searchState: SidebarSearchState, +setSearchState: SetState, - +onChangeSearchInputText: (text: string) => mixed, + +onChangeSearchText: (text: string) => mixed, + +clearQuery: (event: SyntheticEvent) => void, } { const [searchState, setSearchState] = React.useState({ text: '', @@ -57,7 +58,7 @@ return index; }, [sidebarInfos, userInfos, viewerID]); - const onChangeSearchInputText = React.useCallback( + const onChangeSearchText = React.useCallback( (text: string) => { setSearchState({ text, @@ -67,14 +68,23 @@ [searchIndex, setSearchState], ); + const clearQuery = React.useCallback( + (event: SyntheticEvent) => { + event.preventDefault(); + setSearchState({ text: '', results: new Set() }); + }, + [setSearchState], + ); + return React.useMemo( () => ({ listData, searchState, setSearchState, - onChangeSearchInputText, + onChangeSearchText, + clearQuery, }), - [listData, setSearchState, searchState, onChangeSearchInputText], + [listData, setSearchState, searchState, onChangeSearchText, clearQuery], ); } diff --git a/native/chat/sidebar-list-modal.react.js b/native/chat/sidebar-list-modal.react.js --- a/native/chat/sidebar-list-modal.react.js +++ b/native/chat/sidebar-list-modal.react.js @@ -35,7 +35,7 @@ listData, searchState, setSearchState, - onChangeSearchInputText, + onChangeSearchText, } = useSearchSidebars(props.route.params.threadInfo); const searchTextInputRef = React.useRef(); @@ -86,7 +86,7 @@ ) => { - event.preventDefault(); - setSearchState({ text: '', results: new Set() }); - }, - [setSearchState], - ); - let clearQueryButton = null; if (searchState.text) { clearQueryButton = ( @@ -70,9 +62,9 @@ const handleOnChangeSearchText = React.useCallback( (event: SyntheticEvent) => { const { value } = event.currentTarget; - onChangeSearchInputText(value); + onChangeSearchText(value); }, - [onChangeSearchInputText], + [onChangeSearchText], ); return (