import React, { useContext } from 'react'; import { Text, View } from 'react-native'; import styles from './styles'; import { themes } from '../../lib/constants'; import MessageContext from './Context'; import ThreadDetails from '../ThreadDetails'; import I18n from '../../i18n'; import { IMessageThread } from './interfaces'; import { useTheme } from '../../theme'; const Thread = React.memo( ({ msg, tcount, tlm, isThreadRoom, id }: IMessageThread) => { const { theme } = useTheme(); const { threadBadgeColor, toggleFollowThread, user, replies } = useContext(MessageContext); if (!tlm || isThreadRoom || tcount === 0) { return null; } return ( <View style={styles.buttonContainer}> <View style={[styles.button, { backgroundColor: themes[theme].tintColor }]} testID={`message-thread-button-${msg}`}> <Text style={[styles.buttonText, { color: themes[theme].buttonText }]}>{I18n.t('Reply')}</Text> </View> <ThreadDetails item={{ tcount, replies, id }} user={user} badgeColor={threadBadgeColor} toggleFollowThread={toggleFollowThread} style={styles.threadDetails} /> </View> ); }, (prevProps, nextProps) => { if (prevProps.tcount !== nextProps.tcount) { return false; } return true; } ); Thread.displayName = 'MessageThread'; export default Thread;