import React from 'react'; import PropTypes from 'prop-types'; import { FlatList, Text, View } from 'react-native'; import { connect } from 'react-redux'; import LoggedView from '../View'; import { openMentionedMessages, closeMentionedMessages } from '../../actions/mentionedMessages'; import styles from './styles'; import Message from '../../containers/message'; @connect( state => ({ messages: state.mentionedMessages.messages, user: state.login.user, baseUrl: state.settings.Site_Url || state.server ? state.server.server : '' }), dispatch => ({ openMentionedMessages: rid => dispatch(openMentionedMessages(rid)), closeMentionedMessages: () => dispatch(closeMentionedMessages()) }) ) export default class MentionedMessagesView extends LoggedView { static propTypes = { navigation: PropTypes.object, messages: PropTypes.array, user: PropTypes.object, baseUrl: PropTypes.string, openMentionedMessages: PropTypes.func, closeMentionedMessages: PropTypes.func } constructor(props) { super('MentionedMessagesView', props); } componentDidMount() { this.props.openMentionedMessages(this.props.navigation.state.params.rid); } componentWillUnmount() { this.props.closeMentionedMessages(); } renderEmpty = () => ( No mentioned messages ) renderItem = ({ item }) => ( {}} /> ) render() { if (this.props.messages.length === 0) { return this.renderEmpty(); } return ( item._id} /> ); } }