|
@@ -11,6 +11,10 @@ import {
|
11
|
11
|
isAddPeopleEnabled,
|
12
|
12
|
isDialOutEnabled
|
13
|
13
|
} from '../../functions';
|
|
14
|
+import {
|
|
15
|
+ NOTIFICATION_TIMEOUT,
|
|
16
|
+ showNotification
|
|
17
|
+} from '../../../notifications';
|
14
|
18
|
|
15
|
19
|
const logger = require('jitsi-meet-logger').getLogger(__filename);
|
16
|
20
|
|
|
@@ -21,6 +25,11 @@ export type Props = {
|
21
|
25
|
*/
|
22
|
26
|
_addPeopleEnabled: boolean,
|
23
|
27
|
|
|
28
|
+ /**
|
|
29
|
+ * Whether or not call flows are enabled.
|
|
30
|
+ */
|
|
31
|
+ _callFlowsEnabled: boolean,
|
|
32
|
+
|
24
|
33
|
/**
|
25
|
34
|
* The URL for validating if a phone number can be called.
|
26
|
35
|
*/
|
|
@@ -115,7 +124,7 @@ export default class AbstractAddPeopleDialog<P: Props, S: State>
|
115
|
124
|
addToCallInProgress: true
|
116
|
125
|
});
|
117
|
126
|
|
118
|
|
- const { dispatch } = this.props;
|
|
127
|
+ const { _callFlowsEnabled, dispatch } = this.props;
|
119
|
128
|
|
120
|
129
|
return dispatch(invite(invitees))
|
121
|
130
|
.then(invitesLeftToSend => {
|
|
@@ -140,6 +149,39 @@ export default class AbstractAddPeopleDialog<P: Props, S: State>
|
140
|
149
|
this.setState({
|
141
|
150
|
addToCallError: true
|
142
|
151
|
});
|
|
152
|
+ } else if (!_callFlowsEnabled) {
|
|
153
|
+ const invitedCount = invitees.length;
|
|
154
|
+ let notificationProps;
|
|
155
|
+
|
|
156
|
+ if (invitedCount >= 3) {
|
|
157
|
+ notificationProps = {
|
|
158
|
+ titleArguments: {
|
|
159
|
+ name: invitees[0].name,
|
|
160
|
+ count: invitedCount - 1
|
|
161
|
+ },
|
|
162
|
+ titleKey: 'notify.invitedThreePlusMembers'
|
|
163
|
+ };
|
|
164
|
+ } else if (invitedCount === 2) {
|
|
165
|
+ notificationProps = {
|
|
166
|
+ titleArguments: {
|
|
167
|
+ first: invitees[0].name,
|
|
168
|
+ second: invitees[1].name
|
|
169
|
+ },
|
|
170
|
+ titleKey: 'notify.invitedTwoMembers'
|
|
171
|
+ };
|
|
172
|
+ } else if (invitedCount) {
|
|
173
|
+ notificationProps = {
|
|
174
|
+ titleArguments: {
|
|
175
|
+ name: invitees[0].name
|
|
176
|
+ },
|
|
177
|
+ titleKey: 'notify.invitedOneMember'
|
|
178
|
+ };
|
|
179
|
+ }
|
|
180
|
+
|
|
181
|
+ if (notificationProps) {
|
|
182
|
+ dispatch(
|
|
183
|
+ showNotification(notificationProps, NOTIFICATION_TIMEOUT));
|
|
184
|
+ }
|
143
|
185
|
}
|
144
|
186
|
|
145
|
187
|
return invitesLeftToSend;
|
|
@@ -206,6 +248,7 @@ export default class AbstractAddPeopleDialog<P: Props, S: State>
|
206
|
248
|
*/
|
207
|
249
|
export function _mapStateToProps(state: Object) {
|
208
|
250
|
const {
|
|
251
|
+ callFlowsEnabled,
|
209
|
252
|
dialOutAuthUrl,
|
210
|
253
|
peopleSearchQueryTypes,
|
211
|
254
|
peopleSearchUrl
|
|
@@ -213,6 +256,7 @@ export function _mapStateToProps(state: Object) {
|
213
|
256
|
|
214
|
257
|
return {
|
215
|
258
|
_addPeopleEnabled: isAddPeopleEnabled(state),
|
|
259
|
+ _callFlowsEnabled: callFlowsEnabled,
|
216
|
260
|
_dialOutAuthUrl: dialOutAuthUrl,
|
217
|
261
|
_dialOutEnabled: isDialOutEnabled(state),
|
218
|
262
|
_jwt: state['features/base/jwt'].jwt,
|