1import * as React from 'react'; 2 3import ExpoAPIIcon from '../components/ExpoAPIIcon'; 4import ComponentListScreen from './ComponentListScreen'; 5 6const screens = [ 7 'ActivityIndicator', 8 'BarCodeScanner', 9 'BlurView', 10 'Button', 11 'Camera', 12 'Checkbox', 13 'ClipboardPasteButton', 14 'DateTimePicker', 15 'DrawerLayoutAndroid', 16 'ExpoMaps', 17 'FlashList', 18 'GL', 19 'GestureHandlerList', 20 'GestureHandlerPinch', 21 'GestureHandlerSwipeable', 22 'Gif', 23 'HTML', 24 'Image', 25 'LinearGradient', 26 'Lottie', 27 'Maps', 28 'MaskedView', 29 'Modal', 30 'Picker', 31 'Pressable', 32 'QRCode', 33 'Reanimated', 34 'Skia', 35 'SVG', 36 'Screens', 37 'ScrollView', 38 'SegmentedControl', 39 'Slider', 40 'Switch', 41 'Text', 42 'TextInput', 43 'TouchableBounce', 44 'Touchables', 45 'Video', 46 'PagerView', 47 'WebView', 48]; 49 50export const ScreenItems = screens.map((name) => ({ 51 name, 52 route: `/components/${name.toLowerCase()}`, 53 // isAvailable: !!Screens[name], 54 isAvailable: true, 55})); 56 57export default function ExpoComponentsScreen() { 58 const renderItemRight = React.useCallback( 59 ({ name }: { name: string }) => ( 60 <ExpoAPIIcon name={name} style={{ marginRight: 10, marginLeft: 6 }} /> 61 ), 62 [] 63 ); 64 65 return <ComponentListScreen renderItemRight={renderItemRight} apis={ScreenItems} />; 66} 67