diff --git a/native/chat/chat-thread-list-search.react.js b/native/chat/chat-thread-list-search.react.js --- a/native/chat/chat-thread-list-search.react.js +++ b/native/chat/chat-thread-list-search.react.js @@ -18,18 +18,20 @@ +searchText: string, +onChangeText: (updatedSearchText: string) => Promise, +onBlur: () => void, - +additionalProps?: $Shape>, +onSearchCancel: () => void, +searchStatus: SearchStatus, + +innerSearchAutoFocus?: boolean, + +innerSearchActive?: boolean, }; function ChatThreadListSearch(props: Props): React.Node { const { searchText, onChangeText, onBlur, - additionalProps, onSearchCancel, searchStatus, + innerSearchActive, + innerSearchAutoFocus, } = props; const styles = useStyles(unboundStyles); @@ -96,7 +98,8 @@ onBlur={onBlur} placeholder="Search chats" ref={searchInputRef} - {...additionalProps} + autoFocus={innerSearchAutoFocus} + active={innerSearchActive} /> diff --git a/native/chat/chat-thread-list.react.js b/native/chat/chat-thread-list.react.js --- a/native/chat/chat-thread-list.react.js +++ b/native/chat/chat-thread-list.react.js @@ -37,7 +37,6 @@ ChatNavigationProp, } from './chat.react.js'; import { useNavigateToThread } from './message-list-types.js'; -import Search from '../components/search.react.js'; import { SidebarListModalRouteName, HomeChatThreadListRouteName, @@ -196,28 +195,6 @@ }, [clearSearch, onChangeSearchText]); const searchInputRef = React.useRef(); - const renderSearch = React.useCallback( - (additionalProps?: $Shape>) => ( - - - - ), - [ - onChangeSearchText, - onSearchBlur, - onSearchCancel, - searchStatus, - searchText, - styles.searchContainer, - ], - ); const onPressItem = React.useCallback( (threadInfo: ThreadInfo, pendingPersonalThreadUserInfo?: UserInfo) => { @@ -264,7 +241,16 @@ if (item.type === 'search') { return ( - {renderSearch({ active: false })} + + + ); } @@ -283,12 +269,17 @@ ); }, [ + onChangeSearchText, onPressItem, onPressSeeMoreSidebars, + onSearchBlur, + onSearchCancel, onSearchFocus, onSwipeableWillOpen, openedSwipeableID, - renderSearch, + searchStatus, + searchText, + styles.searchContainer, ], ); @@ -352,8 +343,26 @@ const fixedSearch = React.useMemo( () => - searchStatus === 'active' ? renderSearch({ autoFocus: true }) : null, - [renderSearch, searchStatus], + searchStatus === 'active' ? ( + + + + ) : null, + [ + onChangeSearchText, + onSearchBlur, + onSearchCancel, + searchStatus, + searchText, + styles.searchContainer, + ], ); const scrollEnabled =