diff --git a/bigbluebutton-html5/imports/ui/components/audio/audio-controls/component.jsx b/bigbluebutton-html5/imports/ui/components/audio/audio-controls/component.jsx index 3ec2232661..079e78d76f 100755 --- a/bigbluebutton-html5/imports/ui/components/audio/audio-controls/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/audio/audio-controls/component.jsx @@ -14,6 +14,10 @@ const intlMessages = defineMessages({ id: 'app.audio.joinAudio', description: 'Join audio button label', }, + leaveAudio: { + id: 'app.audio.leaveAudio', + description: 'Leave audio button label', + }, muteAudio: { id: 'app.actionsBar.muteLabel', description: 'Mute audio button label', @@ -34,14 +38,19 @@ const propTypes = { showMute: PropTypes.bool.isRequired, inAudio: PropTypes.bool.isRequired, listenOnly: PropTypes.bool.isRequired, - intl: PropTypes.object.isRequired, + intl: PropTypes.shape({ + formatMessage: PropTypes.func.isRequired, + }).isRequired, talking: PropTypes.bool.isRequired, }; class AudioControls extends PureComponent { constructor(props) { super(props); - this.renderLeaveButton = this.renderLeaveButton.bind(this); + this.renderLeaveButtonWithoutLiveStreamSelector = this + .renderLeaveButtonWithoutLiveStreamSelector.bind(this); + + this.renderJoinLeaveButton = this.renderJoinLeaveButton.bind(this); } componentDidMount() { @@ -52,19 +61,106 @@ class AudioControls extends PureComponent { } } - renderLeaveButton() { + renderJoinButton() { + const { + handleJoinAudio, + disable, + intl, + shortcuts, + } = this.props; + + return ( +