@@ -2187,6 +2187,15 @@ function getPersonalDetailSearchTerms(item: Partial<ReportUtils.OptionData>) {
2187
2187
function getCurrentUserSearchTerms ( item : ReportUtils . OptionData ) {
2188
2188
return [ item . text ?? '' , item . login ?? '' , item . login ?. replace ( CONST . EMAIL_SEARCH_REGEX , '' ) ?? '' ] ;
2189
2189
}
2190
+
2191
+ /**
2192
+ * Remove the personal details for the DMs that are already in the recent reports so that we don't show duplicates.
2193
+ */
2194
+ function filteredPersonalDetailsOfRecentReports ( recentReports : ReportUtils . OptionData [ ] , personalDetails : ReportUtils . OptionData [ ] ) {
2195
+ const excludedLogins = new Set ( recentReports . map ( ( report ) => report . login ) ) ;
2196
+ return personalDetails . filter ( ( personalDetail ) => ! excludedLogins . has ( personalDetail . login ) ) ;
2197
+ }
2198
+
2190
2199
/**
2191
2200
* Filters options based on the search input value
2192
2201
*/
@@ -2200,11 +2209,6 @@ function filterOptions(options: Options, searchInputValue: string, config?: Filt
2200
2209
preferPolicyExpenseChat = false ,
2201
2210
preferRecentExpenseReports = false ,
2202
2211
} = config ?? { } ;
2203
- // Remove the personal details for the DMs that are already in the recent reports so that we don't show duplicates
2204
- function filteredPersonalDetailsOfRecentReports ( recentReports : ReportUtils . OptionData [ ] , personalDetails : ReportUtils . OptionData [ ] ) {
2205
- const excludedLogins = new Set ( recentReports . map ( ( report ) => report . login ) ) ;
2206
- return personalDetails . filter ( ( personalDetail ) => ! excludedLogins . has ( personalDetail . login ) ) ;
2207
- }
2208
2212
if ( searchInputValue . trim ( ) === '' && maxRecentReportsToShow > 0 ) {
2209
2213
const recentReports = options . recentReports . slice ( 0 , maxRecentReportsToShow ) ;
2210
2214
const personalDetails = filteredPersonalDetailsOfRecentReports ( recentReports , options . personalDetails ) ;
@@ -2264,13 +2268,15 @@ function filterOptions(options: Options, searchInputValue: string, config?: Filt
2264
2268
} ;
2265
2269
} , options ) ;
2266
2270
2267
- let { recentReports, personalDetails} = matchResults ;
2271
+ const { recentReports, personalDetails} = matchResults ;
2272
+
2273
+ const personalDetailsWithoutDMs = filteredPersonalDetailsOfRecentReports ( recentReports , personalDetails ) ;
2268
2274
2275
+ let filteredPersonalDetails : ReportUtils . OptionData [ ] = personalDetailsWithoutDMs ;
2276
+ let filteredRecentReports : ReportUtils . OptionData [ ] = recentReports ;
2269
2277
if ( sortByReportTypeInSearch ) {
2270
- personalDetails = filteredPersonalDetailsOfRecentReports ( recentReports , personalDetails ) ;
2271
- recentReports = recentReports . concat ( personalDetails ) ;
2272
- personalDetails = [ ] ;
2273
- recentReports = orderOptions ( recentReports , searchValue ) ;
2278
+ filteredRecentReports = recentReports . concat ( personalDetailsWithoutDMs ) ;
2279
+ filteredPersonalDetails = [ ] ;
2274
2280
}
2275
2281
2276
2282
let userToInvite = null ;
@@ -2287,11 +2293,11 @@ function filterOptions(options: Options, searchInputValue: string, config?: Filt
2287
2293
if ( maxRecentReportsToShow > 0 && recentReports . length > maxRecentReportsToShow ) {
2288
2294
recentReports . splice ( maxRecentReportsToShow ) ;
2289
2295
}
2290
- const filteredPersonalDetails = filteredPersonalDetailsOfRecentReports ( recentReports , personalDetails ) ;
2291
2296
2297
+ const sortedRecentReports = orderOptions ( filteredRecentReports , searchValue , { preferChatroomsOverThreads, preferPolicyExpenseChat, preferRecentExpenseReports} ) ;
2292
2298
return {
2293
2299
personalDetails : filteredPersonalDetails ,
2294
- recentReports : orderOptions ( recentReports , searchValue , { preferChatroomsOverThreads , preferPolicyExpenseChat , preferRecentExpenseReports } ) ,
2300
+ recentReports : sortedRecentReports ,
2295
2301
userToInvite,
2296
2302
currentUserOption : matchResults . currentUserOption ,
2297
2303
categoryOptions : [ ] ,
@@ -2349,6 +2355,7 @@ export {
2349
2355
formatSectionsFromSearchTerm ,
2350
2356
getShareLogOptions ,
2351
2357
filterOptions ,
2358
+ filteredPersonalDetailsOfRecentReports ,
2352
2359
createOptionList ,
2353
2360
createOptionFromReport ,
2354
2361
getReportOption ,
0 commit comments