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