diff --git a/src/libs/actions/Task.ts b/src/libs/actions/Task.ts index c4e1e5de81df0..771788cec9832 100644 --- a/src/libs/actions/Task.ts +++ b/src/libs/actions/Task.ts @@ -1056,7 +1056,7 @@ function deleteTask(report: OnyxEntry) { Report.notifyNewAction(report.reportID, currentUserAccountID); if (shouldDeleteTaskReport) { - Navigation.goBack(ROUTES.REPORT_WITH_ID.getRoute(parentReport?.reportID ?? '-1')); + return ROUTES.REPORT_WITH_ID.getRoute(parentReport?.reportID ?? '-1'); } } diff --git a/src/pages/ReportDetailsPage.tsx b/src/pages/ReportDetailsPage.tsx index 99b4427b45e3e..69da0c49ff104 100644 --- a/src/pages/ReportDetailsPage.tsx +++ b/src/pages/ReportDetailsPage.tsx @@ -673,8 +673,7 @@ function ReportDetailsPage({policies, report, session, personalDetails}: ReportD setIsDeleteModalVisible(false); if (caseID === CASES.DEFAULT) { - Task.deleteTask(report); - navigateBackToAfterDelete.current = undefined; + navigateBackToAfterDelete.current = Task.deleteTask(report); return; } @@ -777,6 +776,13 @@ function ReportDetailsPage({policies, report, session, personalDetails}: ReportD onModalHide={() => { // We use isTransactionDeleted to know if the modal hides because the user deletes the transaction. if (!isTransactionDeleted.current) { + if (caseID === CASES.DEFAULT) { + if (navigateBackToAfterDelete.current) { + Navigation.goBack(navigateBackToAfterDelete.current); + } else { + Navigation.dismissModal(); + } + } return; }