diff --git a/assets/images/checkbox.svg b/assets/images/checkbox.svg new file mode 100644 index 000000000000..d6b31ce82519 --- /dev/null +++ b/assets/images/checkbox.svg @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/src/CONST.ts b/src/CONST.ts index 72a84925f594..e05a8bd1a014 100755 --- a/src/CONST.ts +++ b/src/CONST.ts @@ -6171,6 +6171,7 @@ const CONST = { DRAFTS: 'drafts', OUTSTANDING: 'outstanding', APPROVED: 'approved', + DONE: 'done', PAID: 'paid', }, INVOICE: { diff --git a/src/components/Icon/Expensicons.ts b/src/components/Icon/Expensicons.ts index b71c9e2402c5..712b03bf4590 100644 --- a/src/components/Icon/Expensicons.ts +++ b/src/components/Icon/Expensicons.ts @@ -49,6 +49,7 @@ import ChatBubbleUnread from '@assets/images/chatbubble-unread.svg'; import ChatBubble from '@assets/images/chatbubble.svg'; import ChatBubbles from '@assets/images/chatbubbles.svg'; import CheckCircle from '@assets/images/check-circle.svg'; +import Checkbox from '@assets/images/checkbox.svg'; import CheckmarkCircle from '@assets/images/checkmark-circle.svg'; import Checkmark from '@assets/images/checkmark.svg'; import CircularArrowBackwards from '@assets/images/circular-arrow-backwards.svg'; @@ -249,6 +250,7 @@ export { Cash, ChatBubble, ChatBubbles, + Checkbox, Checkmark, Chair, Close, diff --git a/src/components/Search/SearchStatusBar.tsx b/src/components/Search/SearchStatusBar.tsx index f94e6e1146c5..53ee7b90408a 100644 --- a/src/components/Search/SearchStatusBar.tsx +++ b/src/components/Search/SearchStatusBar.tsx @@ -11,7 +11,7 @@ import useStyleUtils from '@hooks/useStyleUtils'; import useTheme from '@hooks/useTheme'; import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; -import * as SearchQueryUtils from '@libs/SearchQueryUtils'; +import {buildSearchQueryString} from '@libs/SearchQueryUtils'; import CONST from '@src/CONST'; import type {TranslationPaths} from '@src/languages/types'; import type {SearchDataTypes} from '@src/types/onyx/SearchResults'; @@ -49,10 +49,16 @@ const expenseOptions: Array<{status: ExpenseSearchStatus; type: SearchDataTypes; icon: Expensicons.ThumbsUp, text: 'iou.approved', }, + { + type: CONST.SEARCH.DATA_TYPES.EXPENSE, + status: CONST.SEARCH.STATUS.EXPENSE.DONE, + icon: Expensicons.Checkbox, + text: 'iou.done', + }, { type: CONST.SEARCH.DATA_TYPES.EXPENSE, status: CONST.SEARCH.STATUS.EXPENSE.PAID, - icon: Expensicons.MoneyBag, + icon: Expensicons.Checkmark, text: 'iou.settledExpensify', }, ]; @@ -73,7 +79,7 @@ const invoiceOptions: Array<{type: SearchDataTypes; status: InvoiceSearchStatus; { type: CONST.SEARCH.DATA_TYPES.INVOICE, status: CONST.SEARCH.STATUS.INVOICE.PAID, - icon: Expensicons.MoneyBag, + icon: Expensicons.Checkmark, text: 'iou.settledExpensify', }, ]; @@ -177,7 +183,7 @@ function SearchStatusBar({queryJSON, onStatusChange}: SearchStatusBarProps) { {options.map((item, index) => { const onPress = singleExecution(() => { onStatusChange?.(); - const query = SearchQueryUtils.buildSearchQueryString({...queryJSON, status: item.status}); + const query = buildSearchQueryString({...queryJSON, status: item.status}); Navigation.setParams({q: query}); }); const isActive = Array.isArray(queryJSON.status) ? queryJSON.status.includes(item.status) : queryJSON.status === item.status; diff --git a/src/components/SelectionList/Search/ActionCell.tsx b/src/components/SelectionList/Search/ActionCell.tsx index 635f933582c0..5b96771b7dd6 100644 --- a/src/components/SelectionList/Search/ActionCell.tsx +++ b/src/components/SelectionList/Search/ActionCell.tsx @@ -56,7 +56,7 @@ function ActionCell({