// Chat message describing a video or voice call. import React from 'react'; import { FormattedMessage } from 'react-intl'; import { secondsToTime } from '../lib/strformat.js'; export default class CallMessage extends React.PureComponent { render() { const bigIcon = this.props.vc ?
group call
:
call
; const isCallDropped = ['busy', 'declined', 'disconnected', 'missed'].includes(this.props.callState); const successClass = 'material-icons medium ' + (isCallDropped ? 'red' : 'green'); const callIcon = this.props.incoming ? (isCallDropped ? 'call_missed' : 'call_received') : (isCallDropped ? 'call_missed_outgoing' : 'call_made'); const title = this.props.vc ? : this.props.incoming ? : ; let duration; if (isCallDropped) { switch (this.props.callState) { case 'busy': duration = ; break; case 'declined': duration = ; break; case 'missed': duration = this.props.incoming ? : ; break; default: duration = ; break; } } else { duration = {secondsToTime(this.props.duration / 1000)}; } const allowJoin = this.props.vc && this.props.callState == 'started'; return
{bigIcon}
{title}
{callIcon} {duration}
{allowJoin ? : null}
; } }