1import { optionalRequire } from '../../navigation/routeBuilder';
2import ComponentListScreen, { ListElement } from '../ComponentListScreen';
3
4export const ImageScreens = [
5  {
6    name: 'Comparison with original image',
7    route: 'image/comparison',
8    options: {},
9    getComponent() {
10      return optionalRequire(() => require('./ImageComparisonScreen'));
11    },
12  },
13  {
14    name: 'List with thousands images',
15    route: 'image/flashlist',
16    options: {},
17    getComponent() {
18      return optionalRequire(() => require('./ImageFlashListScreen'));
19    },
20  },
21  {
22    name: 'Image formats',
23    route: 'image/formats',
24    getComponent() {
25      return optionalRequire(() => require('./ImageFormatsScreen'));
26    },
27  },
28  {
29    name: 'Resizable image',
30    route: 'image/resizable',
31    getComponent() {
32      return optionalRequire(() => require('./ImageResizableScreen'));
33    },
34  },
35  {
36    name: 'Events',
37    route: 'image/events',
38    getComponent() {
39      return optionalRequire(() => require('./ImageEventsScreen'));
40    },
41  },
42];
43
44export default function ImageScreen() {
45  const apis: ListElement[] = ImageScreens.map((screen) => {
46    return {
47      name: screen.name,
48      isAvailable: true,
49      route: `/components/${screen.route}`,
50    };
51  });
52  return <ComponentListScreen apis={apis} sort={false} />;
53}
54