diff --git a/react/features/invite/components/add-people-dialog/web/AddPeopleDialog.js b/react/features/invite/components/add-people-dialog/web/AddPeopleDialog.js
index cc3112e2a..f53c1860d 100644
--- a/react/features/invite/components/add-people-dialog/web/AddPeopleDialog.js
+++ b/react/features/invite/components/add-people-dialog/web/AddPeopleDialog.js
@@ -10,6 +10,7 @@ import { translate } from '../../../../base/i18n';
import { JitsiRecordingConstants } from '../../../../base/lib-jitsi-meet';
import { getLocalParticipant } from '../../../../base/participants';
import { connect } from '../../../../base/redux';
+import { isVpaasMeeting } from '../../../../billing-counter/functions';
import EmbedMeetingTrigger from '../../../../embed-meeting/components/EmbedMeetingTrigger';
import { getActiveSession } from '../../../../recording';
import { updateDialInNumbers } from '../../../actions';
@@ -36,6 +37,11 @@ type Props = {
*/
_dialIn: Object,
+ /**
+ * Whether or not embed meeting should be visible.
+ */
+ _embedMeetingVisible: boolean,
+
/**
* Whether or not invite contacts should be visible.
*/
@@ -80,6 +86,7 @@ type Props = {
function AddPeopleDialog({
_conferenceName,
_dialIn,
+ _embedMeetingVisible,
_inviteContactsVisible,
_inviteUrl,
_liveStreamViewURL,
@@ -152,7 +159,7 @@ function AddPeopleDialog({
-
+ { _embedMeetingVisible && }
{
_liveStreamViewURL
@@ -191,6 +198,7 @@ function mapStateToProps(state) {
return {
_conferenceName: getRoomName(state),
_dialIn: state['features/invite'],
+ _embedMeetingVisible: !isVpaasMeeting(state),
_inviteContactsVisible: interfaceConfig.ENABLE_DIAL_OUT && !hideInviteContacts,
_inviteUrl: getInviteURL(state),
_liveStreamViewURL:
diff --git a/react/features/toolbox/components/web/Toolbox.js b/react/features/toolbox/components/web/Toolbox.js
index 933540fc8..fbf6cc8e6 100644
--- a/react/features/toolbox/components/web/Toolbox.js
+++ b/react/features/toolbox/components/web/Toolbox.js
@@ -33,6 +33,7 @@ import {
import { connect, equals } from '../../../base/redux';
import { OverflowMenuItem } from '../../../base/toolbox/components';
import { getLocalVideoTrack, toggleScreensharing } from '../../../base/tracks';
+import { isVpaasMeeting } from '../../../billing-counter/functions';
import { VideoBlurButton } from '../../../blur';
import { CHAT_SIZE, ChatCounter, toggleChat } from '../../../chat';
import { EmbedMeetingDialog } from '../../../embed-meeting';
@@ -136,6 +137,11 @@ type Props = {
*/
_isGuest: boolean,
+ /**
+ * Whether or not the current meeting belongs to a JaaS user.
+ */
+ _isVpaasMeeting: boolean,
+
/**
* The ID of the local participant.
*/
@@ -971,6 +977,15 @@ class Toolbox extends Component {
);
}
+ /**
+ * Returns true if the profile button is visible and false otherwise.
+ *
+ * @returns {boolean}
+ */
+ _isEmbedMeetingVisible() {
+ return !this.props._isVpaasMeeting && this._shouldShowButton('embedmeeting');
+ }
+
/**
* Returns true if the profile button is visible and false otherwise.
*
@@ -1047,7 +1062,7 @@ class Toolbox extends Component {
key = 'stats'
onClick = { this._onToolbarOpenSpeakerStats }
text = { t('toolbar.speakerStats') } />,
- this._shouldShowButton('embedmeeting')
+ this._isEmbedMeetingVisible()
&&