Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/libs/Navigation/getTopmostBottomTabRoute.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ function getTopmostBottomTabRoute(state: State<RootStackParamList> | undefined):
throw new Error('BottomTabNavigator route have no routes.');
}

return {name: topmostBottomTabRoute.name as BottomTabName, params: topmostBottomTabRoute.params};
return {name: topmostBottomTabRoute.name as BottomTabName, params: topmostBottomTabRoute.params, key: topmostBottomTabRoute.key};
}

export default getTopmostBottomTabRoute;
14 changes: 10 additions & 4 deletions src/pages/workspace/WorkspaceProfilePage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,10 @@ import useThemeIllustrations from '@hooks/useThemeIllustrations';
import useThemeStyles from '@hooks/useThemeStyles';
import DistanceRequestUtils from '@libs/DistanceRequestUtils';
import * as ErrorUtils from '@libs/ErrorUtils';
import Navigation from '@libs/Navigation/Navigation';
import getTopmostBottomTabRoute from '@libs/Navigation/getTopmostBottomTabRoute';
import Navigation, {navigationRef} from '@libs/Navigation/Navigation';
import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types';
import type {FullScreenNavigatorParamList} from '@libs/Navigation/types';
import type {FullScreenNavigatorParamList, RootStackParamList, State} from '@libs/Navigation/types';
import Parser from '@libs/Parser';
import * as PolicyUtils from '@libs/PolicyUtils';
import * as ReportUtils from '@libs/ReportUtils';
Expand All @@ -33,7 +34,7 @@ import * as Policy from '@userActions/Policy/Policy';
import CONST from '@src/CONST';
import ONYXKEYS from '@src/ONYXKEYS';
import ROUTES from '@src/ROUTES';
import type SCREENS from '@src/SCREENS';
import SCREENS from '@src/SCREENS';
import {isEmptyObject} from '@src/types/utils/EmptyObject';
import type {WithPolicyProps} from './withPolicy';
import withPolicy from './withPolicy';
Expand Down Expand Up @@ -171,7 +172,12 @@ function WorkspaceProfilePage({policyDraft, policy: policyProp, route}: Workspac
// If the workspace being deleted is the active workspace, switch to the "All Workspaces" view
if (activeWorkspaceID === policy.id) {
setActiveWorkspaceID(undefined);
Navigation.navigateWithSwitchPolicyID({policyID: undefined});
Navigation.dismissModal();
const rootState = navigationRef.current?.getRootState() as State<RootStackParamList>;
const topmostBottomTabRoute = getTopmostBottomTabRoute(rootState);
if (topmostBottomTabRoute?.name === SCREENS.SETTINGS.ROOT) {
Navigation.setParams({policyID: undefined}, topmostBottomTabRoute?.key);
}
}
}, [policy?.id, policyName, activeWorkspaceID, setActiveWorkspaceID]);

Expand Down
11 changes: 9 additions & 2 deletions src/pages/workspace/WorkspacesListPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@ import useThemeStyles from '@hooks/useThemeStyles';
import {isConnectionInProgress} from '@libs/actions/connections';
import interceptAnonymousUser from '@libs/interceptAnonymousUser';
import localeCompare from '@libs/LocaleCompare';
import Navigation from '@libs/Navigation/Navigation';
import getTopmostBottomTabRoute from '@libs/Navigation/getTopmostBottomTabRoute';
import Navigation, {navigationRef} from '@libs/Navigation/Navigation';
import type {RootStackParamList, State} from '@libs/Navigation/types';
import * as PolicyUtils from '@libs/PolicyUtils';
import * as ReportUtils from '@libs/ReportUtils';
import type {AvatarSource} from '@libs/UserUtils';
Expand All @@ -38,6 +40,7 @@ import * as Session from '@userActions/Session';
import CONST from '@src/CONST';
import ONYXKEYS from '@src/ONYXKEYS';
import ROUTES from '@src/ROUTES';
import SCREENS from '@src/SCREENS';
import type {Policy as PolicyType} from '@src/types/onyx';
import type * as OnyxCommon from '@src/types/onyx/OnyxCommon';
import type {PolicyDetailsForNonMembers} from '@src/types/onyx/Policy';
Expand Down Expand Up @@ -149,7 +152,11 @@ function WorkspacesListPage() {
// If the workspace being deleted is the active workspace, switch to the "All Workspaces" view
if (activeWorkspaceID === policyIDToDelete) {
setActiveWorkspaceID(undefined);
Navigation.navigateWithSwitchPolicyID({policyID: undefined});
const rootState = navigationRef.current?.getRootState() as State<RootStackParamList>;
const topmostBottomTabRoute = getTopmostBottomTabRoute(rootState);
if (topmostBottomTabRoute?.name === SCREENS.SETTINGS.ROOT) {
Navigation.setParams({policyID: undefined}, topmostBottomTabRoute?.key);
}
}
};

Expand Down