Skip to content

Commit f8a6b55

Browse files
committed
Merge remote-tracking branch 'upstream/main' into 67608-category-tag-list-deselected-when-editing-name
2 parents 5bd94f9 + 990aea6 commit f8a6b55

1 file changed

Lines changed: 26 additions & 21 deletions

File tree

src/pages/workspace/companyCards/assignCard/CardSelectionStep.tsx

Lines changed: 26 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import useThemeIllustrations from '@hooks/useThemeIllustrations';
2020
import useThemeStyles from '@hooks/useThemeStyles';
2121
import {setAssignCardStepAndData} from '@libs/actions/CompanyCards';
2222
import {getBankName, getCardFeedIcon, getCustomOrFormattedFeedName, getFilteredCardList, getPlaidInstitutionIconUrl, lastFourNumbersFromCardName, maskCardNumber} from '@libs/CardUtils';
23+
import Navigation from '@libs/Navigation/Navigation';
2324
import {getPersonalDetailByEmail} from '@libs/PersonalDetailsUtils';
2425
import tokenizedSearch from '@libs/tokenizedSearch';
2526
import variables from '@styles/variables';
@@ -56,6 +57,27 @@ function CardSelectionStep({feed, policyID}: CardSelectionStepProps) {
5657
const [cardSelected, setCardSelected] = useState(assignCard?.data?.encryptedCardNumber ?? '');
5758
const [shouldShowError, setShouldShowError] = useState(false);
5859

60+
const cardListOptions = Object.entries(filteredCardList).map(([cardNumber, encryptedCardNumber]) => ({
61+
keyForList: encryptedCardNumber,
62+
value: encryptedCardNumber,
63+
text: maskCardNumber(cardNumber, feed),
64+
alternateText: lastFourNumbersFromCardName(cardNumber),
65+
isSelected: cardSelected === encryptedCardNumber,
66+
leftElement: plaidUrl ? (
67+
<PlaidCardFeedIcon
68+
plaidUrl={plaidUrl}
69+
style={styles.mr3}
70+
/>
71+
) : (
72+
<Icon
73+
src={getCardFeedIcon(feed, illustrations)}
74+
height={variables.cardIconHeight}
75+
width={variables.iconSizeExtraLarge}
76+
additionalStyles={[styles.mr3, styles.cardIcon]}
77+
/>
78+
),
79+
}));
80+
5981
const handleBackButtonPress = () => {
6082
if (isEditing) {
6183
setAssignCardStepAndData({
@@ -64,6 +86,10 @@ function CardSelectionStep({feed, policyID}: CardSelectionStepProps) {
6486
});
6587
return;
6688
}
89+
if (!cardListOptions.length) {
90+
Navigation.goBack();
91+
return;
92+
}
6793
setAssignCardStepAndData({currentStep: CONST.COMPANY_CARD.STEP.ASSIGNEE});
6894
};
6995

@@ -90,27 +116,6 @@ function CardSelectionStep({feed, policyID}: CardSelectionStepProps) {
90116
});
91117
};
92118

93-
const cardListOptions = Object.entries(filteredCardList).map(([cardNumber, encryptedCardNumber]) => ({
94-
keyForList: encryptedCardNumber,
95-
value: encryptedCardNumber,
96-
text: maskCardNumber(cardNumber, feed),
97-
alternateText: lastFourNumbersFromCardName(cardNumber),
98-
isSelected: cardSelected === encryptedCardNumber,
99-
leftElement: plaidUrl ? (
100-
<PlaidCardFeedIcon
101-
plaidUrl={plaidUrl}
102-
style={styles.mr3}
103-
/>
104-
) : (
105-
<Icon
106-
src={getCardFeedIcon(feed, illustrations)}
107-
height={variables.cardIconHeight}
108-
width={variables.iconSizeExtraLarge}
109-
additionalStyles={[styles.mr3, styles.cardIcon]}
110-
/>
111-
),
112-
}));
113-
114119
const searchedListOptions = useMemo(() => {
115120
return tokenizedSearch(cardListOptions, searchText, (option) => [option.text]);
116121
}, [searchText, cardListOptions]);

0 commit comments

Comments
 (0)