import React from 'react'; import DropDownButton from './DropDownButton.js'; import Util from './Util.js'; export default class MessageView extends React.PureComponent { state = { showImages: false } formatLongDate(dt) { if (!(dt instanceof Date)) dt = new Date(dt.replace(' ', 'T')); let h = dt.getHours(); let m = dt.getMinutes(); let s = dt.getSeconds(); return Util.WeekDays[dt.getDay()]+' '+dt.getDate()+' '+Util.Months[dt.getMonth()]+' '+ dt.getFullYear()+' '+(h < 10 ? '0' : '')+h+':'+(m < 10 ? '0' : '')+m+':'+(s < 10 ? '0' : '')+s; } componentWillReceiveProps(nextProps) { if (nextProps.msg != this.props.msg) { let ns = { showImages: false, blockedImages: false }; if (nextProps.msg && /]*>/i.exec(nextProps.msg.body_html)) { ns.blockedImages = true; } this.setState(ns); } } showImages = () => { this.setState({ showImages: true }); } render() { let showImages = this.state.showImages; let msg = this.props.msg; let html; if (msg) { html = msg.body_html; if (!showImages) { html = html.replace(/(]*?src=)(["'])([^'"]*\2)/ig, '$1$2blocked:$3'); html = html.replace(/'; }); } } return