// @flow import { PureComponent } from 'react'; import { getLocalizedDateFormatter } from '../../base/i18n'; /** * Formatter string to display the message timestamp. */ const TIMESTAMP_FORMAT = 'H:mm'; /** * The type of the React {@code Component} props of {@code AbstractChatMessage}. */ export type Props = { /** * The representation of a chat message. */ message: Object, /** * Whether or not the avatar image of the participant which sent the message * should be displayed. */ showAvatar: boolean, /** * Whether or not the name of the participant which sent the message should * be displayed. */ showDisplayName: boolean, /** * Whether or not the time at which the message was sent should be * displayed. */ showTimestamp: boolean, /** * Invoked to receive translated strings. */ t: Function }; /** * Abstract component to display a chat message. */ export default class AbstractChatMessage extends PureComponent

{ /** * Returns the timestamp to display for the message. * * @returns {string} */ _getFormattedTimestamp() { return getLocalizedDateFormatter(new Date(this.props.message.timestamp)) .format(TIMESTAMP_FORMAT); } }