import React from 'react'; import { createRecentClickedEvent, createRecentSelectedEvent } from '../../analytics/AnalyticsEvents'; import { sendAnalytics } from '../../analytics/functions'; import { appNavigate } from '../../app/actions'; import { IStore } from '../../app/types'; import AbstractPage from '../../base/react/components/AbstractPage'; import { Container, Text } from '../../base/react/components/index'; import styles from './styles'; /** * The type of the React {@code Component} props of {@link AbstractRecentList}. */ interface IProps { /** * The redux store's {@code dispatch} function. */ dispatch: IStore['dispatch']; /** * The translate function. */ t: Function; } /** * An abstract component for the recent list. * */ export default class AbstractRecentList
extends AbstractPage
{
/**
* Initializes a new {@code RecentList} instance.
*
* @inheritdoc
*/
constructor(props: P) {
super(props);
this._onPress = this._onPress.bind(this);
}
/**
* Implements React's {@link Component#componentDidMount()}. Invoked
* immediately after this component is mounted.
*
* @inheritdoc
* @returns {void}
*/
override componentDidMount() {
sendAnalytics(createRecentSelectedEvent());
}
/**
* Returns a list empty component if a custom one has to be rendered instead
* of the default one in the {@link NavigateSectionList}.
*
* @private
* @returns {React$Component}
*/
_getRenderListEmptyComponent() {
const { t } = this.props;
const descriptionId = 'meetings-list-empty-description';
return (