@@ -2,6 +2,7 @@ import React, {memo, useEffect, useMemo, useRef} from 'react';
22import { View } from 'react-native' ;
33import type { OnyxEntry } from 'react-native-onyx' ;
44import Onyx , { withOnyx } from 'react-native-onyx' ;
5+ import OptionsListContextProvider from '@components/OptionListContextProvider' ;
56import useOnboardingLayout from '@hooks/useOnboardingLayout' ;
67import useStyleUtils from '@hooks/useStyleUtils' ;
78import useThemeStyles from '@hooks/useThemeStyles' ;
@@ -266,130 +267,132 @@ function AuthScreens({session, lastOpenedPublicRoomID, initialLastUpdateIDApplie
266267 } , [ ] ) ;
267268
268269 return (
269- < View style = { styles . rootNavigatorContainerStyles ( isSmallScreenWidth ) } >
270- < RootStack . Navigator isSmallScreenWidth = { isSmallScreenWidth } >
271- < RootStack . Screen
272- name = { NAVIGATORS . BOTTOM_TAB_NAVIGATOR }
273- options = { screenOptions . bottomTab }
274- component = { BottomTabNavigator }
275- />
276- < RootStack . Screen
277- name = { NAVIGATORS . CENTRAL_PANE_NAVIGATOR }
278- options = { screenOptions . centralPaneNavigator }
279- component = { CentralPaneNavigator }
280- />
281- < RootStack . Screen
282- name = { SCREENS . VALIDATE_LOGIN }
283- options = { {
284- ...screenOptions . fullScreen ,
285- headerShown : false ,
286- title : 'New Expensify' ,
287- } }
288- getComponent = { loadValidateLoginPage }
289- />
290- < RootStack . Screen
291- name = { SCREENS . TRANSITION_BETWEEN_APPS }
292- options = { defaultScreenOptions }
293- getComponent = { loadLogOutPreviousUserPage }
294- />
295- < RootStack . Screen
296- name = { SCREENS . CONCIERGE }
297- options = { defaultScreenOptions }
298- getComponent = { loadConciergePage }
299- />
300- < RootStack . Screen
301- name = { SCREENS . REPORT_ATTACHMENTS }
302- options = { {
303- headerShown : false ,
304- presentation : 'transparentModal' ,
305- } }
306- getComponent = { loadReportAttachments }
307- listeners = { modalScreenListeners }
308- />
309- < RootStack . Screen
310- name = { SCREENS . PROFILE_AVATAR }
311- options = { {
312- headerShown : false ,
313- presentation : 'transparentModal' ,
314- } }
315- getComponent = { loadProfileAvatar }
316- listeners = { modalScreenListeners }
317- />
318- < RootStack . Screen
319- name = { SCREENS . WORKSPACE_AVATAR }
320- options = { {
321- headerShown : false ,
322- presentation : 'transparentModal' ,
323- } }
324- getComponent = { loadWorkspaceAvatar }
325- listeners = { modalScreenListeners }
326- />
327- < RootStack . Screen
328- name = { SCREENS . REPORT_AVATAR }
329- options = { {
330- headerShown : false ,
331- presentation : 'transparentModal' ,
332- } }
333- getComponent = { loadReportAvatar }
334- listeners = { modalScreenListeners }
335- />
336- < RootStack . Screen
337- name = { SCREENS . NOT_FOUND }
338- options = { screenOptions . fullScreen }
339- component = { NotFoundPage }
340- />
341- < RootStack . Screen
342- name = { NAVIGATORS . RIGHT_MODAL_NAVIGATOR }
343- options = { screenOptions . rightModalNavigator }
344- component = { RightModalNavigator }
345- listeners = { modalScreenListeners }
346- />
347- < RootStack . Screen
348- name = { NAVIGATORS . FULL_SCREEN_NAVIGATOR }
349- options = { screenOptions . fullScreen }
350- component = { FullScreenNavigator }
351- />
352- < RootStack . Screen
353- name = { NAVIGATORS . LEFT_MODAL_NAVIGATOR }
354- options = { screenOptions . leftModalNavigator }
355- component = { LeftModalNavigator }
356- listeners = { modalScreenListeners }
357- />
358- < RootStack . Screen
359- name = { SCREENS . DESKTOP_SIGN_IN_REDIRECT }
360- options = { screenOptions . fullScreen }
361- component = { DesktopSignInRedirectPage }
362- />
363- < RootStack . Screen
364- name = { NAVIGATORS . WELCOME_VIDEO_MODAL_NAVIGATOR }
365- options = { onboardingScreenOptions }
366- component = { WelcomeVideoModalNavigator }
367- />
368- < RootStack . Screen
369- name = { NAVIGATORS . ONBOARDING_MODAL_NAVIGATOR }
370- options = { onboardingScreenOptions }
371- component = { OnboardingModalNavigator }
372- />
373- < RootStack . Screen
374- name = { SCREENS . WORKSPACE_JOIN_USER }
375- options = { {
376- headerShown : false ,
377- presentation : 'transparentModal' ,
378- } }
379- listeners = { modalScreenListeners }
380- getComponent = { loadWorkspaceJoinUser }
381- />
382- < RootStack . Screen
383- name = { SCREENS . TRANSACTION_RECEIPT }
384- options = { {
385- headerShown : false ,
386- presentation : 'transparentModal' ,
387- } }
388- getComponent = { loadReceiptView }
389- listeners = { modalScreenListeners }
390- />
391- </ RootStack . Navigator >
392- </ View >
270+ < OptionsListContextProvider >
271+ < View style = { styles . rootNavigatorContainerStyles ( isSmallScreenWidth ) } >
272+ < RootStack . Navigator isSmallScreenWidth = { isSmallScreenWidth } >
273+ < RootStack . Screen
274+ name = { NAVIGATORS . BOTTOM_TAB_NAVIGATOR }
275+ options = { screenOptions . bottomTab }
276+ component = { BottomTabNavigator }
277+ />
278+ < RootStack . Screen
279+ name = { NAVIGATORS . CENTRAL_PANE_NAVIGATOR }
280+ options = { screenOptions . centralPaneNavigator }
281+ component = { CentralPaneNavigator }
282+ />
283+ < RootStack . Screen
284+ name = { SCREENS . VALIDATE_LOGIN }
285+ options = { {
286+ ...screenOptions . fullScreen ,
287+ headerShown : false ,
288+ title : 'New Expensify' ,
289+ } }
290+ getComponent = { loadValidateLoginPage }
291+ />
292+ < RootStack . Screen
293+ name = { SCREENS . TRANSITION_BETWEEN_APPS }
294+ options = { defaultScreenOptions }
295+ getComponent = { loadLogOutPreviousUserPage }
296+ />
297+ < RootStack . Screen
298+ name = { SCREENS . CONCIERGE }
299+ options = { defaultScreenOptions }
300+ getComponent = { loadConciergePage }
301+ />
302+ < RootStack . Screen
303+ name = { SCREENS . REPORT_ATTACHMENTS }
304+ options = { {
305+ headerShown : false ,
306+ presentation : 'transparentModal' ,
307+ } }
308+ getComponent = { loadReportAttachments }
309+ listeners = { modalScreenListeners }
310+ />
311+ < RootStack . Screen
312+ name = { SCREENS . PROFILE_AVATAR }
313+ options = { {
314+ headerShown : false ,
315+ presentation : 'transparentModal' ,
316+ } }
317+ getComponent = { loadProfileAvatar }
318+ listeners = { modalScreenListeners }
319+ />
320+ < RootStack . Screen
321+ name = { SCREENS . WORKSPACE_AVATAR }
322+ options = { {
323+ headerShown : false ,
324+ presentation : 'transparentModal' ,
325+ } }
326+ getComponent = { loadWorkspaceAvatar }
327+ listeners = { modalScreenListeners }
328+ />
329+ < RootStack . Screen
330+ name = { SCREENS . REPORT_AVATAR }
331+ options = { {
332+ headerShown : false ,
333+ presentation : 'transparentModal' ,
334+ } }
335+ getComponent = { loadReportAvatar }
336+ listeners = { modalScreenListeners }
337+ />
338+ < RootStack . Screen
339+ name = { SCREENS . NOT_FOUND }
340+ options = { screenOptions . fullScreen }
341+ component = { NotFoundPage }
342+ />
343+ < RootStack . Screen
344+ name = { NAVIGATORS . RIGHT_MODAL_NAVIGATOR }
345+ options = { screenOptions . rightModalNavigator }
346+ component = { RightModalNavigator }
347+ listeners = { modalScreenListeners }
348+ />
349+ < RootStack . Screen
350+ name = { NAVIGATORS . FULL_SCREEN_NAVIGATOR }
351+ options = { screenOptions . fullScreen }
352+ component = { FullScreenNavigator }
353+ />
354+ < RootStack . Screen
355+ name = { NAVIGATORS . LEFT_MODAL_NAVIGATOR }
356+ options = { screenOptions . leftModalNavigator }
357+ component = { LeftModalNavigator }
358+ listeners = { modalScreenListeners }
359+ />
360+ < RootStack . Screen
361+ name = { SCREENS . DESKTOP_SIGN_IN_REDIRECT }
362+ options = { screenOptions . fullScreen }
363+ component = { DesktopSignInRedirectPage }
364+ />
365+ < RootStack . Screen
366+ name = { NAVIGATORS . WELCOME_VIDEO_MODAL_NAVIGATOR }
367+ options = { onboardingScreenOptions }
368+ component = { WelcomeVideoModalNavigator }
369+ />
370+ < RootStack . Screen
371+ name = { NAVIGATORS . ONBOARDING_MODAL_NAVIGATOR }
372+ options = { onboardingScreenOptions }
373+ component = { OnboardingModalNavigator }
374+ />
375+ < RootStack . Screen
376+ name = { SCREENS . WORKSPACE_JOIN_USER }
377+ options = { {
378+ headerShown : false ,
379+ presentation : 'transparentModal' ,
380+ } }
381+ listeners = { modalScreenListeners }
382+ getComponent = { loadWorkspaceJoinUser }
383+ />
384+ < RootStack . Screen
385+ name = { SCREENS . TRANSACTION_RECEIPT }
386+ options = { {
387+ headerShown : false ,
388+ presentation : 'transparentModal' ,
389+ } }
390+ getComponent = { loadReceiptView }
391+ listeners = { modalScreenListeners }
392+ />
393+ </ RootStack . Navigator >
394+ </ View >
395+ </ OptionsListContextProvider >
393396 ) ;
394397}
395398
0 commit comments