// Copyright (c) 2017 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. import React, {PropTypes, PureComponent} from 'react'; import { StyleSheet, Text, TouchableOpacity, View } from 'react-native'; import Font from 'react-native-vector-icons/FontAwesome'; import FormattedText from 'app/components/formatted_text'; export default class OptionsModalList extends PureComponent { static propTypes = { items: PropTypes.array.isRequired, onCancelPress: PropTypes.func } renderOptions = () => { const {items, onCancelPress} = this.props; const options = items.map((item, index) => { let textComponent; if (item.text.hasOwnProperty('id')) { textComponent = ( ); } else { textComponent = {item.text}; } return ( {textComponent} {item.icon && } ); }); const cancel = ( {'Cancel'} ); return [ ...options, cancel ]; } render() { return ( {this.renderOptions()} ); } } const style = StyleSheet.create({ option: { alignSelf: 'stretch', alignItems: 'center', flexDirection: 'row', justifyContent: 'space-between', padding: 15 }, optionBorder: { borderBottomWidth: 1, borderBottomColor: 'rgba(0, 0, 0, 0.1)' }, optionContainer: { alignSelf: 'stretch', backgroundColor: 'white', borderRadius: 2, marginHorizontal: 30 }, optionIcon: { color: '#7f8180' }, optionText: { color: '#000', flex: 1, fontSize: 16 }, wrapper: { flex: 1, alignItems: 'center', justifyContent: 'center' } });