From fd2925a5ade3aef075ebd46247c76353070f9081 Mon Sep 17 00:00:00 2001 From: FitseTLT Date: Tue, 4 Feb 2025 01:06:36 +0300 Subject: [PATCH 1/2] fix navigation back from private notes pages --- src/libs/ReportUtils.ts | 8 ++++++-- src/pages/PrivateNotes/PrivateNotesEditPage.tsx | 2 +- src/pages/PrivateNotes/PrivateNotesListPage.tsx | 3 ++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/libs/ReportUtils.ts b/src/libs/ReportUtils.ts index f91df123c2a1..6036fdf8917f 100644 --- a/src/libs/ReportUtils.ts +++ b/src/libs/ReportUtils.ts @@ -4456,7 +4456,7 @@ function navigateToDetailsPage(report: OnyxEntry, backTo?: string) { /** * Go back to the details page of a given report */ -function goBackToDetailsPage(report: OnyxEntry, backTo?: string) { +function goBackToDetailsPage(report: OnyxEntry, backTo?: string, shouldGoBackToDetailsPage = false) { const isOneOnOneChatReport = isOneOnOneChat(report); const participantAccountID = getParticipantsAccountIDsForDisplay(report); @@ -4466,7 +4466,11 @@ function goBackToDetailsPage(report: OnyxEntry, backTo?: string) { } if (report?.reportID) { - Navigation.goBack(ROUTES.REPORT_SETTINGS.getRoute(report.reportID, backTo)); + if (shouldGoBackToDetailsPage) { + Navigation.goBack(ROUTES.REPORT_WITH_ID_DETAILS.getRoute(report.reportID, backTo)); + } else { + Navigation.goBack(ROUTES.REPORT_SETTINGS.getRoute(report.reportID, backTo)); + } } else { Log.warn('Missing reportID during navigation back to the details page'); } diff --git a/src/pages/PrivateNotes/PrivateNotesEditPage.tsx b/src/pages/PrivateNotes/PrivateNotesEditPage.tsx index deab122e3006..2eb416932644 100644 --- a/src/pages/PrivateNotes/PrivateNotesEditPage.tsx +++ b/src/pages/PrivateNotes/PrivateNotesEditPage.tsx @@ -94,7 +94,7 @@ function PrivateNotesEditPage({route, report, accountID}: PrivateNotesEditPagePr Keyboard.dismiss(); if (!Object.values({...report.privateNotes, [route.params.accountID]: {note: editedNote}}).some((item) => item.note)) { - ReportUtils.navigateToDetailsPage(report, backTo); + ReportUtils.goBackToDetailsPage(report, backTo, true); } else { Navigation.setNavigationActionToMicrotaskQueue(() => Navigation.goBack(ROUTES.PRIVATE_NOTES_LIST.getRoute(report.reportID, backTo))); } diff --git a/src/pages/PrivateNotes/PrivateNotesListPage.tsx b/src/pages/PrivateNotes/PrivateNotesListPage.tsx index d2cdda140bb8..2ac33c89d174 100644 --- a/src/pages/PrivateNotes/PrivateNotesListPage.tsx +++ b/src/pages/PrivateNotes/PrivateNotesListPage.tsx @@ -13,6 +13,7 @@ import useThemeStyles from '@hooks/useThemeStyles'; import Navigation from '@libs/Navigation/Navigation'; import type {PlatformStackRouteProp} from '@libs/Navigation/PlatformStackNavigation/types'; import type {PrivateNotesNavigatorParamList} from '@libs/Navigation/types'; +import {goBackToDetailsPage} from '@libs/ReportUtils'; import type {WithReportAndPrivateNotesOrNotFoundProps} from '@pages/home/report/withReportAndPrivateNotesOrNotFound'; import withReportAndPrivateNotesOrNotFound from '@pages/home/report/withReportAndPrivateNotesOrNotFound'; import CONST from '@src/CONST'; @@ -94,7 +95,7 @@ function PrivateNotesListPage({report, accountID: sessionAccountID}: PrivateNote Navigation.goBack(ROUTES.REPORT_WITH_ID_DETAILS.getRoute(report.reportID, backTo))} + onBackButtonPress={() => goBackToDetailsPage(report, route.params.backTo, true)} onCloseButtonPress={() => Navigation.dismissModal()} /> Date: Tue, 4 Feb 2025 01:30:01 +0300 Subject: [PATCH 2/2] revert change --- src/pages/PrivateNotes/PrivateNotesEditPage.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/PrivateNotes/PrivateNotesEditPage.tsx b/src/pages/PrivateNotes/PrivateNotesEditPage.tsx index 2eb416932644..deab122e3006 100644 --- a/src/pages/PrivateNotes/PrivateNotesEditPage.tsx +++ b/src/pages/PrivateNotes/PrivateNotesEditPage.tsx @@ -94,7 +94,7 @@ function PrivateNotesEditPage({route, report, accountID}: PrivateNotesEditPagePr Keyboard.dismiss(); if (!Object.values({...report.privateNotes, [route.params.accountID]: {note: editedNote}}).some((item) => item.note)) { - ReportUtils.goBackToDetailsPage(report, backTo, true); + ReportUtils.navigateToDetailsPage(report, backTo); } else { Navigation.setNavigationActionToMicrotaskQueue(() => Navigation.goBack(ROUTES.PRIVATE_NOTES_LIST.getRoute(report.reportID, backTo))); }