@@ -192,12 +192,38 @@ function Search({queryJSON, searchResults, onSearchListScroll, contentContainerS
192192 if ( offset !== 0 ) {
193193 return false ;
194194 }
195- if ( ! searchKey ) {
195+ if ( queryJSON . type !== CONST . SEARCH . DATA_TYPES . EXPENSE ) {
196196 return false ;
197197 }
198- const eligibleSearchKeys : Partial < SearchKey [ ] > = [ CONST . SEARCH . SEARCH_KEYS . STATEMENTS , CONST . SEARCH . SEARCH_KEYS . UNAPPROVED_CASH , CONST . SEARCH . SEARCH_KEYS . UNAPPROVED_CARD ] ;
199- return eligibleSearchKeys . includes ( searchKey ) ;
200- } , [ offset , searchKey ] ) ;
198+
199+ let hasFeedFilter = false ;
200+ let hasPostedFilter = false ;
201+ let isReimbursable = false ;
202+
203+ queryJSON . flatFilters . forEach ( ( filter ) => {
204+ if ( filter . key === CONST . SEARCH . SYNTAX_FILTER_KEYS . FEED ) {
205+ hasFeedFilter = true ;
206+ } else if ( filter . key === CONST . SEARCH . SYNTAX_FILTER_KEYS . POSTED ) {
207+ hasPostedFilter = true ;
208+ } else if ( filter . key === CONST . SEARCH . SYNTAX_FILTER_KEYS . REIMBURSABLE && filter . filters . at ( 0 ) ?. value === CONST . SEARCH . BOOLEAN . YES ) {
209+ isReimbursable = true ;
210+ }
211+ } ) ;
212+
213+ const isStatemenstLikeQuery = queryJSON . flatFilters . length === 2 && hasFeedFilter && hasPostedFilter ;
214+ const isUnapprovedCashLikeQuery =
215+ queryJSON . flatFilters . length === 1 &&
216+ isReimbursable &&
217+ queryJSON . status [ 0 ] === CONST . SEARCH . STATUS . EXPENSE . DRAFTS &&
218+ queryJSON . status [ 1 ] === CONST . SEARCH . STATUS . EXPENSE . OUTSTANDING ;
219+ const isUnapprovedCardLikeQuery =
220+ queryJSON . flatFilters . length === 1 &&
221+ hasFeedFilter &&
222+ queryJSON . status [ 0 ] === CONST . SEARCH . STATUS . EXPENSE . DRAFTS &&
223+ queryJSON . status [ 1 ] === CONST . SEARCH . STATUS . EXPENSE . OUTSTANDING ;
224+
225+ return isStatemenstLikeQuery || isUnapprovedCashLikeQuery || isUnapprovedCardLikeQuery ;
226+ } , [ offset , queryJSON . flatFilters , queryJSON . type , queryJSON . status ] ) ;
201227
202228 const previousReportActions = usePrevious ( reportActions ) ;
203229 const reportActionsArray = useMemo (
0 commit comments