diff --git a/src/components/ReportActionItem/MoneyRequestReportPreview/MoneyRequestReportPreviewContent.tsx b/src/components/ReportActionItem/MoneyRequestReportPreview/MoneyRequestReportPreviewContent.tsx index a83bc51b082b..ecf5ef25cf34 100644 --- a/src/components/ReportActionItem/MoneyRequestReportPreview/MoneyRequestReportPreviewContent.tsx +++ b/src/components/ReportActionItem/MoneyRequestReportPreview/MoneyRequestReportPreviewContent.tsx @@ -448,8 +448,12 @@ function MoneyRequestReportPreviewContent({ }, [iouReportID]); const reportPreviewAction = useMemo(() => { + // It's necessary to allow payment animation to finish before button is changed + if (isPaidAnimationRunning) { + return CONST.REPORT.REPORT_PREVIEW_ACTIONS.PAY; + } return getReportPreviewAction(violations, iouReport, policy, transactions); - }, [iouReport, policy, violations, transactions]); + }, [isPaidAnimationRunning, violations, iouReport, policy, transactions]); const reportPreviewActions = { [CONST.REPORT.REPORT_PREVIEW_ACTIONS.SUBMIT]: ( @@ -675,7 +679,8 @@ function MoneyRequestReportPreviewContent({ ))} )} - {reportPreviewActions[reportPreviewAction]} + {/* height is needed to avoid flickering on animation */} + {reportPreviewActions[reportPreviewAction]} diff --git a/src/components/ReportActionItem/ReportPreview.tsx b/src/components/ReportActionItem/ReportPreview.tsx index cc5b3e522961..72756135e4a0 100644 --- a/src/components/ReportActionItem/ReportPreview.tsx +++ b/src/components/ReportActionItem/ReportPreview.tsx @@ -508,8 +508,12 @@ function ReportPreview({ }, [iouReportID]); const reportPreviewAction = useMemo(() => { + // It's necessary to allow payment animation to finish before button is changed + if (isPaidAnimationRunning) { + return CONST.REPORT.REPORT_PREVIEW_ACTIONS.PAY; + } return getReportPreviewAction(violations, iouReport, policy, transactions); - }, [iouReport, policy, violations, transactions]); + }, [isPaidAnimationRunning, violations, iouReport, policy, transactions]); const reportPreviewActions = { [CONST.REPORT.REPORT_PREVIEW_ACTIONS.SUBMIT]: ( @@ -681,7 +685,8 @@ function ReportPreview({ )} - {reportPreviewActions[reportPreviewAction]} + {/* height is needed to avoid flickering on animation */} + {reportPreviewActions[reportPreviewAction]}