Skip to content

Commit c4677c2

Browse files
authored
Merge pull request Expensify#76505 from callstack-internal/fix/76493-wallet-double-action-on-row-card-click
[CP staging] Do not trigger both actions on card row click
2 parents cb1fbb1 + b5a1720 commit c4677c2

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

src/pages/settings/Wallet/PaymentMethodList.tsx

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,8 @@ function PaymentMethodList({
260260
continue;
261261
}
262262

263+
const pressHandler = onPress as CardPressHandler;
264+
263265
// The card shouldn't be grouped or it's domain group doesn't exist yet
264266
const cardDescription =
265267
card?.nameValuePairs?.issuedBy && card?.lastFourPAN
@@ -271,6 +273,18 @@ function PaymentMethodList({
271273
title: isTravelCard ? translate('cardPage.expensifyTravelCard') : card?.nameValuePairs?.cardTitle || card.bank,
272274
description: isTravelCard ? translate('cardPage.expensifyTravelCard') : cardDescription,
273275
onPress: () => Navigation.navigate(ROUTES.SETTINGS_WALLET_DOMAIN_CARD.getRoute(String(card.cardID))),
276+
onThreeDotsMenuPress: (e: GestureResponderEvent | KeyboardEvent | undefined) =>
277+
pressHandler({
278+
event: e,
279+
cardData: card,
280+
icon: {
281+
icon,
282+
iconStyles: [styles.cardIcon],
283+
iconWidth: variables.cardIconWidth,
284+
iconHeight: variables.cardIconHeight,
285+
},
286+
cardID: card.cardID,
287+
}),
274288
cardID: card.cardID,
275289
isGroupedCardDomain: !isAdminIssuedVirtualCard && !isTravelCard,
276290
shouldShowRightIcon: true,

src/pages/settings/Wallet/PaymentMethodListItem.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ function PaymentMethodListItem({item, shouldShowDefaultBadge, threeDotsMenuItems
9494
const threeDotsMenuRef = useRef<{hidePopoverMenu: () => void; isPopupMenuVisible: boolean; onThreeDotsPress: () => void}>(null);
9595

9696
const handleRowPress = (e: GestureResponderEvent | KeyboardEvent | undefined) => {
97-
if (isAccountInSetupState(item) || !threeDotsMenuItems) {
97+
if (isAccountInSetupState(item) || !threeDotsMenuItems || (item.cardID && item.onThreeDotsMenuPress)) {
9898
item.onPress?.(e);
9999
} else if (threeDotsMenuRef.current) {
100100
threeDotsMenuRef.current.onThreeDotsPress();

0 commit comments

Comments
 (0)