@@ -18,6 +18,13 @@ import type {
1818 DefaultUserType ,
1919} from '../../types/types' ;
2020
21+ export type ChannelSearchFunctionParams < Us extends DefaultUserType < Us > = DefaultUserType > = {
22+ setQuery : React . Dispatch < React . SetStateAction < string > > ;
23+ setResults : React . Dispatch < React . SetStateAction < Array < UserResponse < Us > > > > ;
24+ setResultsOpen : React . Dispatch < React . SetStateAction < boolean > > ;
25+ setSearching : React . Dispatch < React . SetStateAction < boolean > > ;
26+ } ;
27+
2128export type SearchQueryParams < Us extends DefaultUserType < Us > = DefaultUserType > = {
2229 filters ?: UserFilters < Us > ;
2330 options ?: UserOptions ;
@@ -35,10 +42,7 @@ export type ChannelSearchProps<Us extends DefaultUserType<Us> = DefaultUserType>
3542 SearchEmpty ?: React . ComponentType ;
3643 /** Custom search function to override default */
3744 searchFunction ?: (
38- setQuery : React . Dispatch < React . SetStateAction < string > > ,
39- setResults : React . Dispatch < React . SetStateAction < Array < UserResponse < Us > > > > ,
40- setResultsOpen : React . Dispatch < React . SetStateAction < boolean > > ,
41- setSearching : React . Dispatch < React . SetStateAction < boolean > > ,
45+ params : ChannelSearchFunctionParams < Us > ,
4246 event : React . BaseSyntheticEvent ,
4347 ) => Promise < void > | void ;
4448 /** Custom UI component to display the search loading state */
@@ -150,13 +154,18 @@ const UnMemoizedChannelSearch = <
150154 getChannelsThrottled ( event . target . value ) ;
151155 } ;
152156
157+ const channelSearchParams = {
158+ setQuery,
159+ setResults,
160+ setResultsOpen,
161+ setSearching,
162+ } ;
163+
153164 return (
154165 < div className = 'str-chat__channel-search' >
155166 < input
156167 onChange = { ( event ) =>
157- searchFunction
158- ? searchFunction ( setQuery , setResults , setResultsOpen , setSearching , event )
159- : onSearch
168+ searchFunction ? searchFunction ( channelSearchParams , event ) : onSearch ( event )
160169 }
161170 placeholder = { t ( 'Search' ) }
162171 ref = { inputRef }
0 commit comments