@@ -5,20 +5,17 @@ import type {ValueOf} from 'type-fest';
55import Button from '@components/Button' ;
66import FixedFooter from '@components/FixedFooter' ;
77import HeaderWithBackButton from '@components/HeaderWithBackButton' ;
8- import ImportSpreadsheetConfirmModal from '@components/ImportSpreadsheetConfirmModal' ;
98import MenuItemWithTopDescription from '@components/MenuItemWithTopDescription' ;
109import { usePersonalDetails } from '@components/OnyxListItemProvider' ;
1110import PressableWithoutFeedback from '@components/Pressable/PressableWithoutFeedback' ;
1211import ReportActionAvatars from '@components/ReportActionAvatars' ;
1312import ScreenWrapper from '@components/ScreenWrapper' ;
1413import Text from '@components/Text' ;
15- import useCloseImportPage from '@hooks/useCloseImportPage' ;
1614import useLocalize from '@hooks/useLocalize' ;
1715import useNetwork from '@hooks/useNetwork' ;
1816import useOnyx from '@hooks/useOnyx' ;
1917import usePolicy from '@hooks/usePolicy' ;
2018import useThemeStyles from '@hooks/useThemeStyles' ;
21- import { closeImportPage } from '@libs/actions/ImportSpreadsheet' ;
2219import { openExternalLink } from '@libs/actions/Link' ;
2320import { clearImportedSpreadsheetMemberData , importPolicyMembers } from '@libs/actions/Policy/Member' ;
2421import Navigation from '@libs/Navigation/Navigation' ;
@@ -31,7 +28,6 @@ import WorkspaceMemberDetailsRoleSelectionModal from '@pages/workspace/Workspace
3128import type { ListItemType } from '@pages/workspace/WorkspaceMemberRoleSelectionModal' ;
3229import CONST from '@src/CONST' ;
3330import ONYXKEYS from '@src/ONYXKEYS' ;
34- import ROUTES from '@src/ROUTES' ;
3531import type SCREENS from '@src/SCREENS' ;
3632
3733type ImportedMembersConfirmationPageProps = PlatformStackScreenProps < SettingsNavigatorParamList , typeof SCREENS . WORKSPACE . MEMBERS_IMPORTED > ;
@@ -49,14 +45,22 @@ function ImportedMembersConfirmationPage({route}: ImportedMembersConfirmationPag
4945 const { isOffline} = useNetwork ( ) ;
5046
5147 const personalDetails = usePersonalDetails ( ) ;
52- const { setIsClosing} = useCloseImportPage ( ) ;
53-
5448 useEffect ( ( ) => {
5549 return ( ) => {
5650 clearImportedSpreadsheetMemberData ( ) ;
5751 } ;
5852 } , [ ] ) ;
5953
54+ // Navigate back to ImportedMembersPage when import succeeds so the
55+ // confirm-details screen closes while the global success modal (rendered
56+ // by ImportedMembersPage's ImportSpreadsheetConfirmModal) is shown.
57+ useEffect ( ( ) => {
58+ if ( ! spreadsheet ?. shouldFinalModalBeOpened ) {
59+ return ;
60+ }
61+ Navigation . goBack ( ) ;
62+ } , [ spreadsheet ?. shouldFinalModalBeOpened ] ) ;
63+
6064 const [ importedSpreadsheetMemberData ] = useOnyx ( ONYXKEYS . IMPORTED_SPREADSHEET_MEMBER_DATA ) ;
6165 const newMembers = useMemo ( ( ) => {
6266 return importedSpreadsheetMemberData ?. filter ( ( member ) => ! isPolicyMemberWithoutPendingDelete ( member . email , policy ) && ! member . role ) ?? [ ] ;
@@ -89,13 +93,6 @@ function ImportedMembersConfirmationPage({route}: ImportedMembersConfirmationPag
8993 importPolicyMembers ( policy , membersWithRole ) ;
9094 } , [ importedSpreadsheetMemberData , newMembers , policy , role ] ) ;
9195
92- const closeImportPageAndModal = ( ) => {
93- setIsClosing ( true ) ;
94- setIsImporting ( false ) ;
95- closeImportPage ( ) ;
96- Navigation . goBack ( ROUTES . WORKSPACE_MEMBERS . getRoute ( policyID ) ) ;
97- } ;
98-
9996 const onRoleChange = ( item : ListItemType ) => {
10097 setRole ( item . value ) ;
10198 setIsRoleSelectionModalVisible ( false ) ;
@@ -203,11 +200,6 @@ function ImportedMembersConfirmationPage({route}: ImportedMembersConfirmationPag
203200 </ View >
204201 </ PressableWithoutFeedback >
205202 </ FixedFooter >
206- < ImportSpreadsheetConfirmModal
207- isVisible = { spreadsheet ?. shouldFinalModalBeOpened }
208- closeImportPageAndModal = { closeImportPageAndModal }
209- shouldHandleNavigationBack = { false }
210- />
211203 < WorkspaceMemberDetailsRoleSelectionModal
212204 isVisible = { isRoleSelectionModalVisible }
213205 items = { roleItems }
0 commit comments