Skip to content

Commit

Permalink
Merge pull request #30112 from Expensify/vit-30079followup
Browse files Browse the repository at this point in the history
Skip rendering IOU pay action for non-send money flow if the user needs to enable wallet or add bank account
  • Loading branch information
techievivek authored Oct 23, 2023
2 parents 7b4e898 + d182a4f commit f42a195
Showing 1 changed file with 16 additions and 4 deletions.
20 changes: 16 additions & 4 deletions src/pages/home/report/ReportActionItem.js
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,10 @@ function ReportActionItem(props) {
const isReportActionLinked = props.linkedReportActionID === props.action.reportActionID;

const highlightedBackgroundColorIfNeeded = useMemo(() => (isReportActionLinked ? StyleUtils.getBackgroundColorStyle(themeColors.highlightBG) : {}), [isReportActionLinked]);
const originalMessage = lodashGet(props.action, 'originalMessage', {});

// IOUDetails only exists when we are sending money
const isSendingMoney = originalMessage.type === CONST.IOU.REPORT_ACTION_TYPE.PAY && _.has(originalMessage, 'IOUDetails');

// When active action changes, we need to update the `isContextMenuActive` state
const isActiveReportActionForMenu = ReportActionContextMenu.isActiveReportAction(props.action.reportActionID);
Expand Down Expand Up @@ -301,10 +305,6 @@ function ReportActionItem(props) {
*/
const renderItemContent = (hovered = false, isWhisper = false, hasErrors = false) => {
let children;
const originalMessage = lodashGet(props.action, 'originalMessage', {});

// IOUDetails only exists when we are sending money
const isSendingMoney = originalMessage.type === CONST.IOU.REPORT_ACTION_TYPE.PAY && _.has(originalMessage, 'IOUDetails');

// Show the MoneyRequestPreview for when request was created, bill was split or money was sent
if (
Expand Down Expand Up @@ -623,6 +623,18 @@ function ReportActionItem(props) {
);
}

// For the `pay` IOU action on non-send money flow, we don't want to render anything if `isWaitingOnBankAccount` is true
// Otherwise, we will see two system messages informing the payee needs to add a bank account or wallet
if (
props.action.actionName === CONST.REPORT.ACTIONS.TYPE.IOU &&
lodashGet(props.report, 'isWaitingOnBankAccount', false) &&
originalMessage &&
originalMessage.type === CONST.IOU.REPORT_ACTION_TYPE.PAY &&
!isSendingMoney
) {
return null;
}

const hasErrors = !_.isEmpty(props.action.errors);
const whisperedToAccountIDs = props.action.whisperedToAccountIDs || [];
const isWhisper = whisperedToAccountIDs.length > 0;
Expand Down

0 comments on commit f42a195

Please sign in to comment.