Skip to content

Commit 47a9f12

Browse files
committed
chore: code cleanup
1 parent d1b6ef5 commit 47a9f12

File tree

5 files changed

+13
-20
lines changed

5 files changed

+13
-20
lines changed

src/libs/CardUtils.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,12 @@ function getSelectedFeed(lastSelectedFeed: OnyxEntry<CompanyCardFeed>, cardFeeds
352352
return lastSelectedFeed ?? defaultFeed;
353353
}
354354

355+
function getFilteredCardList(list?: WorkspaceCardsList) {
356+
const {cardList, ...cards} = list ?? {};
357+
// We need to filter out cards which already has been assigned
358+
return Object.fromEntries(Object.entries(cardList ?? {}).filter(([cardNumber]) => !Object.values(cards).find((card) => card.lastFourPAN && cardNumber.endsWith(card.lastFourPAN))));
359+
}
360+
355361
export {
356362
isExpensifyCard,
357363
isCorporateCard,
@@ -378,4 +384,5 @@ export {
378384
getCorrectStepForSelectedBank,
379385
getCustomOrFormattedFeedName,
380386
removeExpensifyCardFromCompanyCards,
387+
getFilteredCardList,
381388
};

src/pages/workspace/companyCards/WorkspaceCompanyCardsListHeaderButtons.tsx

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,7 @@ function WorkspaceCompanyCardsListHeaderButtons({policyID, selectedFeed}: Worksp
4747
const policy = PolicyUtils.getPolicy(policyID);
4848

4949
const [list] = useOnyx(`${ONYXKEYS.COLLECTION.WORKSPACE_CARDS_LIST}${workspaceAccountID}_${selectedFeed}`);
50-
const {cardList, ...cards} = list ?? {};
51-
// We need to filter out cards which already has been assigned
52-
const filteredCardList = Object.fromEntries(
53-
Object.entries(cardList ?? {}).filter(([cardNumber]) => !Object.values(cards).find((card) => card.lastFourPAN && cardNumber.endsWith(card.lastFourPAN))),
54-
);
50+
const filteredCardList = CardUtils.getFilteredCardList(list);
5551

5652
const handleAssignCard = () => {
5753
const data: Partial<AssignCardData> = {

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

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import useDebouncedState from '@hooks/useDebouncedState';
1313
import useLocalize from '@hooks/useLocalize';
1414
import useNetwork from '@hooks/useNetwork';
1515
import useThemeStyles from '@hooks/useThemeStyles';
16+
import * as CardUtils from '@libs/CardUtils';
1617
import {formatPhoneNumber} from '@libs/LocalePhoneNumber';
1718
import * as OptionsListUtils from '@libs/OptionsListUtils';
1819
import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils';
@@ -38,11 +39,7 @@ function AssigneeStep({policy}: AssigneeStepProps) {
3839
const workspaceAccountID = PolicyUtils.getWorkspaceAccountID(policy?.id ?? '-1');
3940

4041
const [list] = useOnyx(`${ONYXKEYS.COLLECTION.WORKSPACE_CARDS_LIST}${workspaceAccountID}_${assignCard?.data?.bankName ?? ''}`);
41-
const {cardList, ...cards} = list ?? {};
42-
// We need to filter out cards which already has been assigned
43-
const filteredCardList = Object.fromEntries(
44-
Object.entries(cardList ?? {}).filter(([cardNumber]) => !Object.values(cards).find((card) => card.lastFourPAN && cardNumber.endsWith(card.lastFourPAN))),
45-
);
42+
const filteredCardList = CardUtils.getFilteredCardList(list);
4643

4744
const isEditing = assignCard?.isEditing;
4845

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

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,8 @@ function CardSelectionStep({feed, policyID}: CardSelectionStepProps) {
4545

4646
const isEditing = assignCard?.isEditing;
4747
const assigneeDisplayName = PersonalDetailsUtils.getPersonalDetailByEmail(assignCard?.data?.email ?? '')?.displayName ?? '';
48-
const {cardList, ...cards} = list ?? {};
49-
// We need to filter out cards which already has been assigned
50-
const filteredCardList = Object.fromEntries(
51-
Object.entries(cardList ?? {}).filter(([cardNumber]) => !Object.values(cards).find((card) => card.lastFourPAN && cardNumber.endsWith(card.lastFourPAN))),
52-
);
48+
const filteredCardList = CardUtils.getFilteredCardList(list);
49+
5350
const [cardSelected, setCardSelected] = useState(assignCard?.data?.encryptedCardNumber ?? '');
5451
const [shouldShowError, setShouldShowError] = useState(false);
5552

src/pages/workspace/members/WorkspaceMemberNewCardPage.tsx

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,7 @@ function WorkspaceMemberNewCardPage({route, personalDetails}: WorkspaceMemberNew
5151
const availableCompanyCards = CardUtils.removeExpensifyCardFromCompanyCards(cardFeeds);
5252

5353
const [list] = useOnyx(`${ONYXKEYS.COLLECTION.WORKSPACE_CARDS_LIST}${workspaceAccountID}_${selectedFeed}`);
54-
const {cardList, ...cards} = list ?? {};
55-
// We need to filter out cards which already has been assigned
56-
const filteredCardList = Object.fromEntries(
57-
Object.entries(cardList ?? {}).filter(([cardNumber]) => !Object.values(cards).find((card) => card.lastFourPAN && cardNumber.endsWith(card.lastFourPAN))),
58-
);
54+
const filteredCardList = CardUtils.getFilteredCardList(list);
5955

6056
const handleSubmit = () => {
6157
if (!selectedFeed) {

0 commit comments

Comments
 (0)