don't highlight room header buttons when right panel is collapsed

pull/21833/head
Bruno Windels 2018-12-18 15:36:54 +01:00
parent a10f0a3267
commit dafc54c434
3 changed files with 22 additions and 11 deletions

View File

@ -55,23 +55,23 @@ export default class GroupHeaderButtons extends HeaderButtons {
} }
renderButtons() { renderButtons() {
const isPhaseGroup = [ const groupPhases = [
RightPanel.Phase.GroupMemberInfo, RightPanel.Phase.GroupMemberInfo,
RightPanel.Phase.GroupMemberList, RightPanel.Phase.GroupMemberList,
].includes(this.state.phase); ];
const isPhaseRoom = [ const roomPhases = [
RightPanel.Phase.GroupRoomList, RightPanel.Phase.GroupRoomList,
RightPanel.Phase.GroupRoomInfo, RightPanel.Phase.GroupRoomInfo,
].includes(this.state.phase); ];
return [ return [
<HeaderButton key="_groupMembersButton" title={_t('Members')} iconSrc="img/icons-people.svg" <HeaderButton key="_groupMembersButton" title={_t('Members')} iconSrc="img/icons-people.svg"
isHighlighted={isPhaseGroup} isHighlighted={this.isPhase(groupPhases)}
clickPhase={RightPanel.Phase.GroupMemberList} clickPhase={RightPanel.Phase.GroupMemberList}
analytics={['Right Panel', 'Group Member List Button', 'click']} analytics={['Right Panel', 'Group Member List Button', 'click']}
/>, />,
<HeaderButton key="_roomsButton" title={_t('Rooms')} iconSrc="img/icons-room-nobg.svg" <HeaderButton key="_roomsButton" title={_t('Rooms')} iconSrc="img/icons-room-nobg.svg"
isHighlighted={isPhaseRoom} isHighlighted={this.isPhase(roomPhases)}
clickPhase={RightPanel.Phase.GroupRoomList} clickPhase={RightPanel.Phase.GroupRoomList}
analytics={['Right Panel', 'Group Room List Button', 'click']} analytics={['Right Panel', 'Group Room List Button', 'click']}
/>, />,

View File

@ -48,6 +48,17 @@ export default class HeaderButtons extends React.Component {
}, extras)); }, 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) { onAction(payload) {
if (payload.action === "view_right_panel_phase") { if (payload.action === "view_right_panel_phase") {
// only actions coming from header buttons should collapse the right panel // only actions coming from header buttons should collapse the right panel

View File

@ -46,24 +46,24 @@ export default class RoomHeaderButtons extends HeaderButtons {
} }
renderButtons() { renderButtons() {
const isMembersPhase = [ const membersPhases = [
RightPanel.Phase.RoomMemberList, RightPanel.Phase.RoomMemberList,
RightPanel.Phase.RoomMemberInfo, RightPanel.Phase.RoomMemberInfo,
].includes(this.state.phase); ];
return [ return [
<HeaderButton key="_membersButton" title={_t('Members')} iconSrc="img/icons-people.svg" <HeaderButton key="_membersButton" title={_t('Members')} iconSrc="img/icons-people.svg"
isHighlighted={isMembersPhase} isHighlighted={this.isPhase(membersPhases)}
clickPhase={RightPanel.Phase.RoomMemberList} clickPhase={RightPanel.Phase.RoomMemberList}
analytics={['Right Panel', 'Member List Button', 'click']} analytics={['Right Panel', 'Member List Button', 'click']}
/>, />,
<HeaderButton key="_filesButton" title={_t('Files')} iconSrc="img/icons-files.svg" <HeaderButton key="_filesButton" title={_t('Files')} iconSrc="img/icons-files.svg"
isHighlighted={this.state.phase === RightPanel.Phase.FilePanel} isHighlighted={this.isPhase(RightPanel.Phase.FilePanel)}
clickPhase={RightPanel.Phase.FilePanel} clickPhase={RightPanel.Phase.FilePanel}
analytics={['Right Panel', 'File List Button', 'click']} analytics={['Right Panel', 'File List Button', 'click']}
/>, />,
<HeaderButton key="_notifsButton" title={_t('Notifications')} iconSrc="img/icons-notifications.svg" <HeaderButton key="_notifsButton" title={_t('Notifications')} iconSrc="img/icons-notifications.svg"
isHighlighted={this.state.phase === RightPanel.Phase.NotificationPanel} isHighlighted={this.isPhase(RightPanel.Phase.NotificationPanel)}
clickPhase={RightPanel.Phase.NotificationPanel} clickPhase={RightPanel.Phase.NotificationPanel}
analytics={['Right Panel', 'Notification List Button', 'click']} analytics={['Right Panel', 'Notification List Button', 'click']}
/>, />,