diff --git a/src/ROUTES.js b/src/ROUTES.js index 3f96d77d477e..8246a59361b2 100644 --- a/src/ROUTES.js +++ b/src/ROUTES.js @@ -131,7 +131,10 @@ export default { DETAILS: 'details', getDetailsRoute: (login) => `details?login=${encodeURIComponent(login)}`, PROFILE: 'a/:accountID', - getProfileRoute: (accountID) => `a/${accountID}`, + getProfileRoute: (accountID, backTo = '') => { + const backToParam = backTo ? `?backTo=${encodeURIComponent(backTo)}` : ''; + return `a/${accountID}${backToParam}`; + }, REPORT_PARTICIPANTS: 'r/:reportID/participants', getReportParticipantsRoute: (reportID) => `r/${reportID}/participants`, REPORT_WITH_ID_DETAILS: 'r/:reportID/details', diff --git a/src/components/MoneyRequestConfirmationList.js b/src/components/MoneyRequestConfirmationList.js index e8b792a620c0..5202019fbc4c 100755 --- a/src/components/MoneyRequestConfirmationList.js +++ b/src/components/MoneyRequestConfirmationList.js @@ -247,7 +247,9 @@ function MoneyRequestConfirmationList(props) { */ const navigateToReportOrUserDetail = (option) => { if (option.accountID) { - Navigation.navigate(ROUTES.getProfileRoute(option.accountID)); + const activeRoute = Navigation.getActiveRoute().replace(/\?.*/, ''); + + Navigation.navigate(ROUTES.getProfileRoute(option.accountID, activeRoute)); } else if (option.reportID) { Navigation.navigate(ROUTES.getReportDetailsRoute(option.reportID)); } diff --git a/src/pages/ProfilePage.js b/src/pages/ProfilePage.js index 11e006c8d8fa..ab75eb3b2659 100755 --- a/src/pages/ProfilePage.js +++ b/src/pages/ProfilePage.js @@ -34,7 +34,6 @@ import FullScreenLoadingIndicator from '../components/FullscreenLoadingIndicator import BlockingView from '../components/BlockingViews/BlockingView'; import * as Illustrations from '../components/Icon/Illustrations'; import variables from '../styles/variables'; -import ROUTES from '../ROUTES'; import * as ValidationUtils from '../libs/ValidationUtils'; import Permissions from '../libs/Permissions'; @@ -139,11 +138,13 @@ function ProfilePage(props) { const hasStatus = !!statusEmojiCode && Permissions.canUseCustomStatus(props.betas); const statusContent = `${statusEmojiCode} ${statusText}`; + const navigateBackTo = lodashGet(props.route, 'params.backTo', ''); + return ( Navigation.goBack(ROUTES.HOME)} + onBackButtonPress={() => Navigation.goBack(navigateBackTo)} />