Skip to content

Commit 7193a63

Browse files
authored
Merge pull request Expensify#75515 from nkdengineer/fix/74907
fix: Confirm details page blinks when import members with role column spreadsheet
2 parents 0d69e10 + 5eafc8f commit 7193a63

2 files changed

Lines changed: 9 additions & 2 deletions

File tree

src/pages/workspace/members/ImportedMembersConfirmationPage.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React, {useCallback, useEffect, useMemo, useState} from 'react';
2-
import {View} from 'react-native';
2+
import {InteractionManager, View} from 'react-native';
33
import type {GestureResponderEvent} from 'react-native/Libraries/Types/CoreEventTypes';
44
import type {ValueOf} from 'type-fest';
55
import Button from '@components/Button';
@@ -31,6 +31,7 @@ import WorkspaceMemberDetailsRoleSelectionModal from '@pages/workspace/Workspace
3131
import type {ListItemType} from '@pages/workspace/WorkspaceMemberRoleSelectionModal';
3232
import CONST from '@src/CONST';
3333
import ONYXKEYS from '@src/ONYXKEYS';
34+
import ROUTES from '@src/ROUTES';
3435
import type SCREENS from '@src/SCREENS';
3536

3637
type ImportedMembersConfirmationPageProps = PlatformStackScreenProps<SettingsNavigatorParamList, typeof SCREENS.WORKSPACE.MEMBERS_IMPORTED>;
@@ -205,6 +206,10 @@ function ImportedMembersConfirmationPage({route}: ImportedMembersConfirmationPag
205206
isVisible={spreadsheet?.shouldFinalModalBeOpened}
206207
closeImportPageAndModal={closeImportPageAndModal}
207208
shouldHandleNavigationBack={false}
209+
onModalHide={() => {
210+
// eslint-disable-next-line @typescript-eslint/no-deprecated
211+
InteractionManager.runAfterInteractions(() => Navigation.goBack(ROUTES.WORKSPACE_MEMBERS.getRoute(policyID)));
212+
}}
208213
/>
209214
<WorkspaceMemberDetailsRoleSelectionModal
210215
isVisible={isRoleSelectionModalVisible}

src/pages/workspace/members/ImportedMembersPage.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import {useIsFocused} from '@react-navigation/native';
12
import React, {useCallback, useState} from 'react';
23
import {InteractionManager} from 'react-native';
34
import HeaderWithBackButton from '@components/HeaderWithBackButton';
@@ -33,6 +34,7 @@ function ImportedMembersPage({route}: ImportedMembersPageProps) {
3334
const [shouldShowConfirmModal, setShouldShowConfirmModal] = useState(true);
3435
const policyID = route.params.policyID;
3536
const policy = usePolicy(policyID);
37+
const isFocused = useIsFocused();
3638

3739
const columnNames = generateColumnNames(spreadsheet?.data?.length ?? 0);
3840
const {containsHeader = true} = spreadsheet ?? {};
@@ -201,7 +203,7 @@ function ImportedMembersPage({route}: ImportedMembersPageProps) {
201203
learnMoreLink={CONST.IMPORT_SPREADSHEET.MEMBERS_ARTICLE_LINK}
202204
/>
203205
<ImportSpreadsheetConfirmModal
204-
isVisible={spreadsheet?.shouldFinalModalBeOpened && shouldShowConfirmModal}
206+
isVisible={spreadsheet?.shouldFinalModalBeOpened && shouldShowConfirmModal && isFocused}
205207
closeImportPageAndModal={closeImportPageAndModal}
206208
onModalHide={() => {
207209
// eslint-disable-next-line @typescript-eslint/no-deprecated

0 commit comments

Comments
 (0)