diff --git a/src/libs/Navigation/NavigationRoot.tsx b/src/libs/Navigation/NavigationRoot.tsx index 5bd9d11485e8b..b8202e432b263 100644 --- a/src/libs/Navigation/NavigationRoot.tsx +++ b/src/libs/Navigation/NavigationRoot.tsx @@ -250,10 +250,7 @@ function NavigationRoot({authenticated, lastVisitedPath, initialUrl, onReady}: N const currentRoute = navigationRef.getCurrentRoute(); Firebase.log(`[NAVIGATION] screen: ${currentRoute?.name}, params: ${JSON.stringify(currentRoute?.params ?? {})}`); - // Performance optimization to avoid context consumers to delay first render - setTimeout(() => { - currentReportIDValue?.updateCurrentReportID(state); - }, 0); + currentReportIDValue?.updateCurrentReportID(state); parseAndLogRoute(state); // We want to clean saved scroll offsets for screens that aren't anymore in the state. diff --git a/src/pages/NewReportWorkspaceSelectionPage.tsx b/src/pages/NewReportWorkspaceSelectionPage.tsx index f16782aa9463a..4bf9c3b5b5e83 100644 --- a/src/pages/NewReportWorkspaceSelectionPage.tsx +++ b/src/pages/NewReportWorkspaceSelectionPage.tsx @@ -20,6 +20,7 @@ import usePermissions from '@hooks/usePermissions'; import useResponsiveLayout from '@hooks/useResponsiveLayout'; import useThemeStyles from '@hooks/useThemeStyles'; import {createNewReport} from '@libs/actions/Report'; +import isSearchTopmostFullScreenRoute from '@libs/Navigation/helpers/isSearchTopmostFullScreenRoute'; import setNavigationActionToMicrotaskQueue from '@libs/Navigation/helpers/setNavigationActionToMicrotaskQueue'; import Navigation from '@libs/Navigation/Navigation'; import type {NewReportWorkspaceSelectionNavigatorParamList} from '@libs/Navigation/types'; @@ -103,7 +104,10 @@ function NewReportWorkspaceSelectionPage({route}: NewReportWorkspaceSelectionPag } Navigation.setNavigationActionToMicrotaskQueue(() => { - Navigation.navigate(ROUTES.SEARCH_MONEY_REQUEST_REPORT.getRoute({reportID: optimisticReportID}), {forceReplace: isRHPOnReportInSearch || shouldUseNarrowLayout}); + Navigation.navigate( + isSearchTopmostFullScreenRoute() ? ROUTES.SEARCH_MONEY_REQUEST_REPORT.getRoute({reportID: optimisticReportID}) : ROUTES.REPORT_WITH_ID.getRoute(optimisticReportID), + {forceReplace: isRHPOnReportInSearch || shouldUseNarrowLayout}, + ); }); }, [isRHPOnReportInSearch, shouldUseNarrowLayout],