diff --git a/src/components/structures/RoomView.js b/src/components/structures/RoomView.js index a72ee07e24..cd5e1a84a6 100644 --- a/src/components/structures/RoomView.js +++ b/src/components/structures/RoomView.js @@ -1464,7 +1464,9 @@ module.exports = React.createClass({
+ canJoin={ true } canPreview={ false } + spinner={this.state.joining} + />
{joinErrorText}
@@ -1507,7 +1509,9 @@ module.exports = React.createClass({ + canJoin={ true } canPreview={ false } + spinner={this.state.joining} + />
{joinErrorText}
{rejectErrorText}
@@ -1573,13 +1577,17 @@ module.exports = React.createClass({ else if (this.state.guestsCanJoin && MatrixClientPeg.get().isGuest() && (!myMember || myMember.membership !== "join")) { aux = ( - + ); } else if (this.state.canPeek && (!myMember || myMember.membership !== "join")) { aux = ( - + ); } diff --git a/src/components/views/rooms/RoomPreviewBar.js b/src/components/views/rooms/RoomPreviewBar.js index 52e6639f13..eb57a0d913 100644 --- a/src/components/views/rooms/RoomPreviewBar.js +++ b/src/components/views/rooms/RoomPreviewBar.js @@ -17,6 +17,7 @@ limitations under the License. 'use strict'; var React = require('react'); +var sdk = require('../../../index'); module.exports = React.createClass({ displayName: 'RoomPreviewBar', @@ -27,6 +28,7 @@ module.exports = React.createClass({ inviterName: React.PropTypes.string, canJoin: React.PropTypes.bool, canPreview: React.PropTypes.bool, + spinner: React.PropTypes.bool, }, getDefaultProps: function() { @@ -40,6 +42,13 @@ module.exports = React.createClass({ render: function() { var joinBlock, previewBlock; + if (this.props.spinner) { + var Spinner = sdk.getComponent("elements.Spinner"); + return (
+ +
); + } + if (this.props.inviterName) { joinBlock = (