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 @@ -118,18 +118,18 @@ +setSearchText: SetState, +searchStatus: SearchStatus, +setSearchStatus: SetState, -}; -type State = { +threadsSearchResults: Set, + +setThreadsSearchResults: SetState>, +usersSearchResults: $ReadOnlyArray, + +setUsersSearchResults: SetState<$ReadOnlyArray>, +}; +type State = { +openedSwipeableId: string, +numItemsToDisplay: number, }; type PropsAndState = { ...Props, ...State }; class ChatThreadList extends React.PureComponent { state: State = { - threadsSearchResults: new Set(), - usersSearchResults: [], openedSwipeableId: '', numItemsToDisplay: 25, }; @@ -527,12 +527,12 @@ onChangeSearchText = async (searchText: string) => { const results = this.props.threadSearchIndex.getSearchResults(searchText); this.props.setSearchText(searchText); + this.props.setThreadsSearchResults(new Set(results)); this.setState({ - threadsSearchResults: new Set(results), numItemsToDisplay: 25, }); const usersSearchResults = await this.searchUsers(searchText); - this.setState({ usersSearchResults }); + this.props.setUsersSearchResults(usersSearchResults); }; onPressItem = ( @@ -633,6 +633,14 @@ const [searchStatus, setSearchStatus] = React.useState('inactive'); + const [threadsSearchResults, setThreadsSearchResults] = React.useState< + Set, + >(new Set()); + + const [usersSearchResults, setUsersSearchResults] = React.useState< + $ReadOnlyArray, + >([]); + return ( ); }