fix(virtual-background): Check if virtual background is disabled on premeeting.

This commit is contained in:
tudordan7 2021-04-19 19:34:51 +03:00 committed by Дамян Минков
parent 41939d99c8
commit c765e08aa1
2 changed files with 22 additions and 6 deletions

View File

@ -57,7 +57,12 @@ type Props = {
/**
* The video track to render as preview (if omitted, the default local track will be rendered).
*/
videoTrack?: Object
videoTrack?: Object,
/**
* Array with the buttons which this Toolbox should display.
*/
visibleButtons?: Array<string>
}
/**
@ -81,7 +86,7 @@ export default class PreMeetingScreen extends PureComponent<Props> {
* @inheritdoc
*/
render() {
const { name, showAvatar, showConferenceInfo, title, videoMuted, videoTrack } = this.props;
const { name, showAvatar, showConferenceInfo, title, videoMuted, videoTrack, visibleButtons } = this.props;
const showSharingButton = allowUrlSharing();
return (
@ -116,7 +121,9 @@ export default class PreMeetingScreen extends PureComponent<Props> {
<div className = 'toolbox-content-items'>
<AudioSettingsButton visible = { true } />
<VideoSettingsButton visible = { true } />
<VideoBackgroundButton visible = { checkBlurSupport() } />
{ ((visibleButtons && visibleButtons.includes('select-background'))
|| (visibleButtons && visibleButtons.includes('videobackgroundblur')))
&& <VideoBackgroundButton visible = { checkBlurSupport() } /> }
</div>
</div>
</div>

View File

@ -4,6 +4,7 @@ import InlineDialog from '@atlaskit/inline-dialog';
import React, { Component } from 'react';
import { getRoomName } from '../../base/conference';
import { getToolbarButtons } from '../../base/config';
import { translate } from '../../base/i18n';
import { Icon, IconArrowDown, IconArrowUp, IconPhone, IconVolumeOff } from '../../base/icons';
import { isVideoMutedByUser } from '../../base/media';
@ -127,6 +128,11 @@ type Props = {
* The JitsiLocalTrack to display.
*/
videoTrack: ?Object,
/**
* Array with the buttons which this Toolbox should display.
*/
visibleButtons: Array<string>
};
type State = {
@ -295,7 +301,8 @@ class Prejoin extends Component<Props, State> {
showConferenceInfo,
showJoinActions,
t,
videoTrack
videoTrack,
visibleButtons
} = this.props;
const { _closeDialog, _onDropdownClose, _onJoinButtonClick, _onOptionsClick, _setName, _showDialog } = this;
@ -310,7 +317,8 @@ class Prejoin extends Component<Props, State> {
skipPrejoinButton = { this._renderSkipPrejoinButton() }
title = { t('prejoin.joinMeeting') }
videoMuted = { !showCameraPreview }
videoTrack = { videoTrack }>
videoTrack = { videoTrack }
visibleButtons = { visibleButtons }>
{showJoinActions && (
<div className = 'prejoin-input-area-container'>
<div className = 'prejoin-input-area'>
@ -440,7 +448,8 @@ function mapStateToProps(state, ownProps): Object {
hasJoinByPhoneButton: isJoinByPhoneButtonVisible(state),
showCameraPreview: !isVideoMutedByUser(state),
showConferenceInfo,
videoTrack: getLocalJitsiVideoTrack(state)
videoTrack: getLocalJitsiVideoTrack(state),
visibleButtons: getToolbarButtons(state)
};
}