fix untested stuff with iframe homepages

This commit is contained in:
Matthew Hodgson 2017-06-01 11:13:04 +01:00
parent 4805bcf364
commit 623f995934
1 changed files with 22 additions and 23 deletions

View File

@ -38,15 +38,18 @@ module.exports = React.createClass({
getInitialState: function() {
return {
page: ""
iframeSrc: '',
page: '',
};
},
componentWillMount: function() {
if (this.props.teamToken && this.props.teamServerUrl) {
return;
this.setState({
iframeSrc: `${this.props.teamServerUrl}/static/${this.props.teamToken}/home.html`
});
}
else {
// we use request() to inline the homepage into the react component
// so that it can inherit CSS and theming easily rather than mess around
// with iframes and trying to synchronise document.stylesheets.
@ -61,21 +64,17 @@ module.exports = React.createClass({
this.setState({ page: "Couldn't load home page" });
}
// We parse the JSON ourselves rather than use the JSON
// parameter, since this throws a parse error on empty
// which breaks if there's no config.json and we're
// loading from the filesystem (see above).
this.setState({ page: body });
}
);
}
},
render: function() {
if (this.props.teamToken && this.props.teamServerUrl) {
src = `${this.props.teamServerUrl}/static/${this.props.teamToken}/home.html`;
if (this.state.iframeSrc) {
return (
<div className="mx_HomePage">
<iframe src={ src } />
<iframe src={ this.state.iframeSrc } />
</div>
);
}