import React, { useContext, useState } from 'react'; import PropTypes from 'prop-types'; import { TouchableOpacity } from 'react-native'; import FastImage from 'react-native-fast-image'; import styles from '../styles'; import { CustomIcon } from '../../../lib/Icons'; import { themes } from '../../../constants/colors'; import MessageboxContext from '../Context'; import ActivityIndicator from '../../ActivityIndicator'; const Item = ({ item, theme }) => { const context = useContext(MessageboxContext); const { onPressCommandPreview } = context; const [loading, setLoading] = useState(true); return ( onPressCommandPreview(item)} testID={`command-preview-item${ item.id }`} > {item.type === 'image' ? ( setLoading(true)} onLoad={() => setLoading(false)} > { loading ? : null } ) : } ); }; Item.propTypes = { item: PropTypes.object, theme: PropTypes.string }; export default Item;