import React from 'react';
import { ListView, Text, TouchableHighlight, View } from 'react-native';
import { connect } from 'react-redux';
import { Icon } from '../../base/font-icons';
import AbstractRecentList from './AbstractRecentList';
import styles, { UNDERLAY_COLOR } from './styles';
/**
* The native container rendering the list of the recently joined rooms.
*
* @extends AbstractRecentList
*/
class RecentList extends AbstractRecentList {
/**
* Initializes a new {@code RecentList} instance.
*/
constructor() {
super();
// Bind event handlers so they are only bound once per instance.
this._getAvatarStyle = this._getAvatarStyle.bind(this);
this._onSelect = this._onSelect.bind(this);
this._renderConfDuration = this._renderConfDuration.bind(this);
this._renderRow = this._renderRow.bind(this);
this._renderServerInfo = this._renderServerInfo.bind(this);
}
/**
* Implements React's {@link Component#render()}. Renders a list of recently
* joined rooms.
*
* @inheritdoc
* @returns {ReactElement}
*/
render() {
if (!this.state.dataSource.getRowCount()) {
return null;
}
return (
);
}
/**
* Assembles the style array of the avatar based on if the conference was a
* home or remote server conference (based on current app setting).
*
* @param {Object} recentListEntry - The recent list entry being rendered.
* @private
* @returns {Array