You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
774 B
JavaScript
36 lines
774 B
JavaScript
'use strict';
|
|
const React = require('react');
|
|
const create = require('create-react-class');
|
|
|
|
const mediaLib = require('../../lib/media.js');
|
|
|
|
let Event = create({
|
|
displayName: "m.image",
|
|
|
|
getInitialState: function() {
|
|
let event = this.props.event;
|
|
if (event.content.url == undefined) {
|
|
return null;
|
|
}
|
|
return mediaLib.parseEvent(this.props.client, event, 1000, 1000);
|
|
},
|
|
|
|
render: function() {
|
|
let event = this.props.event;
|
|
|
|
if (this.state == null) {
|
|
return "malformed image event: " + event.content.body;
|
|
}
|
|
|
|
return (
|
|
<div className="body">
|
|
<a href={this.state.full} target="_blank">
|
|
<img src={this.state.thumb} style={{maxHeight: this.state.size.h, maxWidth: this.state.size.w}}/>
|
|
</a>
|
|
</div>
|
|
);
|
|
}
|
|
});
|
|
|
|
module.exports = Event;
|