| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 | 
							- // @flow
 - 
 - import { PureComponent } from 'react';
 - 
 - import { getLocalizedDateFormatter } from '../../base/i18n';
 - 
 - import { MESSAGE_TYPE_ERROR, MESSAGE_TYPE_LOCAL } from '../constants';
 - 
 - /**
 -  * 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<P: Props> extends PureComponent<P> {
 -     /**
 -      * Returns the timestamp to display for the message.
 -      *
 -      * @returns {string}
 -      */
 -     _getFormattedTimestamp() {
 -         return getLocalizedDateFormatter(new Date(this.props.message.timestamp))
 -             .format(TIMESTAMP_FORMAT);
 -     }
 - 
 -     /**
 -      * Generates the message text to be redered in the component.
 -      *
 -      * @returns {string}
 -      */
 -     _getMessageText() {
 -         const { message } = this.props;
 - 
 -         return message.messageType === MESSAGE_TYPE_ERROR
 -             ? this.props.t('chat.error', {
 -                 error: message.message
 -             })
 -             : message.message;
 -     }
 - 
 -     /**
 -      * Returns the message that is displayed as a notice for private messages.
 -      *
 -      * @returns {string}
 -      */
 -     _getPrivateNoticeMessage() {
 -         const { message, t } = this.props;
 - 
 -         return t('chat.privateNotice', {
 -             recipient: message.messageType === MESSAGE_TYPE_LOCAL ? message.recipient : t('chat.you')
 -         });
 -     }
 - }
 
 
  |