From f401f4fb2603eb41ea47c73d0a096af8c4920e29 Mon Sep 17 00:00:00 2001 From: dominictb Date: Fri, 26 Jul 2024 16:43:21 +0700 Subject: [PATCH] fix: dismiss modal after deleting task --- src/libs/actions/Task.ts | 2 +- src/pages/ReportDetailsPage.tsx | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) 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; }