1*91d99453SEvan Baconimport { BottomTabNavigationProp } from '@react-navigation/bottom-tabs'; 2*91d99453SEvan Baconimport { createStackNavigator } from '@react-navigation/stack'; 3*91d99453SEvan Baconimport * as React from 'react'; 4*91d99453SEvan Bacon 5*91d99453SEvan Baconimport TabIcon from '../components/TabIcon'; 6*91d99453SEvan Baconimport { Layout } from '../constants'; 7*91d99453SEvan Baconimport ExpoComponents from '../screens/ExpoComponentsScreen'; 8*91d99453SEvan Baconimport { Screens } from './ExpoComponents'; 9*91d99453SEvan Baconimport StackConfig from './StackConfig'; 10*91d99453SEvan Bacon 11*91d99453SEvan Baconconst Stack = createStackNavigator(); 12*91d99453SEvan Bacon 13*91d99453SEvan Baconfunction ExpoComponentsStackNavigator(props: { navigation: BottomTabNavigationProp<any> }) { 14*91d99453SEvan Bacon return ( 15*91d99453SEvan Bacon <Stack.Navigator {...props} {...StackConfig}> 16*91d99453SEvan Bacon <Stack.Screen 17*91d99453SEvan Bacon name="ExpoComponents" 18*91d99453SEvan Bacon options={{ title: Layout.isSmallDevice ? 'Expo SDK Components' : 'Components in Expo SDK' }} 19*91d99453SEvan Bacon component={ExpoComponents} 20*91d99453SEvan Bacon /> 21*91d99453SEvan Bacon {Object.keys(Screens).map(name => ( 22*91d99453SEvan Bacon <Stack.Screen 23*91d99453SEvan Bacon name={name} 24*91d99453SEvan Bacon key={name} 25*91d99453SEvan Bacon component={Screens[name]} 26*91d99453SEvan Bacon options={(Screens[name] as any).navigationOptions ?? {}} 27*91d99453SEvan Bacon /> 28*91d99453SEvan Bacon ))} 29*91d99453SEvan Bacon </Stack.Navigator> 30*91d99453SEvan Bacon ); 31*91d99453SEvan Bacon} 32*91d99453SEvan BaconExpoComponentsStackNavigator.navigationOptions = { 33*91d99453SEvan Bacon title: 'Expo Components', 34*91d99453SEvan Bacon tabBarLabel: 'Components', 35*91d99453SEvan Bacon tabBarIcon: ({ focused }: { focused: boolean }) => { 36*91d99453SEvan Bacon return <TabIcon name="cards-playing-outline" focused={focused} />; 37*91d99453SEvan Bacon }, 38*91d99453SEvan Bacon}; 39*91d99453SEvan Baconexport default ExpoComponentsStackNavigator; 40