mirror of
https://github.com/element-hq/element-web
synced 2024-11-27 03:36:07 +03:00
fix untested stuff with iframe homepages
This commit is contained in:
parent
4805bcf364
commit
623f995934
1 changed files with 22 additions and 23 deletions
|
@ -38,44 +38,43 @@ 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.
|
||||
|
||||
// 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.
|
||||
let src = this.props.homePageUrl || '/home.html';
|
||||
|
||||
let src = this.props.homePageUrl || '/home.html';
|
||||
request(
|
||||
{ method: "GET", url: src },
|
||||
(err, response, body) => {
|
||||
if (err || response.status < 200 || response.status >= 300) {
|
||||
console.log(error);
|
||||
this.setState({ page: "Couldn't load home page" });
|
||||
}
|
||||
|
||||
request(
|
||||
{ method: "GET", url: src },
|
||||
(err, response, body) => {
|
||||
if (err || response.status < 200 || response.status >= 300) {
|
||||
console.log(error);
|
||||
this.setState({ page: "Couldn't load home page" });
|
||||
this.setState({ page: body });
|
||||
}
|
||||
|
||||
// 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>
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue