diff --git a/src/skins/vector/css/molecules/MemberTile.css b/src/skins/vector/css/molecules/MemberTile.css index a4310d206b597d85fd3f9679a7328b01b55be317..faae142abf15b0e9353f08af8af1d32542c19a45 100644 --- a/src/skins/vector/css/molecules/MemberTile.css +++ b/src/skins/vector/css/molecules/MemberTile.css @@ -128,3 +128,7 @@ limitations under the License. .mx_MemberTile_zalgo { font-family: Helvetica, Arial, Sans-Serif; } + +.mx_MemberTile:hover .mx_MessageTimestamp { + display: block; +} diff --git a/src/skins/vector/css/molecules/RoomHeader.css b/src/skins/vector/css/molecules/RoomHeader.css index 4f09275daa27cfe9e19c79c51aedf1d0960f4626..2736efcfa4c9cca5f9170196c00a5d0568e090f6 100644 --- a/src/skins/vector/css/molecules/RoomHeader.css +++ b/src/skins/vector/css/molecules/RoomHeader.css @@ -163,3 +163,7 @@ limitations under the License. .mx_RoomHeader_button img { cursor: pointer; } + +.mx_RoomHeader_voipButton { + display: table-cell; +} diff --git a/src/skins/vector/views/molecules/RoomHeader.js b/src/skins/vector/views/molecules/RoomHeader.js index 3518d1dd586c7924aae2dc2e4bf3f0bbc45dc453..262e3311687beb0a85eb1f99bb1153fd452a41a7 100644 --- a/src/skins/vector/views/molecules/RoomHeader.js +++ b/src/skins/vector/views/molecules/RoomHeader.js @@ -19,6 +19,7 @@ limitations under the License. var React = require('react'); var sdk = require('matrix-react-sdk') +var CallHandler = require('matrix-react-sdk/lib/CallHandler'); var MatrixClientPeg = require('matrix-react-sdk/lib/MatrixClientPeg'); var RoomHeaderController = require('matrix-react-sdk/lib/controllers/molecules/RoomHeader') @@ -54,9 +55,36 @@ module.exports = React.createClass({ var callButtons; if (this.state && this.state.call_state != 'ended') { + var muteVideoButton; + var activeCall = ( + CallHandler.getCallForRoom(this.props.room.roomId) + ); + if (activeCall && activeCall.type === "video") { + muteVideoButton = ( + <div className="mx_RoomHeader_textButton mx_RoomHeader_voipButton" + onClick={this.onMuteVideoClick}> + { + (activeCall.isLocalVideoMuted() ? + "Unmute" : "Mute") + " video" + } + </div> + ); + } + callButtons = ( - <div className="mx_RoomHeader_textButton" onClick={this.onHangupClick}> - End call + <div> + <div className="mx_RoomHeader_textButton mx_RoomHeader_voipButton" + onClick={this.onHangupClick}> + End call + </div> + {muteVideoButton} + <div className="mx_RoomHeader_textButton mx_RoomHeader_voipButton" + onClick={this.onMuteAudioClick}> + { + (activeCall && activeCall.isMicrophoneMuted() ? + "Unmute" : "Mute") + " audio" + } + </div> </div> ); }