diff --git a/src/components/structures/HomePage.js b/src/components/structures/HomePage.js index 8b5b2f3c41..05bfc0da1b 100644 --- a/src/components/structures/HomePage.js +++ b/src/components/structures/HomePage.js @@ -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 (