Skip to content

Commit cab0e62

Browse files
authored
Merge pull request Expensify#64999 from software-mansion-labs/@szymczak/fix-showing-empty-category-row
Fix showing category row when it's empty
2 parents 94658ba + 34a8638 commit cab0e62

3 files changed

Lines changed: 14 additions & 6 deletions

File tree

src/components/TransactionItemRow/DataCells/CategoryCell.tsx

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,13 @@ import * as Expensicons from '@components/Icon/Expensicons';
33
import TextWithIconCell from '@components/SelectionList/Search/TextWithIconCell';
44
import TextWithTooltip from '@components/TextWithTooltip';
55
import useThemeStyles from '@hooks/useThemeStyles';
6-
import CONST from '@src/CONST';
6+
import {isCategoryMissing} from '@libs/CategoryUtils';
77
import type TransactionDataCellProps from './TransactionDataCellProps';
88

99
function CategoryCell({shouldUseNarrowLayout, shouldShowTooltip, transactionItem}: TransactionDataCellProps) {
1010
const styles = useThemeStyles();
1111

12-
const emptyCategories = CONST.SEARCH.CATEGORY_EMPTY_VALUE.split(',');
13-
14-
const category = transactionItem?.category ?? '';
15-
const categoryForDisplay = emptyCategories.includes(category) ? '' : category;
12+
const categoryForDisplay = isCategoryMissing(transactionItem?.category) ? '' : (transactionItem?.category ?? '');
1613

1714
return shouldUseNarrowLayout ? (
1815
<TextWithIconCell

src/components/TransactionItemRow/index.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import useLocalize from '@hooks/useLocalize';
1717
import useStyleUtils from '@hooks/useStyleUtils';
1818
import useTheme from '@hooks/useTheme';
1919
import useThemeStyles from '@hooks/useThemeStyles';
20+
import {isCategoryMissing} from '@libs/CategoryUtils';
2021
import Parser from '@libs/Parser';
2122
import StringUtils from '@libs/StringUtils';
2223
import {
@@ -149,7 +150,7 @@ function TransactionItemRow({
149150
const isPendingDelete = isTransactionPendingDelete(transactionItem);
150151
const viewRef = useRef<View>(null);
151152

152-
const hasCategoryOrTag = !!transactionItem.category || !!transactionItem.tag;
153+
const hasCategoryOrTag = !isCategoryMissing(transactionItem?.category) || !!transactionItem.tag;
153154
const createdAt = getTransactionCreated(transactionItem);
154155

155156
const isDateColumnWide = dateColumnSize === CONST.SEARCH.TABLE_COLUMN_SIZES.WIDE;

src/libs/CategoryUtils.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,15 @@ function getEnabledCategoriesCount(policyCategories: PolicyCategories | undefine
9393
return Object.values(policyCategories).filter((policyCategory) => policyCategory.enabled).length;
9494
}
9595

96+
function isCategoryMissing(category: string | undefined): boolean {
97+
if (!category) {
98+
return true;
99+
}
100+
const emptyCategories = CONST.SEARCH.CATEGORY_EMPTY_VALUE.split(',');
101+
102+
return emptyCategories.includes(category ?? '');
103+
}
104+
96105
export {
97106
formatDefaultTaxRateText,
98107
formatRequireReceiptsOverText,
@@ -101,4 +110,5 @@ export {
101110
getCategoryDefaultTaxRate,
102111
updateCategoryInMccGroup,
103112
getEnabledCategoriesCount,
113+
isCategoryMissing,
104114
};

0 commit comments

Comments
 (0)