diff --git a/src/components/structures/GroupView.js b/src/components/structures/GroupView.js
index d77837ad63..478126db75 100644
--- a/src/components/structures/GroupView.js
+++ b/src/components/structures/GroupView.js
@@ -1272,15 +1272,6 @@ export default React.createClass({
,
);
- if (this.props.collapsedRhs) {
- rightButtons.push(
-
-
- ,
- );
- }
}
const rightPanel = !this.props.collapsedRhs ? : undefined;
diff --git a/src/components/views/right_panel/GroupHeaderButtons.js b/src/components/views/right_panel/GroupHeaderButtons.js
index af54787b2c..6fcba1d815 100644
--- a/src/components/views/right_panel/GroupHeaderButtons.js
+++ b/src/components/views/right_panel/GroupHeaderButtons.js
@@ -55,23 +55,23 @@ export default class GroupHeaderButtons extends HeaderButtons {
}
renderButtons() {
- const isPhaseGroup = [
+ const groupPhases = [
RightPanel.Phase.GroupMemberInfo,
RightPanel.Phase.GroupMemberList,
- ].includes(this.state.phase);
- const isPhaseRoom = [
+ ];
+ const roomPhases = [
RightPanel.Phase.GroupRoomList,
RightPanel.Phase.GroupRoomInfo,
- ].includes(this.state.phase);
+ ];
return [
,
,
diff --git a/src/components/views/right_panel/HeaderButtons.js b/src/components/views/right_panel/HeaderButtons.js
index 4ba0148652..f0479eb8be 100644
--- a/src/components/views/right_panel/HeaderButtons.js
+++ b/src/components/views/right_panel/HeaderButtons.js
@@ -48,6 +48,17 @@ export default class HeaderButtons extends React.Component {
}, extras));
}
+ isPhase(phases) {
+ if (this.props.collapsedRhs) {
+ return false;
+ }
+ if (Array.isArray(phases)) {
+ return phases.includes(this.state.phase);
+ } else {
+ return phases === this.state.phase;
+ }
+ }
+
onAction(payload) {
if (payload.action === "view_right_panel_phase") {
// only actions coming from header buttons should collapse the right panel
@@ -59,10 +70,15 @@ export default class HeaderButtons extends React.Component {
phase: null,
});
} else {
- if (this.props.collapsedRhs) {
+ if (this.props.collapsedRhs && payload.fromHeader) {
dis.dispatch({
action: 'show_right_panel',
});
+ // emit payload again as the RightPanel didn't exist up
+ // till show_right_panel, just without the fromHeader flag
+ // as that would hide the right panel again
+ dis.dispatch(Object.assign({}, payload, {fromHeader: false}));
+
}
this.setState({
phase: payload.phase,
diff --git a/src/components/views/right_panel/RoomHeaderButtons.js b/src/components/views/right_panel/RoomHeaderButtons.js
index ba06bd9953..ff97fc5f4f 100644
--- a/src/components/views/right_panel/RoomHeaderButtons.js
+++ b/src/components/views/right_panel/RoomHeaderButtons.js
@@ -46,24 +46,24 @@ export default class RoomHeaderButtons extends HeaderButtons {
}
renderButtons() {
- const isMembersPhase = [
+ const membersPhases = [
RightPanel.Phase.RoomMemberList,
RightPanel.Phase.RoomMemberInfo,
- ].includes(this.state.phase);
+ ];
return [
,
,
,
diff --git a/src/components/views/rooms/RoomHeader.js b/src/components/views/rooms/RoomHeader.js
index 8aea31f9ed..c7695cc4f7 100644
--- a/src/components/views/rooms/RoomHeader.js
+++ b/src/components/views/rooms/RoomHeader.js
@@ -23,7 +23,6 @@ import sdk from '../../../index';
import { _t } from '../../../languageHandler';
import MatrixClientPeg from '../../../MatrixClientPeg';
import Modal from "../../../Modal";
-import dis from "../../../dispatcher";
import RateLimitedFunc from '../../../ratelimitedfunc';
import * as linkify from 'linkifyjs';
@@ -146,10 +145,6 @@ module.exports = React.createClass({
MatrixClientPeg.get().sendStateEvent(this.props.room.roomId, 'm.room.avatar', {url: null}, '');
},
- onShowRhsClick: function(ev) {
- dis.dispatch({ action: 'show_right_panel' });
- },
-
onShareRoomClick: function(ev) {
const ShareDialog = sdk.getComponent("dialogs.ShareDialog");
Modal.createTrackedDialog('share room dialog', '', ShareDialog, {