Bladeren bron

fix(toolbar): do not show invite button if features not available

This is instead of showing the button with a tooltip about it
being disabled.
master
Leonard Kim 7 jaren geleden
bovenliggende
commit
0a086fa3f7
1 gewijzigde bestanden met toevoegingen van 20 en 10 verwijderingen
  1. 20
    10
      react/features/toolbox/components/ToolboxV2.web.js

+ 20
- 10
react/features/toolbox/components/ToolboxV2.web.js Bestand weergeven

@@ -91,6 +91,12 @@ type Props = {
91 91
      */
92 92
     _fullScreen: boolean,
93 93
 
94
+    /**
95
+     * Whether or not invite should be hidden, regardless of feature
96
+     * availability.
97
+     */
98
+    _hideInviteButton: boolean,
99
+
94 100
     /**
95 101
      * Whether or not the conference is currently being recorded by the local
96 102
      * participant.
@@ -299,9 +305,8 @@ class ToolboxV2 extends Component<Props, State> {
299 305
      */
300 306
     render() {
301 307
         const {
302
-            _addPeopleAvailable,
303 308
             _chatOpen,
304
-            _dialOutAvailable,
309
+            _hideInviteButton,
305 310
             _raisedHand,
306 311
             _visible,
307 312
             t
@@ -349,12 +354,11 @@ class ToolboxV2 extends Component<Props, State> {
349 354
                 </div>
350 355
                 <div className = 'button-group-right'>
351 356
                     { this._shouldShowButton('invite')
357
+                        && !_hideInviteButton
352 358
                         && <ToolbarButtonV2
353 359
                             iconName = 'icon-add'
354 360
                             onClick = { this._onToolbarOpenInvite }
355
-                            tooltip = { _addPeopleAvailable || _dialOutAvailable
356
-                                ? t('addPeople.title')
357
-                                : t('addPeople.notAvailable') } /> }
361
+                            tooltip = { t('addPeople.title') } /> }
358 362
                     { this._shouldShowButton('info') && <InfoDialogButton /> }
359 363
                     { overflowHasItems
360 364
                         && <OverflowMenuButton
@@ -1070,7 +1074,8 @@ function _mapStateToProps(state) {
1070 1074
     const {
1071 1075
         callStatsID,
1072 1076
         enableRecording,
1073
-        enableUserRolesBasedOnToken
1077
+        enableUserRolesBasedOnToken,
1078
+        iAmRecorder
1074 1079
     } = state['features/base/config'];
1075 1080
     const { isGuest } = state['features/base/jwt'];
1076 1081
     const { isRecording, recordingType } = state['features/recording'];
@@ -1085,19 +1090,24 @@ function _mapStateToProps(state) {
1085 1090
     const localParticipant = getLocalParticipant(state);
1086 1091
     const localVideo = getLocalVideoTrack(state['features/base/tracks']);
1087 1092
     const isModerator = localParticipant.role === PARTICIPANT_ROLE.MODERATOR;
1093
+    const isAddPeopleAvailable = !isGuest;
1094
+    const isDialOutAvailable
1095
+        = isModerator
1096
+            && conference && conference.isSIPCallingSupported()
1097
+            && (!enableUserRolesBasedOnToken || !isGuest);
1088 1098
 
1089 1099
     return {
1090
-        _addPeopleAvailable: !isGuest,
1100
+        _addPeopleAvailable: isAddPeopleAvailable,
1091 1101
         _chatOpen: current === 'chat_container',
1092 1102
         _conference: conference,
1093 1103
         _desktopSharingEnabled: desktopSharingEnabled,
1094
-        _dialOutAvailable: isModerator
1095
-            && conference && conference.isSIPCallingSupported()
1096
-            && (!enableUserRolesBasedOnToken || !isGuest),
1104
+        _dialOutAvailable: isDialOutAvailable,
1097 1105
         _dialog: Boolean(state['features/base/dialog'].component),
1098 1106
         _editingDocument: Boolean(state['features/etherpad'].editing),
1099 1107
         _etherpadInitialized: Boolean(state['features/etherpad'].initialized),
1100 1108
         _feedbackConfigured: Boolean(callStatsID),
1109
+        _hideInviteButton: iAmRecorder
1110
+            || (!isAddPeopleAvailable && !isDialOutAvailable),
1101 1111
         _isRecording: isRecording,
1102 1112
         _fullScreen: fullScreen,
1103 1113
         _localParticipantID: localParticipant.id,

Laden…
Annuleren
Opslaan