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 = (