import * as React from 'react'; import { StyleSheet } from 'react-native'; import { View } from 'react-native'; import { Button } from 'react-native-paper'; interface Props { option: T | null; options: T[]; autoOption?: boolean; setOption: (quality: T | null) => void; } type ObjectWithOneRequiredProperty = Record & { name: string }; function OptionPicker({ option, options, autoOption, setOption, }: Props) { const sortedQualities = options.sort((a, b) => (a.name > b.name ? -1 : 1)); return ( {autoOption && ( )} {sortedQualities.map((optionItem) => ( ))} ); } const styles = StyleSheet.create({ container: { flexDirection: 'row', flexWrap: 'wrap', flexShrink: 1, }, button: { marginBottom: 5, marginHorizontal: 5, minWidth: 60, }, }); export default OptionPicker;