Skip to content

Commit

Permalink
Merge pull request #56204 from daledah/fix/55196
Browse files Browse the repository at this point in the history
fix: Workspace - Inconsistent back navigation when clicking app back button
  • Loading branch information
neil-marcellini authored Feb 19, 2025
2 parents 7b66f1c + b29c626 commit 220c69f
Show file tree
Hide file tree
Showing 5 changed files with 8 additions and 9 deletions.
4 changes: 2 additions & 2 deletions src/ROUTES.ts
Original file line number Diff line number Diff line change
Expand Up @@ -797,11 +797,11 @@ const ROUTES = {
},
WORKSPACE_PROFILE: {
route: 'settings/workspaces/:policyID/profile',
getRoute: (policyID: string | undefined) => {
getRoute: (policyID: string | undefined, backTo?: string) => {
if (!policyID) {
Log.warn('Invalid policyID is used to build the WORKSPACE_PROFILE route');
}
return `settings/workspaces/${policyID}/profile` as const;
return getUrlWithBackToParam(`settings/workspaces/${policyID}/profile` as const, backTo);
},
},
WORKSPACE_PROFILE_ADDRESS: {
Expand Down
2 changes: 2 additions & 0 deletions src/libs/Navigation/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1562,9 +1562,11 @@ type SettingsSplitNavigatorParamList = {
type WorkspaceSplitNavigatorParamList = {
[SCREENS.WORKSPACE.INITIAL]: {
policyID: string;
backTo?: Routes;
};
[SCREENS.WORKSPACE.PROFILE]: {
policyID: string;
backTo?: Routes;
};
[SCREENS.WORKSPACE.EXPENSIFY_CARD]: {
policyID: string;
Expand Down
7 changes: 1 addition & 6 deletions src/pages/ReportDetailsPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -580,11 +580,7 @@ function ReportDetailsPage({policies, report, route, reportMetadata}: ReportDeta
if (!report?.policyID) {
return;
}
if (isSmallScreenWidth) {
Navigation.navigate(ROUTES.WORKSPACE_INITIAL.getRoute(report?.policyID));
return;
}
Navigation.navigate(ROUTES.WORKSPACE_PROFILE.getRoute(report?.policyID));
Navigation.navigate(ROUTES.WORKSPACE_INITIAL.getRoute(report?.policyID, Navigation.getActiveRoute()));
},
isAnonymousAction: false,
shouldShowRightIcon: true,
Expand Down Expand Up @@ -663,7 +659,6 @@ function ReportDetailsPage({policies, report, route, reportMetadata}: ReportDeta
isOffline,
transactionIDList,
unapproveExpenseReportOrShowModal,
isSmallScreenWidth,
]);

const displayNamesWithTooltips = useMemo(() => {
Expand Down
2 changes: 1 addition & 1 deletion src/pages/workspace/WorkspaceInitialPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -433,7 +433,7 @@ function WorkspaceInitialPage({policyDraft, policy: policyProp, route}: Workspac
>
<HeaderWithBackButton
title={policyName}
onBackButtonPress={() => Navigation.goBack(ROUTES.SETTINGS_WORKSPACES)}
onBackButtonPress={() => Navigation.goBack(route.params?.backTo ?? ROUTES.SETTINGS_WORKSPACES)}
policyAvatar={policyAvatar}
style={styles.headerBarDesktopHeight}
/>
Expand Down
2 changes: 2 additions & 0 deletions src/pages/workspace/WorkspaceProfilePage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ function WorkspaceProfilePage({policyDraft, policy: policyProp, route}: Workspac
const {canUseSpotnanaTravel} = usePermissions();
const {activeWorkspaceID, setActiveWorkspaceID} = useActiveWorkspace();

const backTo = route.params.backTo;
const [currencyList = {}] = useOnyx(ONYXKEYS.CURRENCY_LIST);
const [currentUserAccountID = -1] = useOnyx(ONYXKEYS.SESSION, {selector: (session) => session?.accountID});

Expand Down Expand Up @@ -183,6 +184,7 @@ function WorkspaceProfilePage({policyDraft, policy: policyProp, route}: Workspac
shouldShowNonAdmin
icon={Illustrations.Building}
shouldShowNotFoundPage={policy === undefined}
onBackButtonPress={() => Navigation.goBack(backTo)}
>
{(hasVBA?: boolean) => (
<View style={[styles.flex1, styles.mt3, shouldUseNarrowLayout ? styles.workspaceSectionMobile : styles.workspaceSection]}>
Expand Down

0 comments on commit 220c69f

Please sign in to comment.