diff --git a/Mobile-Expensify b/Mobile-Expensify index 3774f3462625f..30ae4386db5fc 160000 --- a/Mobile-Expensify +++ b/Mobile-Expensify @@ -1 +1 @@ -Subproject commit 3774f3462625f841941e0f9291486e24ef0e9f2c +Subproject commit 30ae4386db5fc9c506bc157c311ec96ab8af7191 diff --git a/android/app/build.gradle b/android/app/build.gradle index e9f8b831d2483..72f663397b390 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -114,8 +114,8 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion multiDexEnabled rootProject.ext.multiDexEnabled - versionCode 1009017205 - versionName "9.1.72-5" + versionCode 1009017206 + versionName "9.1.72-6" // Supported language variants must be declared here to avoid from being removed during the compilation. // This also helps us to not include unnecessary language variants in the APK. resConfigs "en", "es" diff --git a/ios/NewExpensify/Info.plist b/ios/NewExpensify/Info.plist index 778d7e9de0e8b..037fe852bbf4a 100644 --- a/ios/NewExpensify/Info.plist +++ b/ios/NewExpensify/Info.plist @@ -44,7 +44,7 @@ CFBundleVersion - 9.1.72.5 + 9.1.72.6 FullStory OrgId diff --git a/ios/NotificationServiceExtension/Info.plist b/ios/NotificationServiceExtension/Info.plist index 8c3e2b81cea75..81746cff865fb 100644 --- a/ios/NotificationServiceExtension/Info.plist +++ b/ios/NotificationServiceExtension/Info.plist @@ -13,7 +13,7 @@ CFBundleShortVersionString 9.1.72 CFBundleVersion - 9.1.72.5 + 9.1.72.6 NSExtension NSExtensionPointIdentifier diff --git a/ios/ShareViewController/Info.plist b/ios/ShareViewController/Info.plist index c093a2cb763b8..7016c8b5fa716 100644 --- a/ios/ShareViewController/Info.plist +++ b/ios/ShareViewController/Info.plist @@ -13,7 +13,7 @@ CFBundleShortVersionString 9.1.72 CFBundleVersion - 9.1.72.5 + 9.1.72.6 NSExtension NSExtensionAttributes diff --git a/package-lock.json b/package-lock.json index 97a5a8f87fe15..54251513b3132 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "new.expensify", - "version": "9.1.72-5", + "version": "9.1.72-6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "new.expensify", - "version": "9.1.72-5", + "version": "9.1.72-6", "hasInstallScript": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index 6d5a80354f582..1a8c2ba40ad0d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "new.expensify", - "version": "9.1.72-5", + "version": "9.1.72-6", "author": "Expensify, Inc.", "homepage": "https://new.expensify.com", "description": "New Expensify is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.", diff --git a/src/CONST/index.ts b/src/CONST/index.ts index 34333cfd9d577..e3467bbf663c7 100755 --- a/src/CONST/index.ts +++ b/src/CONST/index.ts @@ -6915,9 +6915,9 @@ const CONST = { }, LAST_PAYMENT_METHOD: { LAST_USED: 'lastUsed', - IOU: 'iou', - EXPENSE: 'expense', - INVOICE: 'invoice', + IOU: 'Iou', + EXPENSE: 'Expense', + INVOICE: 'Invoice', }, SKIPPABLE_COLLECTION_MEMBER_IDS: [String(DEFAULT_NUMBER_ID), '-1', 'undefined', 'null', 'NaN'] as string[], SETUP_SPECIALIST_LOGIN: 'Setup Specialist', diff --git a/src/components/Button/index.tsx b/src/components/Button/index.tsx index b7a62c7aa0631..d68eeebcaef07 100644 --- a/src/components/Button/index.tsx +++ b/src/components/Button/index.tsx @@ -310,19 +310,7 @@ function Button( const textComponent = secondLineText ? ( {primaryText} - - {secondLineText} - + {secondLineText} ) : ( primaryText diff --git a/src/components/ButtonWithDropdownMenu/index.tsx b/src/components/ButtonWithDropdownMenu/index.tsx index 1b1af6c915081..dd4551fcd679a 100644 --- a/src/components/ButtonWithDropdownMenu/index.tsx +++ b/src/components/ButtonWithDropdownMenu/index.tsx @@ -50,8 +50,6 @@ function ButtonWithDropdownMenu({ testID, secondLineText = '', icon, - shouldPopoverUseScrollView = false, - containerStyles, shouldUseModalPaddingStyle = true, }: ButtonWithDropdownMenuProps) { const theme = useTheme(); @@ -75,10 +73,6 @@ function ButtonWithDropdownMenu({ const isButtonSizeLarge = buttonSize === CONST.DROPDOWN_BUTTON_SIZE.LARGE; const nullCheckRef = (ref: RefObject) => ref ?? null; - useEffect(() => { - setSelectedItemIndex(defaultSelectedIndex); - }, [defaultSelectedIndex]); - useEffect(() => { if (!dropdownAnchor.current) { return; @@ -238,27 +232,18 @@ function ButtonWithDropdownMenu({ shouldShowSelectedItemCheck={shouldShowSelectedItemCheck} // eslint-disable-next-line react-compiler/react-compiler anchorRef={nullCheckRef(dropdownAnchor)} + withoutOverlay + shouldUseScrollView scrollContainerStyle={!shouldUseModalPaddingStyle && isSmallScreenWidth && styles.pv4} - anchorAlignment={anchorAlignment} shouldUseModalPaddingStyle={shouldUseModalPaddingStyle} + anchorAlignment={anchorAlignment} headerText={menuHeaderText} - shouldUseScrollView={shouldPopoverUseScrollView} - containerStyles={containerStyles} menuItems={options.map((item, index) => ({ ...item, onSelected: item.onSelected - ? () => { - item.onSelected?.(); - if (item.shouldUpdateSelectedIndex) { - setSelectedItemIndex(index); - } - } + ? () => item.onSelected?.() : () => { onOptionSelected?.(item); - if (!item.shouldUpdateSelectedIndex && typeof item.shouldUpdateSelectedIndex === 'boolean') { - return; - } - setSelectedItemIndex(index); }, shouldCallAfterModalHide: true, diff --git a/src/components/ButtonWithDropdownMenu/types.ts b/src/components/ButtonWithDropdownMenu/types.ts index 82806a4d80748..395d445e100f0 100644 --- a/src/components/ButtonWithDropdownMenu/types.ts +++ b/src/components/ButtonWithDropdownMenu/types.ts @@ -40,8 +40,6 @@ type DropdownOption = { descriptionTextStyle?: StyleProp; wrapperStyle?: StyleProp; displayInDefaultIconColor?: boolean; - /** Whether the selected index should be updated when the option is selected even if we have onSelected callback */ - shouldUpdateSelectedIndex?: boolean; subMenuItems?: PopoverMenuItem[]; backButtonText?: string; avatarSize?: ValueOf; @@ -142,12 +140,6 @@ type ButtonWithDropdownMenuProps = { /** Icon for main button */ icon?: IconAsset; - /** Whether the popover content should be scrollable */ - shouldPopoverUseScrollView?: boolean; - - /** Container style to be applied to the popover of the dropdown menu */ - containerStyles?: StyleProp; - /** Whether to use modal padding style for the popover menu */ shouldUseModalPaddingStyle?: boolean; }; diff --git a/src/components/Icon/BankIcons/index.native.ts b/src/components/Icon/BankIcons/index.native.ts index 246eebb7357ca..aaf8456b27715 100644 --- a/src/components/Icon/BankIcons/index.native.ts +++ b/src/components/Icon/BankIcons/index.native.ts @@ -1,7 +1,7 @@ +import GenericBank from '@assets/images/bank-icons/generic-bank-account.svg'; import GenericBankCard from '@assets/images/cardicons/generic-bank-card.svg'; import type {BankIconParams} from '@components/Icon/BankIconsUtils'; import {getBankIconAsset, getBankNameKey} from '@components/Icon/BankIconsUtils'; -import {Bank} from '@components/Icon/Expensicons'; import variables from '@styles/variables'; import CONST from '@src/CONST'; import type {BankIcon} from '@src/types/onyx/Bank'; @@ -11,7 +11,7 @@ import type {BankIcon} from '@src/types/onyx/Bank'; */ export default function getBankIcon({styles, bankName, isCard = false}: BankIconParams): BankIcon { const bankIcon: BankIcon = { - icon: isCard ? GenericBankCard : Bank, + icon: isCard ? GenericBankCard : GenericBank, }; if (bankName) { const bankNameKey = getBankNameKey(bankName.toLowerCase()); diff --git a/src/components/KYCWall/BaseKYCWall.tsx b/src/components/KYCWall/BaseKYCWall.tsx index efe19d75109ec..d2597b93746d5 100644 --- a/src/components/KYCWall/BaseKYCWall.tsx +++ b/src/components/KYCWall/BaseKYCWall.tsx @@ -5,20 +5,18 @@ import type {EmitterSubscription, GestureResponderEvent, View} from 'react-nativ import AddPaymentMethodMenu from '@components/AddPaymentMethodMenu'; import useOnyx from '@hooks/useOnyx'; import {openPersonalBankAccountSetupView} from '@libs/actions/BankAccounts'; -import {completePaymentOnboarding, savePreferredPaymentMethod} from '@libs/actions/IOU'; -import {moveIOUReportToPolicy, moveIOUReportToPolicyAndInviteSubmitter} from '@libs/actions/Report'; +import {completePaymentOnboarding} from '@libs/actions/IOU'; import getClickedTargetLocation from '@libs/getClickedTargetLocation'; import Log from '@libs/Log'; import Navigation from '@libs/Navigation/Navigation'; import {hasExpensifyPaymentMethod} from '@libs/PaymentUtils'; -import {getPolicyExpenseChat, isExpenseReport as isExpenseReportReportUtils, isIOUReport} from '@libs/ReportUtils'; +import {isExpenseReport as isExpenseReportReportUtils, isIOUReport} from '@libs/ReportUtils'; import {kycWallRef} from '@userActions/PaymentMethods'; import {createWorkspaceFromIOUPayment} from '@userActions/Policy/Policy'; import {setKYCWallSource} from '@userActions/Wallet'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; import ROUTES from '@src/ROUTES'; -import type {Policy} from '@src/types/onyx'; import type {PaymentMethodType} from '@src/types/onyx/OriginalMessage'; import viewRef from '@src/types/utils/viewRef'; import type {AnchorPosition, DomRect, KYCWallProps, PaymentMethod} from './types'; @@ -102,41 +100,16 @@ function KYCWall({ }, [getAnchorPosition]); const selectPaymentMethod = useCallback( - (paymentMethod?: PaymentMethod, policy?: Policy) => { - if (paymentMethod) { - onSelectPaymentMethod(paymentMethod); - } + (paymentMethod: PaymentMethod) => { + onSelectPaymentMethod(paymentMethod); if (paymentMethod === CONST.PAYMENT_METHODS.PERSONAL_BANK_ACCOUNT) { openPersonalBankAccountSetupView(); } else if (paymentMethod === CONST.PAYMENT_METHODS.DEBIT_CARD) { Navigation.navigate(addDebitCardRoute ?? ROUTES.HOME); - } else if (paymentMethod === CONST.PAYMENT_METHODS.BUSINESS_BANK_ACCOUNT || policy) { + } else if (paymentMethod === CONST.PAYMENT_METHODS.BUSINESS_BANK_ACCOUNT) { if (iouReport && isIOUReport(iouReport)) { - if (policy) { - const policyExpenseChatReportID = getPolicyExpenseChat(iouReport.ownerAccountID, policy.id)?.reportID; - if (!policyExpenseChatReportID) { - const {policyExpenseChatReportID: newPolicyExpenseChatReportID} = moveIOUReportToPolicyAndInviteSubmitter(iouReport.reportID, policy.id) ?? {}; - savePreferredPaymentMethod(iouReport.policyID, policy.id, CONST.LAST_PAYMENT_METHOD.IOU); - Navigation.navigate(ROUTES.REPORT_WITH_ID.getRoute(newPolicyExpenseChatReportID)); - } else { - moveIOUReportToPolicy(iouReport.reportID, policy.id, true); - savePreferredPaymentMethod(iouReport.policyID, policy.id, CONST.LAST_PAYMENT_METHOD.IOU); - Navigation.navigate(ROUTES.REPORT_WITH_ID.getRoute(policyExpenseChatReportID)); - } - - if (policy?.achAccount) { - return; - } - // Navigate to the bank account set up flow for this specific policy - Navigation.navigate(ROUTES.BANK_ACCOUNT_WITH_STEP_TO_OPEN.getRoute(policy.id)); - return; - } - const {policyID, workspaceChatReportID, reportPreviewReportActionID, adminsChatReportID} = createWorkspaceFromIOUPayment(iouReport) ?? {}; - if (policyID) { - savePreferredPaymentMethod(iouReport.policyID, policyID, CONST.LAST_PAYMENT_METHOD.IOU); - } completePaymentOnboarding(CONST.PAYMENT_SELECTED.BBA, adminsChatReportID, policyID); if (workspaceChatReportID) { Navigation.navigate(ROUTES.REPORT_WITH_ID.getRoute(workspaceChatReportID, reportPreviewReportActionID)); @@ -144,6 +117,7 @@ function KYCWall({ // Navigate to the bank account set up flow for this specific policy Navigation.navigate(ROUTES.BANK_ACCOUNT_WITH_STEP_TO_OPEN.getRoute(policyID)); + return; } Navigation.navigate(addBankAccountRoute); @@ -159,7 +133,7 @@ function KYCWall({ * */ const continueAction = useCallback( - (event?: GestureResponderEvent | KeyboardEvent, iouPaymentType?: PaymentMethodType, paymentMethod?: PaymentMethod, policy?: Policy) => { + (event?: GestureResponderEvent | KeyboardEvent, iouPaymentType?: PaymentMethodType) => { const currentSource = walletTerms?.source ?? source; /** @@ -196,13 +170,6 @@ function KYCWall({ const clickedElementLocation = getClickedTargetLocation(targetElement as HTMLDivElement); const position = getAnchorPosition(clickedElementLocation); - // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing - if (paymentMethod || policy) { - setShouldShowAddPaymentMenu(false); - selectPaymentMethod(paymentMethod, policy); - return; - } - setPositionAddPaymentMenu(position); setShouldShowAddPaymentMenu(true); diff --git a/src/components/KYCWall/types.ts b/src/components/KYCWall/types.ts index 71c557a859e61..5214e5ea15b95 100644 --- a/src/components/KYCWall/types.ts +++ b/src/components/KYCWall/types.ts @@ -4,7 +4,7 @@ import type {OnyxEntry} from 'react-native-onyx'; import type {ValueOf} from 'type-fest'; import type CONST from '@src/CONST'; import type {Route} from '@src/ROUTES'; -import type {Policy, Report} from '@src/types/onyx'; +import type {Report} from '@src/types/onyx'; import type {PaymentMethodType} from '@src/types/onyx/OriginalMessage'; import type AnchorAlignment from '@src/types/utils/AnchorAlignment'; @@ -63,9 +63,6 @@ type KYCWallProps = { /** Children to build the KYC */ children: (continueAction: (event: GestureResponderEvent | KeyboardEvent | undefined, method?: PaymentMethodType) => void, anchorRef: RefObject) => void; - - /** The policy used for payment */ - policy?: Policy; }; export type {AnchorPosition, KYCWallProps, PaymentMethod, DomRect, PaymentMethodType, Source}; diff --git a/src/components/MoneyReportHeader.tsx b/src/components/MoneyReportHeader.tsx index 7d66bc2486b47..af3e85941a0fc 100644 --- a/src/components/MoneyReportHeader.tsx +++ b/src/components/MoneyReportHeader.tsx @@ -317,7 +317,7 @@ function MoneyReportHeader({ payInvoice(type, chatReport, moneyRequestReport, payAsBusiness, methodID, paymentMethod); } else { startAnimation(); - payMoneyRequest(type, chatReport, moneyRequestReport, undefined, true); + payMoneyRequest(type, chatReport, moneyRequestReport, true); } }, [chatReport, isAnyTransactionOnHold, isDelegateAccessRestricted, showDelegateNoAccessModal, isInvoiceReport, moneyRequestReport, startAnimation], @@ -583,7 +583,6 @@ function MoneyReportHeader({ isPaidAnimationRunning={isPaidAnimationRunning} isApprovedAnimationRunning={isApprovedAnimationRunning} onAnimationFinish={stopAnimation} - formattedAmount={totalAmount} canIOUBePaid onlyShowPayElsewhere={onlyShowPayElsewhere} currency={moneyRequestReport?.currency} diff --git a/src/components/PopoverMenu.tsx b/src/components/PopoverMenu.tsx index e4f5b0bb2ecb3..b5e7eff18aee0 100644 --- a/src/components/PopoverMenu.tsx +++ b/src/components/PopoverMenu.tsx @@ -312,10 +312,13 @@ function PopoverMenu({ } setFocusedIndex(menuIndex); }} - wrapperStyle={[ - StyleUtils.getItemBackgroundColorStyle(!!item.isSelected, focusedIndex === menuIndex, item.disabled ?? false, theme.activeComponentBG, theme.hoverComponentBG), - shouldUseScrollView && StyleUtils.getOptionMargin(menuIndex, currentMenuItems.length - 1), - ]} + wrapperStyle={StyleUtils.getItemBackgroundColorStyle( + !!item.isSelected, + focusedIndex === menuIndex, + item.disabled ?? false, + theme.activeComponentBG, + theme.hoverComponentBG, + )} shouldRemoveHoverBackground={item.isSelected} titleStyle={StyleSheet.flatten([styles.flex1, item.titleStyle])} // Spread other props dynamically diff --git a/src/components/ProcessMoneyReportHoldMenu.tsx b/src/components/ProcessMoneyReportHoldMenu.tsx index 0a155fa4c41bf..c803de7ea38e6 100644 --- a/src/components/ProcessMoneyReportHoldMenu.tsx +++ b/src/components/ProcessMoneyReportHoldMenu.tsx @@ -77,7 +77,7 @@ function ProcessMoneyReportHoldMenu({ if (startAnimation) { startAnimation(); } - payMoneyRequest(paymentType, chatReport, moneyRequestReport, undefined, full); + payMoneyRequest(paymentType, chatReport, moneyRequestReport, full); } onClose(); }; diff --git a/src/components/Search/index.tsx b/src/components/Search/index.tsx index 0ea52920e6cb9..ad47dbc879297 100644 --- a/src/components/Search/index.tsx +++ b/src/components/Search/index.tsx @@ -79,22 +79,15 @@ function mapTransactionItemToSelectedEntry(item: TransactionListItemType, report ]; } -function mapToTransactionItemWithAdditionalInfo( - item: TransactionListItemType, - selectedTransactions: SelectedTransactions, - canSelectMultiple: boolean, - shouldAnimateInHighlight: boolean, - hash?: number, -) { - return {...item, shouldAnimateInHighlight, isSelected: selectedTransactions[item.keyForList]?.isSelected && canSelectMultiple, hash}; +function mapToTransactionItemWithAdditionalInfo(item: TransactionListItemType, selectedTransactions: SelectedTransactions, canSelectMultiple: boolean, shouldAnimateInHighlight: boolean) { + return {...item, shouldAnimateInHighlight, isSelected: selectedTransactions[item.keyForList]?.isSelected && canSelectMultiple}; } -function mapToItemWithAdditionalInfo(item: SearchListItem, selectedTransactions: SelectedTransactions, canSelectMultiple: boolean, shouldAnimateInHighlight: boolean, hash?: number) { +function mapToItemWithAdditionalInfo(item: SearchListItem, selectedTransactions: SelectedTransactions, canSelectMultiple: boolean, shouldAnimateInHighlight: boolean) { if (isTaskListItemType(item)) { return { ...item, shouldAnimateInHighlight, - hash, }; } @@ -102,22 +95,18 @@ function mapToItemWithAdditionalInfo(item: SearchListItem, selectedTransactions: return { ...item, shouldAnimateInHighlight, - hash, }; } return isTransactionListItemType(item) - ? mapToTransactionItemWithAdditionalInfo(item, selectedTransactions, canSelectMultiple, shouldAnimateInHighlight, hash) + ? mapToTransactionItemWithAdditionalInfo(item, selectedTransactions, canSelectMultiple, shouldAnimateInHighlight) : { ...item, shouldAnimateInHighlight, - transactions: item.transactions?.map((transaction) => - mapToTransactionItemWithAdditionalInfo(transaction, selectedTransactions, canSelectMultiple, shouldAnimateInHighlight, hash), - ), + transactions: item.transactions?.map((transaction) => mapToTransactionItemWithAdditionalInfo(transaction, selectedTransactions, canSelectMultiple, shouldAnimateInHighlight)), isSelected: item?.transactions?.length > 0 && item.transactions?.filter((t) => !isTransactionPendingDelete(t)).every((transaction) => selectedTransactions[transaction.keyForList]?.isSelected && canSelectMultiple), - hash, }; } @@ -516,7 +505,7 @@ function Search({queryJSON, currentSearchResults, lastNonEmptySearchResults, onS // Determine if either the base key or any transaction key matches const shouldAnimateInHighlight = isBaseKeyMatch || isAnyTransactionMatch; - return mapToItemWithAdditionalInfo(item, selectedTransactions, canSelectMultiple, shouldAnimateInHighlight, hash); + return mapToItemWithAdditionalInfo(item, selectedTransactions, canSelectMultiple, shouldAnimateInHighlight); }); const hasErrors = Object.keys(searchResults?.errors ?? {}).length > 0 && !isOffline; diff --git a/src/components/Search/types.ts b/src/components/Search/types.ts index 6b514de95920d..221ce73b6c5b9 100644 --- a/src/components/Search/types.ts +++ b/src/components/Search/types.ts @@ -1,5 +1,4 @@ import type {ValueOf} from 'type-fest'; -import type {PaymentMethodType} from '@components/KYCWall/types'; import type {ReportActionListItemType, TaskListItemType, TransactionGroupListItemType, TransactionListItemType} from '@components/SelectionList/types'; import type CONST from '@src/CONST'; import type {SearchDataTypes} from '@src/types/onyx/SearchResults'; @@ -52,7 +51,7 @@ type SelectedReports = { type PaymentData = { reportID: string; amount: number; - paymentType: PaymentMethodType; + paymentType: ValueOf; }; type SortOrder = ValueOf; diff --git a/src/components/SelectionList/Search/ActionCell.tsx b/src/components/SelectionList/Search/ActionCell.tsx index 30d94f2d87088..5dd54e8e52b79 100644 --- a/src/components/SelectionList/Search/ActionCell.tsx +++ b/src/components/SelectionList/Search/ActionCell.tsx @@ -1,23 +1,16 @@ -import React, {useCallback} from 'react'; +import React from 'react'; import {View} from 'react-native'; -import {useOnyx} from 'react-native-onyx'; import Badge from '@components/Badge'; import Button from '@components/Button'; import * as Expensicons from '@components/Icon/Expensicons'; -import type {PaymentMethodType} from '@components/KYCWall/types'; -import SettlementButton from '@components/SettlementButton'; import useLocalize from '@hooks/useLocalize'; import useNetwork from '@hooks/useNetwork'; import useStyleUtils from '@hooks/useStyleUtils'; import useTheme from '@hooks/useTheme'; import useThemeStyles from '@hooks/useThemeStyles'; -import {payMoneyRequestOnSearch} from '@libs/actions/Search'; -import {getBankAccountRoute} from '@libs/ReportUtils'; import variables from '@styles/variables'; import CONST from '@src/CONST'; import type {TranslationPaths} from '@src/languages/types'; -import ONYXKEYS from '@src/ONYXKEYS'; -import ROUTES from '@src/ROUTES'; import type {SearchTransactionAction} from '@src/types/onyx/SearchResults'; const actionTranslationsMap: Record = { @@ -38,10 +31,6 @@ type ActionCellProps = { isChildListItem?: boolean; parentAction?: string; isLoading?: boolean; - policyID?: string; - reportID?: string; - hash?: number; - amount?: number; }; function ActionCell({ @@ -52,10 +41,6 @@ function ActionCell({ isChildListItem = false, parentAction = '', isLoading = false, - policyID = '', - reportID = '', - hash, - amount, }: ActionCellProps) { const {translate} = useLocalize(); const theme = useTheme(); @@ -63,22 +48,8 @@ function ActionCell({ const StyleUtils = useStyleUtils(); const {isOffline} = useNetwork(); - const [iouReport] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT}${reportID}`, {canBeMissing: true}); const text = isChildListItem ? translate(actionTranslationsMap[CONST.SEARCH.ACTION_TYPES.VIEW]) : translate(actionTranslationsMap[action]); const shouldUseViewAction = action === CONST.SEARCH.ACTION_TYPES.VIEW || (parentAction === CONST.SEARCH.ACTION_TYPES.PAID && action === CONST.SEARCH.ACTION_TYPES.PAID); - const [chatReport] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT}${iouReport?.chatReportID}`, {canBeMissing: true}); - const bankAccountRoute = getBankAccountRoute(chatReport); - - const confirmPayment = useCallback( - (type: PaymentMethodType | undefined) => { - if (!type || !reportID || !hash || !amount) { - return; - } - - payMoneyRequestOnSearch(hash, [{amount, paymentType: type, reportID}]); - }, - [hash, amount, reportID], - ); if (!isChildListItem && ((parentAction !== CONST.SEARCH.ACTION_TYPES.PAID && action === CONST.SEARCH.ACTION_TYPES.PAID) || action === CONST.SEARCH.ACTION_TYPES.DONE)) { return ( @@ -123,23 +94,6 @@ function ActionCell({ ) : null; } - if (action === CONST.SEARCH.ACTION_TYPES.PAY) { - return ( - - ); - } - return (