From d01ff63124cda6da4c462f36e4300e9123fc5982 Mon Sep 17 00:00:00 2001 From: nkdengineer Date: Wed, 19 Nov 2025 16:29:15 +0700 Subject: [PATCH 1/2] fix: Confirm details page blinks when import members with role column spreadsheet --- src/pages/workspace/members/ImportedMembersPage.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/pages/workspace/members/ImportedMembersPage.tsx b/src/pages/workspace/members/ImportedMembersPage.tsx index 03ff457ad966..17bae12a9373 100644 --- a/src/pages/workspace/members/ImportedMembersPage.tsx +++ b/src/pages/workspace/members/ImportedMembersPage.tsx @@ -1,3 +1,4 @@ +import {useIsFocused} from '@react-navigation/native'; import React, {useCallback, useState} from 'react'; import {InteractionManager} from 'react-native'; import HeaderWithBackButton from '@components/HeaderWithBackButton'; @@ -33,6 +34,7 @@ function ImportedMembersPage({route}: ImportedMembersPageProps) { const [shouldShowConfirmModal, setShouldShowConfirmModal] = useState(true); const policyID = route.params.policyID; const policy = usePolicy(policyID); + const isFocused = useIsFocused(); const columnNames = generateColumnNames(spreadsheet?.data?.length ?? 0); const {containsHeader = true} = spreadsheet ?? {}; @@ -201,7 +203,7 @@ function ImportedMembersPage({route}: ImportedMembersPageProps) { learnMoreLink={CONST.IMPORT_SPREADSHEET.MEMBERS_ARTICLE_LINK} /> { // eslint-disable-next-line @typescript-eslint/no-deprecated From 5eafc8fd2359c84b9d9dcc645bcb5b8994ce7833 Mon Sep 17 00:00:00 2001 From: nkdengineer Date: Sun, 23 Nov 2025 22:06:06 +0700 Subject: [PATCH 2/2] fix navigation issue --- .../workspace/members/ImportedMembersConfirmationPage.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/pages/workspace/members/ImportedMembersConfirmationPage.tsx b/src/pages/workspace/members/ImportedMembersConfirmationPage.tsx index 28407fec8b39..0b3dd2c41f3d 100644 --- a/src/pages/workspace/members/ImportedMembersConfirmationPage.tsx +++ b/src/pages/workspace/members/ImportedMembersConfirmationPage.tsx @@ -1,5 +1,5 @@ import React, {useCallback, useEffect, useMemo, useState} from 'react'; -import {View} from 'react-native'; +import {InteractionManager, View} from 'react-native'; import type {GestureResponderEvent} from 'react-native/Libraries/Types/CoreEventTypes'; import type {ValueOf} from 'type-fest'; import Button from '@components/Button'; @@ -31,6 +31,7 @@ import WorkspaceMemberDetailsRoleSelectionModal from '@pages/workspace/Workspace import type {ListItemType} from '@pages/workspace/WorkspaceMemberRoleSelectionModal'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; +import ROUTES from '@src/ROUTES'; import type SCREENS from '@src/SCREENS'; type ImportedMembersConfirmationPageProps = PlatformStackScreenProps; @@ -205,6 +206,10 @@ function ImportedMembersConfirmationPage({route}: ImportedMembersConfirmationPag isVisible={spreadsheet?.shouldFinalModalBeOpened} closeImportPageAndModal={closeImportPageAndModal} shouldHandleNavigationBack={false} + onModalHide={() => { + // eslint-disable-next-line @typescript-eslint/no-deprecated + InteractionManager.runAfterInteractions(() => Navigation.goBack(ROUTES.WORKSPACE_MEMBERS.getRoute(policyID))); + }} />