Skip to content

Commit 7923163

Browse files
committed
Calculate total even if feed is changed
1 parent 2b49c57 commit 7923163

1 file changed

Lines changed: 30 additions & 4 deletions

File tree

src/components/Search/index.tsx

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)