@capillarytech/creatives-library 8.0.329 → 8.0.330
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/constants/unified.js +0 -14
- package/package.json +1 -1
- package/services/api.js +0 -17
- package/services/tests/api.test.js +0 -85
- package/utils/commonUtils.js +0 -10
- package/utils/tests/commonUtil.test.js +0 -169
- package/v2Components/CapTagList/index.js +0 -10
- package/v2Components/CommonTestAndPreview/CustomValuesEditor.js +49 -70
- package/v2Components/CommonTestAndPreview/DeliverySettings/DeliverySettings.scss +2 -8
- package/v2Components/CommonTestAndPreview/DeliverySettings/ModifyDeliverySettings.js +21 -207
- package/v2Components/CommonTestAndPreview/DeliverySettings/constants.js +0 -16
- package/v2Components/CommonTestAndPreview/DeliverySettings/index.js +10 -85
- package/v2Components/CommonTestAndPreview/DeliverySettings/messages.js +0 -30
- package/v2Components/CommonTestAndPreview/DeliverySettings/utils/parseSenderDetailsResponse.js +11 -79
- package/v2Components/CommonTestAndPreview/SendTestMessage.js +53 -87
- package/v2Components/CommonTestAndPreview/UnifiedPreview/_unifiedPreview.scss +1 -20
- package/v2Components/CommonTestAndPreview/UnifiedPreview/index.js +4 -133
- package/v2Components/CommonTestAndPreview/_commonTestAndPreview.scss +34 -145
- package/v2Components/CommonTestAndPreview/actions.js +0 -10
- package/v2Components/CommonTestAndPreview/constants.js +1 -53
- package/v2Components/CommonTestAndPreview/index.js +168 -1006
- package/v2Components/CommonTestAndPreview/messages.js +3 -147
- package/v2Components/CommonTestAndPreview/reducer.js +0 -10
- package/v2Components/CommonTestAndPreview/sagas.js +6 -15
- package/v2Components/CommonTestAndPreview/tests/CustomValuesEditor.test.js +286 -328
- package/v2Components/CommonTestAndPreview/tests/DeliverySettings/ModifyDeliverySettings.test.js +65 -231
- package/v2Components/CommonTestAndPreview/tests/DeliverySettings/index.test.js +5 -118
- package/v2Components/CommonTestAndPreview/tests/DeliverySettings/utils/parseSenderDetailsResponse.test.js +0 -341
- package/v2Components/CommonTestAndPreview/tests/SendTestMessage.test.js +24 -65
- package/v2Components/CommonTestAndPreview/tests/UnifiedPreview/index.test.js +1 -199
- package/v2Components/CommonTestAndPreview/tests/constants.test.js +1 -31
- package/v2Components/CommonTestAndPreview/tests/index.test.js +4 -168
- package/v2Components/CommonTestAndPreview/tests/reducer.test.js +0 -71
- package/v2Components/CommonTestAndPreview/tests/sagas.test.js +2 -2
- package/v2Components/CommonTestAndPreview/tests/selectors.test.js +0 -17
- package/v2Components/FormBuilder/index.js +1 -7
- package/v2Components/TestAndPreviewSlidebox/index.js +1 -8
- package/v2Components/TestAndPreviewSlidebox/sagas.js +4 -11
- package/v2Components/TestAndPreviewSlidebox/tests/saga.test.js +1 -3
- package/v2Containers/CreativesContainer/SlideBoxContent.js +4 -36
- package/v2Containers/CreativesContainer/SlideBoxFooter.js +1 -10
- package/v2Containers/CreativesContainer/SlideBoxHeader.js +4 -29
- package/v2Containers/CreativesContainer/constants.js +0 -9
- package/v2Containers/CreativesContainer/index.js +93 -286
- package/v2Containers/CreativesContainer/index.scss +1 -51
- package/v2Containers/CreativesContainer/tests/SlideBoxFooter.test.js +34 -78
- package/v2Containers/CreativesContainer/tests/SlideBoxHeader.test.js +16 -79
- package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +0 -8
- package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxHeader.test.js.snap +98 -357
- package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +10 -20
- package/v2Containers/CreativesContainer/tests/index.test.js +9 -71
- package/v2Containers/Rcs/constants.js +1 -34
- package/v2Containers/Rcs/index.js +884 -999
- package/v2Containers/Rcs/index.scss +6 -85
- package/v2Containers/Rcs/messages.js +1 -10
- package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +2453 -41456
- package/v2Containers/Rcs/tests/__snapshots__/utils.test.js.snap +5 -0
- package/v2Containers/Rcs/tests/index.test.js +38 -41
- package/v2Containers/Rcs/tests/mockData.js +0 -38
- package/v2Containers/Rcs/tests/utils.test.js +1 -379
- package/v2Containers/Rcs/utils.js +10 -358
- package/v2Containers/Sms/Create/index.js +38 -100
- package/v2Containers/SmsTrai/Create/index.js +4 -9
- package/v2Containers/SmsTrai/Edit/constants.js +0 -2
- package/v2Containers/SmsTrai/Edit/index.js +128 -609
- package/v2Containers/SmsTrai/Edit/messages.js +4 -9
- package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +2600 -4586
- package/v2Containers/SmsWrapper/index.js +8 -37
- package/v2Containers/TagList/index.js +0 -6
- package/v2Containers/Templates/_templates.scss +2 -63
- package/v2Containers/Templates/actions.js +0 -11
- package/v2Containers/Templates/constants.js +0 -2
- package/v2Containers/Templates/index.js +40 -90
- package/v2Containers/Templates/sagas.js +12 -57
- package/v2Containers/Templates/tests/__snapshots__/index.test.js.snap +1079 -1043
- package/v2Containers/Templates/tests/sagas.test.js +123 -193
- package/v2Containers/TemplatesV2/TemplatesV2.style.js +1 -72
- package/v2Containers/TemplatesV2/index.js +23 -86
- package/v2Containers/Whatsapp/index.js +20 -3
- package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +4872 -5790
- package/utils/templateVarUtils.js +0 -172
- package/utils/tests/templateVarUtils.test.js +0 -160
- package/v2Components/CommonTestAndPreview/AddTestCustomer.js +0 -42
- package/v2Components/CommonTestAndPreview/CustomerCreationModal.js +0 -155
- package/v2Components/CommonTestAndPreview/ExistingCustomerModal.js +0 -93
- package/v2Components/CommonTestAndPreview/previewApiUtils.js +0 -59
- package/v2Components/CommonTestAndPreview/tests/AddTestCustomer.test.js +0 -66
- package/v2Components/CommonTestAndPreview/tests/CommonTestAndPreview.addTestCustomer.test.js +0 -648
- package/v2Components/CommonTestAndPreview/tests/CustomerCreationModal.test.js +0 -174
- package/v2Components/CommonTestAndPreview/tests/ExistingCustomerModal.test.js +0 -114
- package/v2Components/CommonTestAndPreview/tests/previewApiUtils.test.js +0 -67
- package/v2Components/SmsFallback/SmsFallbackLocalSelector.js +0 -87
- package/v2Components/SmsFallback/constants.js +0 -73
- package/v2Components/SmsFallback/index.js +0 -955
- package/v2Components/SmsFallback/index.scss +0 -265
- package/v2Components/SmsFallback/messages.js +0 -78
- package/v2Components/SmsFallback/smsFallbackUtils.js +0 -107
- package/v2Components/SmsFallback/tests/SmsFallbackLocalSelector.test.js +0 -50
- package/v2Components/SmsFallback/tests/rcsSmsFallback.acceptance.test.js +0 -147
- package/v2Components/SmsFallback/tests/smsFallbackHandlers.test.js +0 -304
- package/v2Components/SmsFallback/tests/smsFallbackUi.test.js +0 -197
- package/v2Components/SmsFallback/tests/smsFallbackUtils.test.js +0 -261
- package/v2Components/SmsFallback/tests/useLocalTemplateList.test.js +0 -422
- package/v2Components/SmsFallback/useLocalTemplateList.js +0 -92
- package/v2Components/VarSegmentMessageEditor/constants.js +0 -2
- package/v2Components/VarSegmentMessageEditor/index.js +0 -125
- package/v2Components/VarSegmentMessageEditor/index.scss +0 -46
- package/v2Containers/CreativesContainer/CreativesSlideBoxWrapper.js +0 -43
- package/v2Containers/CreativesContainer/embeddedSlideboxUtils.js +0 -67
- package/v2Containers/CreativesContainer/tests/SlideBoxContent.localTemplates.test.js +0 -90
- package/v2Containers/CreativesContainer/tests/embeddedSlideboxUtils.test.js +0 -258
- package/v2Containers/CreativesContainer/tests/useLocalTemplatesProp.test.js +0 -125
- package/v2Containers/Rcs/rcsLibraryHydrationUtils.js +0 -205
- package/v2Containers/Rcs/tests/rcsLibraryHydrationUtils.test.js +0 -251
- package/v2Containers/Sms/smsFormDataHelpers.js +0 -67
- package/v2Containers/Sms/tests/smsFormDataHelpers.test.js +0 -253
- package/v2Containers/SmsTrai/Edit/index.scss +0 -121
- package/v2Containers/Templates/TemplatesActionBar.js +0 -101
- package/v2Containers/Templates/tests/TemplatesActionBar.test.js +0 -120
- package/v2Containers/Templates/tests/smsTemplatesListApi.test.js +0 -180
- package/v2Containers/Templates/utils/smsTemplatesListApi.js +0 -79
- package/v2Containers/TemplatesV2/tests/TemplatesV2.localTemplates.test.js +0 -131
|
@@ -32,37 +32,16 @@ import {
|
|
|
32
32
|
DELIVERY_SETTING_KEY_SENDER_REPLY_TO,
|
|
33
33
|
DELIVERY_SETTING_KEY_SOURCE_ACCOUNT_IDENTIFIER,
|
|
34
34
|
DELIVERY_SETTING_KEY_SENDER_MOB_NUM,
|
|
35
|
-
DELIVERY_SETTING_KEY_SMS_FALLBACK_DOMAIN_ID,
|
|
36
35
|
} from './constants';
|
|
37
36
|
import './ModifyDeliverySettings.scss';
|
|
38
37
|
|
|
39
38
|
const findDefault = (array) => find(array, { default: true }) || (array && array[0]) || {};
|
|
40
39
|
|
|
41
|
-
/**
|
|
42
|
-
* Drop empty GSM rows. Optionally drop rows whose value equals domain name — some APIs duplicate
|
|
43
|
-
* domain label as a bogus sender row; RCS/DLT often legitimately use the same string (e.g. DetailsForGW1).
|
|
44
|
-
*/
|
|
45
|
-
const filterUsableGsmSendersForDomain = (domain, gsmSenders, { skipDomainNameEchoFilter = false } = {}) => {
|
|
46
|
-
const normalizedDomainName =
|
|
47
|
-
domain?.domainName != null ? String(domain.domainName).trim().toLowerCase() : '';
|
|
48
|
-
return (gsmSenders || []).filter((gsmSenderRow) => {
|
|
49
|
-
const rawValue = gsmSenderRow?.value;
|
|
50
|
-
if (rawValue == null) return false;
|
|
51
|
-
const trimmedSenderValue = String(rawValue).trim();
|
|
52
|
-
if (!trimmedSenderValue) return false;
|
|
53
|
-
const senderMatchesDomainLabel =
|
|
54
|
-
normalizedDomainName && trimmedSenderValue.toLowerCase() === normalizedDomainName;
|
|
55
|
-
if (!skipDomainNameEchoFilter && senderMatchesDomainLabel) return false;
|
|
56
|
-
return true;
|
|
57
|
-
});
|
|
58
|
-
};
|
|
59
|
-
|
|
60
40
|
const ModifyDeliverySettings = (props) => {
|
|
61
41
|
const {
|
|
62
42
|
channel,
|
|
63
43
|
deliverySettings: initialSettings = {},
|
|
64
44
|
senderDetailsOptions = [],
|
|
65
|
-
smsFallbackSenderDetailsOptions = [],
|
|
66
45
|
wecrmAccounts = [],
|
|
67
46
|
onSaveDeliverySettings,
|
|
68
47
|
onClose,
|
|
@@ -123,21 +102,17 @@ const ModifyDeliverySettings = (props) => {
|
|
|
123
102
|
if (!(channel === CHANNELS.SMS && smsTraiDltEnabled)) {
|
|
124
103
|
return allDomainOptions;
|
|
125
104
|
}
|
|
126
|
-
// Without template registered sender IDs, strict DLT filter removes every domain — keep full list.
|
|
127
|
-
if (!registeredSenderIds?.length) {
|
|
128
|
-
return allDomainOptions;
|
|
129
|
-
}
|
|
130
105
|
|
|
131
|
-
return allDomainOptions.filter((domain) => (domain
|
|
132
|
-
(
|
|
106
|
+
return allDomainOptions.filter((domain) => (domain.gsmSenders || []).some(
|
|
107
|
+
(gsmId) => registeredSenderIds.includes(gsmId.value),
|
|
133
108
|
));
|
|
134
109
|
}, [allDomainOptions, channel, registeredSenderIds, smsTraiDltEnabled]);
|
|
135
110
|
|
|
136
111
|
const selectedDomain = useMemo(
|
|
137
112
|
() => (senderDetailsOptions || []).find(
|
|
138
|
-
(
|
|
113
|
+
(d) => d.domainId === get(localSettings, DELIVERY_SETTING_KEY_DOMAIN_ID),
|
|
139
114
|
) || {},
|
|
140
|
-
[senderDetailsOptions,
|
|
115
|
+
[senderDetailsOptions, localSettings.domainId],
|
|
141
116
|
);
|
|
142
117
|
const {
|
|
143
118
|
gsmSenders: selectedDomainGsmSenders = [],
|
|
@@ -145,103 +120,25 @@ const ModifyDeliverySettings = (props) => {
|
|
|
145
120
|
emailRepliers: selectedDomainEmailRepliers = [],
|
|
146
121
|
} = selectedDomain;
|
|
147
122
|
|
|
148
|
-
const rcsSenderOptions = useMemo(
|
|
149
|
-
() => {
|
|
150
|
-
if (channel !== CHANNELS.RCS) return [];
|
|
151
|
-
const rcsDomainRows = senderDetailsOptions || [];
|
|
152
|
-
const selectedRcsDomainId = get(localSettings, DELIVERY_SETTING_KEY_DOMAIN_ID);
|
|
153
|
-
const rcsDomainsForDropdown =
|
|
154
|
-
selectedRcsDomainId != null && selectedRcsDomainId !== ''
|
|
155
|
-
? rcsDomainRows.filter((senderDomain) => senderDomain?.domainId === selectedRcsDomainId)
|
|
156
|
-
: rcsDomainRows;
|
|
157
|
-
return rcsDomainsForDropdown.flatMap((senderDomain) =>
|
|
158
|
-
filterUsableGsmSendersForDomain(senderDomain, senderDomain?.gsmSenders, {
|
|
159
|
-
skipDomainNameEchoFilter: true,
|
|
160
|
-
}).map((gsmSenderRow) => ({
|
|
161
|
-
value: senderDomain?.domainId != null && gsmSenderRow?.value != null
|
|
162
|
-
? `${senderDomain.domainId}|${gsmSenderRow.value}`
|
|
163
|
-
: gsmSenderRow?.value,
|
|
164
|
-
label: String(gsmSenderRow?.value ?? ''),
|
|
165
|
-
})));
|
|
166
|
-
},
|
|
167
|
-
[channel, senderDetailsOptions, localSettings],
|
|
168
|
-
);
|
|
169
|
-
|
|
170
|
-
const rcsGsmSenderIdForSelect = useMemo(() => {
|
|
171
|
-
const raw = get(localSettings, DELIVERY_SETTING_KEY_GSM_SENDER_ID);
|
|
172
|
-
if (raw == null || raw === '') return undefined;
|
|
173
|
-
const allowed = new Set((rcsSenderOptions || []).map((senderOption) => senderOption.value));
|
|
174
|
-
return allowed.has(raw) ? raw : undefined;
|
|
175
|
-
}, [localSettings, rcsSenderOptions]);
|
|
176
|
-
|
|
177
|
-
const smsFallbackDomainOptions = useMemo(
|
|
178
|
-
() => {
|
|
179
|
-
const raw = (smsFallbackSenderDetailsOptions || []).map((senderDetails) => ({
|
|
180
|
-
label: senderDetails.domainName || senderDetails.domainId,
|
|
181
|
-
value: senderDetails.domainId,
|
|
182
|
-
...senderDetails,
|
|
183
|
-
}));
|
|
184
|
-
if (!(channel === CHANNELS.RCS && smsTraiDltEnabled && registeredSenderIds?.length)) {
|
|
185
|
-
return raw;
|
|
186
|
-
}
|
|
187
|
-
return raw.filter((domain) => (domain?.gsmSenders || []).some(
|
|
188
|
-
(gsmSenderOption) => registeredSenderIds?.includes(gsmSenderOption?.value),
|
|
189
|
-
));
|
|
190
|
-
},
|
|
191
|
-
[channel, smsFallbackSenderDetailsOptions, smsTraiDltEnabled, registeredSenderIds],
|
|
192
|
-
);
|
|
193
|
-
|
|
194
|
-
const smsSenderOptions = useMemo(
|
|
195
|
-
() => {
|
|
196
|
-
if (channel !== CHANNELS.RCS) return [];
|
|
197
|
-
const smsFallbackDomainRows = smsFallbackSenderDetailsOptions || [];
|
|
198
|
-
const selectedSmsFallbackDomainId = get(localSettings, DELIVERY_SETTING_KEY_SMS_FALLBACK_DOMAIN_ID);
|
|
199
|
-
const smsFallbackDomainsForDropdown =
|
|
200
|
-
selectedSmsFallbackDomainId != null && selectedSmsFallbackDomainId !== ''
|
|
201
|
-
? smsFallbackDomainRows.filter((senderDomain) => senderDomain?.domainId === selectedSmsFallbackDomainId)
|
|
202
|
-
: smsFallbackDomainRows;
|
|
203
|
-
const shouldFilterSmsSendersByDltRegistration = smsTraiDltEnabled && registeredSenderIds?.length;
|
|
204
|
-
return smsFallbackDomainsForDropdown.flatMap((senderDomain) =>
|
|
205
|
-
filterUsableGsmSendersForDomain(senderDomain, senderDomain?.gsmSenders)
|
|
206
|
-
.filter((smsGsmSenderRow) =>
|
|
207
|
-
!shouldFilterSmsSendersByDltRegistration || registeredSenderIds?.includes(smsGsmSenderRow?.value))
|
|
208
|
-
.map((gsmSenderRow) => ({
|
|
209
|
-
value: senderDomain?.domainId != null && gsmSenderRow?.value != null
|
|
210
|
-
? `${senderDomain.domainId}|${gsmSenderRow.value}`
|
|
211
|
-
: gsmSenderRow?.value,
|
|
212
|
-
label: String(gsmSenderRow?.value ?? ''),
|
|
213
|
-
})));
|
|
214
|
-
},
|
|
215
|
-
[channel, smsFallbackSenderDetailsOptions, localSettings, smsTraiDltEnabled, registeredSenderIds],
|
|
216
|
-
);
|
|
217
|
-
|
|
218
|
-
const smsFallbackGsmIdForSelect = useMemo(() => {
|
|
219
|
-
const raw = get(localSettings, DELIVERY_SETTING_KEY_CDMA_SENDER_ID);
|
|
220
|
-
if (raw == null || raw === '') return undefined;
|
|
221
|
-
const allowed = new Set((smsSenderOptions || []).map((senderOption) => senderOption.value));
|
|
222
|
-
return allowed.has(raw) ? raw : undefined;
|
|
223
|
-
}, [localSettings, smsSenderOptions]);
|
|
224
|
-
|
|
225
123
|
const gsmOptions = useMemo(
|
|
226
124
|
() => {
|
|
227
|
-
const
|
|
228
|
-
? selectedDomainGsmSenders.filter((
|
|
229
|
-
registeredSenderIds?.includes(gsmSenderOption?.value))
|
|
125
|
+
const smsGsmSenders = channel === CHANNELS.SMS && smsTraiDltEnabled
|
|
126
|
+
? selectedDomainGsmSenders.filter((gsmId) => registeredSenderIds.includes(gsmId.value))
|
|
230
127
|
: selectedDomainGsmSenders;
|
|
231
128
|
|
|
232
|
-
return
|
|
233
|
-
label:
|
|
234
|
-
value:
|
|
129
|
+
return smsGsmSenders.map((o) => ({
|
|
130
|
+
label: o.value || o.label,
|
|
131
|
+
value: o.value,
|
|
235
132
|
}));
|
|
236
133
|
},
|
|
237
134
|
[channel, registeredSenderIds, selectedDomainGsmSenders, smsTraiDltEnabled],
|
|
238
135
|
);
|
|
239
136
|
|
|
240
137
|
const emailSenderOptions = useMemo(
|
|
241
|
-
() => selectedDomainEmailSenders.map((
|
|
242
|
-
label:
|
|
243
|
-
value:
|
|
244
|
-
senderLabel:
|
|
138
|
+
() => selectedDomainEmailSenders.map((o) => ({
|
|
139
|
+
label: o.value || o.label,
|
|
140
|
+
value: o.value,
|
|
141
|
+
senderLabel: o.label,
|
|
245
142
|
})),
|
|
246
143
|
[selectedDomainEmailSenders],
|
|
247
144
|
);
|
|
@@ -307,47 +204,13 @@ const ModifyDeliverySettings = (props) => {
|
|
|
307
204
|
});
|
|
308
205
|
}, []);
|
|
309
206
|
|
|
310
|
-
const onSmsFallbackDomainChange = useCallback(
|
|
311
|
-
(value) => {
|
|
312
|
-
setLocalSettings((prev) => {
|
|
313
|
-
const next = cloneDeep(prev);
|
|
314
|
-
next[DELIVERY_SETTING_KEY_SMS_FALLBACK_DOMAIN_ID] = value;
|
|
315
|
-
const selectedSmsFallbackDomain = (smsFallbackSenderDetailsOptions || []).find(
|
|
316
|
-
(senderDomain) => senderDomain?.domainId === value,
|
|
317
|
-
);
|
|
318
|
-
const usableSmsFallbackGsmSenders = filterUsableGsmSendersForDomain(
|
|
319
|
-
selectedSmsFallbackDomain,
|
|
320
|
-
selectedSmsFallbackDomain?.gsmSenders,
|
|
321
|
-
);
|
|
322
|
-
const firstSmsFallbackGsmSender = usableSmsFallbackGsmSenders[0];
|
|
323
|
-
const composite = selectedSmsFallbackDomain?.domainId != null && firstSmsFallbackGsmSender?.value != null
|
|
324
|
-
? `${selectedSmsFallbackDomain.domainId}|${firstSmsFallbackGsmSender.value}`
|
|
325
|
-
: (firstSmsFallbackGsmSender?.value || '');
|
|
326
|
-
next[DELIVERY_SETTING_KEY_CDMA_SENDER_ID] = composite;
|
|
327
|
-
return next;
|
|
328
|
-
});
|
|
329
|
-
},
|
|
330
|
-
[smsFallbackSenderDetailsOptions],
|
|
331
|
-
);
|
|
332
|
-
|
|
333
207
|
const onDomainChange = useCallback(
|
|
334
208
|
(value) => {
|
|
335
|
-
const domain = domainOptions.find((
|
|
209
|
+
const domain = domainOptions.find((d) => d.value === value);
|
|
336
210
|
updateSetting(DELIVERY_SETTING_KEY_DOMAIN_ID, value);
|
|
337
211
|
if (domain?.dgmId != null) updateSetting(DELIVERY_SETTING_KEY_DOMAIN_GATEWAY_MAP_ID, domain.dgmId);
|
|
338
|
-
if (channel === CHANNELS.RCS && domain) {
|
|
339
|
-
const usableRcsGsmSenders = filterUsableGsmSendersForDomain(domain, domain?.gsmSenders, {
|
|
340
|
-
skipDomainNameEchoFilter: true,
|
|
341
|
-
});
|
|
342
|
-
const firstRcsGsmSender = usableRcsGsmSenders[0];
|
|
343
|
-
const composite = domain?.domainId != null && firstRcsGsmSender?.value != null
|
|
344
|
-
? `${domain.domainId}|${firstRcsGsmSender.value}`
|
|
345
|
-
: (firstRcsGsmSender?.value || '');
|
|
346
|
-
updateSetting(DELIVERY_SETTING_KEY_GSM_SENDER_ID, composite);
|
|
347
|
-
return;
|
|
348
|
-
}
|
|
349
212
|
if (channel === CHANNELS.SMS && domain) {
|
|
350
|
-
const smsGsmSenders = smsTraiDltEnabled
|
|
213
|
+
const smsGsmSenders = smsTraiDltEnabled
|
|
351
214
|
? (domain.gsmSenders || []).filter((gsmId) => registeredSenderIds.includes(gsmId.value))
|
|
352
215
|
: domain.gsmSenders;
|
|
353
216
|
const def = findDefault(smsGsmSenders);
|
|
@@ -367,20 +230,9 @@ const ModifyDeliverySettings = (props) => {
|
|
|
367
230
|
);
|
|
368
231
|
|
|
369
232
|
const handleDone = useCallback(() => {
|
|
370
|
-
|
|
371
|
-
if (channel === CHANNELS.RCS) {
|
|
372
|
-
const rawRcs = get(next, DELIVERY_SETTING_KEY_GSM_SENDER_ID);
|
|
373
|
-
if (rawRcs && !(rcsSenderOptions || []).some((senderOption) => senderOption.value === rawRcs)) {
|
|
374
|
-
next[DELIVERY_SETTING_KEY_GSM_SENDER_ID] = '';
|
|
375
|
-
}
|
|
376
|
-
const rawSms = get(next, DELIVERY_SETTING_KEY_CDMA_SENDER_ID);
|
|
377
|
-
if (rawSms && !(smsSenderOptions || []).some((senderOption) => senderOption.value === rawSms)) {
|
|
378
|
-
next[DELIVERY_SETTING_KEY_CDMA_SENDER_ID] = '';
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
|
-
onSaveDeliverySettings(next);
|
|
233
|
+
onSaveDeliverySettings(localSettings);
|
|
382
234
|
if (onClose) onClose();
|
|
383
|
-
}, [
|
|
235
|
+
}, [localSettings, onSaveDeliverySettings, onClose]);
|
|
384
236
|
|
|
385
237
|
const renderSelectRow = useCallback(
|
|
386
238
|
({
|
|
@@ -434,7 +286,7 @@ const ModifyDeliverySettings = (props) => {
|
|
|
434
286
|
value: get(localSettings, DELIVERY_SETTING_KEY_SENDER_EMAIL),
|
|
435
287
|
onChange: (val) => {
|
|
436
288
|
const sender = selectedDomainEmailSenders.find(
|
|
437
|
-
(
|
|
289
|
+
(s) => s.value === val,
|
|
438
290
|
);
|
|
439
291
|
updateSetting(DELIVERY_SETTING_KEY_SENDER_EMAIL, val);
|
|
440
292
|
updateSetting(DELIVERY_SETTING_KEY_SENDER_LABEL, sender?.label || val);
|
|
@@ -446,7 +298,7 @@ const ModifyDeliverySettings = (props) => {
|
|
|
446
298
|
value: get(localSettings, DELIVERY_SETTING_KEY_SENDER_LABEL) || '',
|
|
447
299
|
onChange: (val) => {
|
|
448
300
|
const sender = selectedDomainEmailSenders.find(
|
|
449
|
-
(
|
|
301
|
+
(s) => (s.label || s.value) === val,
|
|
450
302
|
);
|
|
451
303
|
if (sender) {
|
|
452
304
|
updateSetting(DELIVERY_SETTING_KEY_SENDER_EMAIL, sender.value);
|
|
@@ -474,7 +326,7 @@ const ModifyDeliverySettings = (props) => {
|
|
|
474
326
|
onChange: (val) => {
|
|
475
327
|
updateSetting(DELIVERY_SETTING_KEY_SOURCE_ACCOUNT_IDENTIFIER, val);
|
|
476
328
|
const domain = (senderDetailsOptions || []).find(
|
|
477
|
-
(
|
|
329
|
+
(d) => d.sourceAccountIdentifier === val,
|
|
478
330
|
);
|
|
479
331
|
const first = domain?.gsmSenders?.[0];
|
|
480
332
|
updateSetting(DELIVERY_SETTING_KEY_SENDER_MOB_NUM, first?.value || '');
|
|
@@ -488,39 +340,10 @@ const ModifyDeliverySettings = (props) => {
|
|
|
488
340
|
onChange: (val) => updateSetting(DELIVERY_SETTING_KEY_SENDER_MOB_NUM, val),
|
|
489
341
|
},
|
|
490
342
|
];
|
|
491
|
-
const rcsFields = [
|
|
492
|
-
{
|
|
493
|
-
titleMessage: messages.rcsDomainLabel,
|
|
494
|
-
options: domainOptions,
|
|
495
|
-
value: get(localSettings, DELIVERY_SETTING_KEY_DOMAIN_ID),
|
|
496
|
-
onChange: (val) => onDomainChange(val),
|
|
497
|
-
},
|
|
498
|
-
{
|
|
499
|
-
titleMessage: messages.rcsSenderIdLabel,
|
|
500
|
-
options: rcsSenderOptions,
|
|
501
|
-
value: rcsGsmSenderIdForSelect,
|
|
502
|
-
onChange: (val) => updateSetting(DELIVERY_SETTING_KEY_GSM_SENDER_ID, val),
|
|
503
|
-
},
|
|
504
|
-
...((smsFallbackSenderDetailsOptions || []).length > 0 ? [
|
|
505
|
-
{
|
|
506
|
-
titleMessage: messages.fallbackSmsDomainLabel,
|
|
507
|
-
options: smsFallbackDomainOptions,
|
|
508
|
-
value: get(localSettings, DELIVERY_SETTING_KEY_SMS_FALLBACK_DOMAIN_ID),
|
|
509
|
-
onChange: onSmsFallbackDomainChange,
|
|
510
|
-
},
|
|
511
|
-
{
|
|
512
|
-
titleMessage: messages.fallbackSmsSenderIdLabel,
|
|
513
|
-
options: smsSenderOptions,
|
|
514
|
-
value: smsFallbackGsmIdForSelect,
|
|
515
|
-
onChange: (val) => updateSetting(DELIVERY_SETTING_KEY_CDMA_SENDER_ID, val),
|
|
516
|
-
},
|
|
517
|
-
] : []),
|
|
518
|
-
];
|
|
519
343
|
const byChannel = {
|
|
520
344
|
[CHANNELS.SMS]: smsFields,
|
|
521
345
|
[CHANNELS.EMAIL]: emailFields,
|
|
522
346
|
[CHANNELS.WHATSAPP]: whatsappFields,
|
|
523
|
-
[CHANNELS.RCS]: rcsFields,
|
|
524
347
|
};
|
|
525
348
|
return byChannel[channel] || [];
|
|
526
349
|
}, [
|
|
@@ -533,13 +356,6 @@ const ModifyDeliverySettings = (props) => {
|
|
|
533
356
|
wecrmAccountOptions,
|
|
534
357
|
whatsappAccountOptionsForDisplay,
|
|
535
358
|
whatsappSenderOptions,
|
|
536
|
-
rcsSenderOptions,
|
|
537
|
-
rcsGsmSenderIdForSelect,
|
|
538
|
-
smsSenderOptions,
|
|
539
|
-
smsFallbackGsmIdForSelect,
|
|
540
|
-
smsFallbackDomainOptions,
|
|
541
|
-
smsFallbackSenderDetailsOptions,
|
|
542
|
-
onSmsFallbackDomainChange,
|
|
543
359
|
localSettings,
|
|
544
360
|
selectedDomainEmailSenders,
|
|
545
361
|
senderDetailsOptions,
|
|
@@ -574,10 +390,9 @@ const ModifyDeliverySettings = (props) => {
|
|
|
574
390
|
};
|
|
575
391
|
|
|
576
392
|
ModifyDeliverySettings.propTypes = {
|
|
577
|
-
channel: PropTypes.oneOf([CHANNELS.SMS, CHANNELS.EMAIL, CHANNELS.WHATSAPP
|
|
393
|
+
channel: PropTypes.oneOf([CHANNELS.SMS, CHANNELS.EMAIL, CHANNELS.WHATSAPP]).isRequired,
|
|
578
394
|
deliverySettings: PropTypes.object,
|
|
579
395
|
senderDetailsOptions: PropTypes.array,
|
|
580
|
-
smsFallbackSenderDetailsOptions: PropTypes.array,
|
|
581
396
|
wecrmAccounts: PropTypes.array,
|
|
582
397
|
onSaveDeliverySettings: PropTypes.func.isRequired,
|
|
583
398
|
onClose: PropTypes.func,
|
|
@@ -593,7 +408,6 @@ ModifyDeliverySettings.propTypes = {
|
|
|
593
408
|
ModifyDeliverySettings.defaultProps = {
|
|
594
409
|
deliverySettings: {},
|
|
595
410
|
senderDetailsOptions: [],
|
|
596
|
-
smsFallbackSenderDetailsOptions: [],
|
|
597
411
|
wecrmAccounts: [],
|
|
598
412
|
onClose: undefined,
|
|
599
413
|
isLoading: false,
|
|
@@ -21,8 +21,6 @@ export const DELIVERY_SETTING_KEY_SENDER_LABEL = 'senderLabel';
|
|
|
21
21
|
export const DELIVERY_SETTING_KEY_SENDER_REPLY_TO = 'senderReplyTo';
|
|
22
22
|
export const DELIVERY_SETTING_KEY_SOURCE_ACCOUNT_IDENTIFIER = 'sourceAccountIdentifier';
|
|
23
23
|
export const DELIVERY_SETTING_KEY_SENDER_MOB_NUM = 'senderMobNum';
|
|
24
|
-
/** RCS: SMS fallback domain (separate from primary RCS domainId) */
|
|
25
|
-
export const DELIVERY_SETTING_KEY_SMS_FALLBACK_DOMAIN_ID = 'smsFallbackDomainId';
|
|
26
24
|
|
|
27
25
|
/** data-testid for delivery settings edit icon */
|
|
28
26
|
export const TEST_ID_DELIVERY_SETTINGS_EDIT = 'delivery-settings-edit';
|
|
@@ -34,7 +32,6 @@ export const CHANNELS_WITH_DELIVERY_SETTINGS = [
|
|
|
34
32
|
CHANNELS.SMS,
|
|
35
33
|
CHANNELS.EMAIL,
|
|
36
34
|
CHANNELS.WHATSAPP,
|
|
37
|
-
CHANNELS.RCS,
|
|
38
35
|
];
|
|
39
36
|
|
|
40
37
|
/** Default empty delivery setting per channel (campaigns-style shape) */
|
|
@@ -59,21 +56,8 @@ export const DEFAULT_DELIVERY_SETTING_WHATSAPP = {
|
|
|
59
56
|
sourceAccountIdentifier: '',
|
|
60
57
|
};
|
|
61
58
|
|
|
62
|
-
/** RCS: gsmSenderId = RCS sender, cdmaSenderId = SMS fallback sender (reuse same keys) */
|
|
63
|
-
export const DEFAULT_DELIVERY_SETTING_RCS = {
|
|
64
|
-
domainId: null,
|
|
65
|
-
domainGatewayMapId: null,
|
|
66
|
-
gsmSenderId: '',
|
|
67
|
-
smsFallbackDomainId: null,
|
|
68
|
-
cdmaSenderId: '',
|
|
69
|
-
};
|
|
70
|
-
|
|
71
59
|
export const DEFAULT_DELIVERY_SETTINGS_BY_CHANNEL = {
|
|
72
60
|
[CHANNELS.SMS]: DEFAULT_DELIVERY_SETTING_SMS,
|
|
73
61
|
[CHANNELS.EMAIL]: DEFAULT_DELIVERY_SETTING_EMAIL,
|
|
74
62
|
[CHANNELS.WHATSAPP]: DEFAULT_DELIVERY_SETTING_WHATSAPP,
|
|
75
|
-
[CHANNELS.RCS]: DEFAULT_DELIVERY_SETTING_RCS,
|
|
76
63
|
};
|
|
77
|
-
|
|
78
|
-
/** API `contactInfo.type` keys that map to RCS-style GSM sender rows (env-specific naming). */
|
|
79
|
-
export const RCS_CONTACT_INFO_GSM_TYPE_KEYS = ['gsm_sender_id', 'rcs_sender_id', 'rcs_sender'];
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* DeliverySettings — summary row + CapSlideBox trigger for Test and Preview.
|
|
3
|
-
* Rendered for SMS, Email, WhatsApp
|
|
3
|
+
* Rendered only for SMS, Email, WhatsApp. Uses cap-ui-library only.
|
|
4
4
|
*
|
|
5
5
|
* Reference: cap-campaigns-v2 DeliverySettingsV2 (summary + modify panel).
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import React, { useState, useCallback
|
|
8
|
+
import React, { useState, useCallback } from "react";
|
|
9
9
|
import PropTypes from "prop-types";
|
|
10
10
|
import CapRow from "@capillarytech/cap-ui-library/CapRow";
|
|
11
11
|
import CapHeading from "@capillarytech/cap-ui-library/CapHeading";
|
|
@@ -22,7 +22,6 @@ import {
|
|
|
22
22
|
SUMMARY_EMPTY_PLACEHOLDER,
|
|
23
23
|
DELIVERY_SETTING_KEY_DOMAIN_ID,
|
|
24
24
|
DELIVERY_SETTING_KEY_GSM_SENDER_ID,
|
|
25
|
-
DELIVERY_SETTING_KEY_CDMA_SENDER_ID,
|
|
26
25
|
DELIVERY_SETTING_KEY_SENDER_EMAIL,
|
|
27
26
|
DELIVERY_SETTING_KEY_SENDER_LABEL,
|
|
28
27
|
DELIVERY_SETTING_KEY_SENDER_REPLY_TO,
|
|
@@ -36,7 +35,7 @@ const DeliverySettings = (props) => {
|
|
|
36
35
|
const {
|
|
37
36
|
channel,
|
|
38
37
|
deliverySettings = {},
|
|
39
|
-
|
|
38
|
+
senderDetailsOptions = [],
|
|
40
39
|
wecrmAccounts = [],
|
|
41
40
|
onSaveDeliverySettings,
|
|
42
41
|
isLoadingSenderDetails,
|
|
@@ -44,7 +43,6 @@ const DeliverySettings = (props) => {
|
|
|
44
43
|
smsTraiDltEnabled,
|
|
45
44
|
registeredSenderIds,
|
|
46
45
|
whatsappAccountFromForm,
|
|
47
|
-
isChannelSmsFallbackPreviewEnabled,
|
|
48
46
|
} = props;
|
|
49
47
|
|
|
50
48
|
const [isSlideBoxOpen, setSlideBoxOpen] = useState(false);
|
|
@@ -60,68 +58,17 @@ const DeliverySettings = (props) => {
|
|
|
60
58
|
[onSaveDeliverySettings, closeSlideBox]
|
|
61
59
|
);
|
|
62
60
|
|
|
63
|
-
const senderDetailsOptions = useMemo(
|
|
64
|
-
() => (senderDetailsByChannel[channel] || []),
|
|
65
|
-
[senderDetailsByChannel, channel],
|
|
66
|
-
);
|
|
67
|
-
const smsDomainsForRcs = useMemo(
|
|
68
|
-
() => (channel === CHANNELS.RCS ? (senderDetailsByChannel[CHANNELS.SMS] || []) : []),
|
|
69
|
-
[channel, senderDetailsByChannel],
|
|
70
|
-
);
|
|
71
|
-
|
|
72
61
|
if (!CHANNELS_WITH_DELIVERY_SETTINGS.includes(channel)) {
|
|
73
62
|
return null;
|
|
74
63
|
}
|
|
75
64
|
|
|
76
65
|
const notConfiguredLabel = formatMessage(messages.notConfigured);
|
|
77
66
|
|
|
78
|
-
const getDisplayFromDomains = (domains, compositeValue) => {
|
|
79
|
-
if (!compositeValue || !domains?.length) return compositeValue || SUMMARY_EMPTY_PLACEHOLDER;
|
|
80
|
-
for (const senderDomain of domains) {
|
|
81
|
-
for (const gsmSenderRow of senderDomain.gsmSenders || []) {
|
|
82
|
-
const value = senderDomain.domainId != null && gsmSenderRow.value != null
|
|
83
|
-
? `${senderDomain.domainId}|${gsmSenderRow.value}`
|
|
84
|
-
: gsmSenderRow.value;
|
|
85
|
-
if (value === compositeValue && (senderDomain.domainName || gsmSenderRow.value)) {
|
|
86
|
-
return [senderDomain.domainName, gsmSenderRow.value].filter(Boolean).join(' · ');
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
return compositeValue || SUMMARY_EMPTY_PLACEHOLDER;
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
/** RCS summary: show sender ID only (no "domain · sender"). */
|
|
94
|
-
const getSenderIdOnlyFromComposite = (domains, compositeValue) => {
|
|
95
|
-
if (!compositeValue || !domains?.length) return compositeValue || SUMMARY_EMPTY_PLACEHOLDER;
|
|
96
|
-
for (const senderDomain of domains) {
|
|
97
|
-
for (const gsmSenderRow of senderDomain.gsmSenders || []) {
|
|
98
|
-
const value = senderDomain.domainId != null && gsmSenderRow.value != null
|
|
99
|
-
? `${senderDomain.domainId}|${gsmSenderRow.value}`
|
|
100
|
-
: gsmSenderRow.value;
|
|
101
|
-
if (value === compositeValue && gsmSenderRow.value != null) {
|
|
102
|
-
return String(gsmSenderRow.value);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
return compositeValue || SUMMARY_EMPTY_PLACEHOLDER;
|
|
107
|
-
};
|
|
108
|
-
|
|
109
67
|
const getSummaryText = () => {
|
|
110
68
|
const empty = SUMMARY_EMPTY_PLACEHOLDER;
|
|
111
|
-
if (channel === CHANNELS.RCS) {
|
|
112
|
-
const rcsVal = get(deliverySettings, DELIVERY_SETTING_KEY_GSM_SENDER_ID) || '';
|
|
113
|
-
const smsVal = get(deliverySettings, DELIVERY_SETTING_KEY_CDMA_SENDER_ID) || '';
|
|
114
|
-
const summaryRcs = {
|
|
115
|
-
rcsSenderId: getSenderIdOnlyFromComposite(senderDetailsOptions, rcsVal),
|
|
116
|
-
};
|
|
117
|
-
if (isChannelSmsFallbackPreviewEnabled) {
|
|
118
|
-
summaryRcs.smsFallbackSenderId = getSenderIdOnlyFromComposite(smsDomainsForRcs, smsVal);
|
|
119
|
-
}
|
|
120
|
-
return summaryRcs;
|
|
121
|
-
}
|
|
122
69
|
if (channel === CHANNELS.SMS) {
|
|
123
70
|
const domain = (senderDetailsOptions || []).find(
|
|
124
|
-
(
|
|
71
|
+
(d) => d.domainId === get(deliverySettings, DELIVERY_SETTING_KEY_DOMAIN_ID),
|
|
125
72
|
);
|
|
126
73
|
const domainName = domain?.domainName || empty;
|
|
127
74
|
const senderId = get(deliverySettings, DELIVERY_SETTING_KEY_GSM_SENDER_ID) || empty;
|
|
@@ -129,7 +76,7 @@ const DeliverySettings = (props) => {
|
|
|
129
76
|
}
|
|
130
77
|
if (channel === CHANNELS.EMAIL) {
|
|
131
78
|
const domain = (senderDetailsOptions || []).find(
|
|
132
|
-
(
|
|
79
|
+
(d) => d.domainId === get(deliverySettings, DELIVERY_SETTING_KEY_DOMAIN_ID),
|
|
133
80
|
);
|
|
134
81
|
const emailDomain = domain?.domainName || empty;
|
|
135
82
|
const senderEmail = get(deliverySettings, DELIVERY_SETTING_KEY_SENDER_EMAIL) || empty;
|
|
@@ -156,12 +103,7 @@ const DeliverySettings = (props) => {
|
|
|
156
103
|
|
|
157
104
|
const summary = getSummaryText();
|
|
158
105
|
let hasValues = false;
|
|
159
|
-
if (channel === CHANNELS.
|
|
160
|
-
hasValues = (summary.rcsSenderId && summary.rcsSenderId !== SUMMARY_EMPTY_PLACEHOLDER)
|
|
161
|
-
|| (isChannelSmsFallbackPreviewEnabled
|
|
162
|
-
&& summary.smsFallbackSenderId
|
|
163
|
-
&& summary.smsFallbackSenderId !== SUMMARY_EMPTY_PLACEHOLDER);
|
|
164
|
-
} else if (channel === CHANNELS.SMS) {
|
|
106
|
+
if (channel === CHANNELS.SMS) {
|
|
165
107
|
hasValues = summary.senderDomain !== SUMMARY_EMPTY_PLACEHOLDER
|
|
166
108
|
|| summary.senderId !== SUMMARY_EMPTY_PLACEHOLDER;
|
|
167
109
|
} else if (channel === CHANNELS.EMAIL) {
|
|
@@ -180,15 +122,6 @@ const DeliverySettings = (props) => {
|
|
|
180
122
|
const getSummaryObject = () => {
|
|
181
123
|
if (!hasValues) return null;
|
|
182
124
|
const label = (msg) => formatMessage(msg);
|
|
183
|
-
if (channel === CHANNELS.RCS) {
|
|
184
|
-
const rcsSummary = {
|
|
185
|
-
[label(messages.rcsSenderIdLabel)]: summary.rcsSenderId,
|
|
186
|
-
};
|
|
187
|
-
if (isChannelSmsFallbackPreviewEnabled) {
|
|
188
|
-
rcsSummary[label(messages.fallbackSmsSenderIdLabel)] = summary.smsFallbackSenderId;
|
|
189
|
-
}
|
|
190
|
-
return rcsSummary;
|
|
191
|
-
}
|
|
192
125
|
if (channel === CHANNELS.SMS) {
|
|
193
126
|
return {
|
|
194
127
|
[label(messages.senderDomainSummary)]: summary.senderDomain,
|
|
@@ -232,7 +165,7 @@ const DeliverySettings = (props) => {
|
|
|
232
165
|
Object.entries(summaryObject).map(([key, value]) => (
|
|
233
166
|
<CapRow type="flex" key={key} className="delivery-settings__summary-entry">
|
|
234
167
|
<CapLabel type="label1" className="delivery-settings__summary-key">{key}</CapLabel>
|
|
235
|
-
<CapLabel type="label9"
|
|
168
|
+
<CapLabel type="label9">
|
|
236
169
|
:
|
|
237
170
|
{' '}
|
|
238
171
|
{value}
|
|
@@ -261,11 +194,6 @@ const DeliverySettings = (props) => {
|
|
|
261
194
|
channel={channel}
|
|
262
195
|
deliverySettings={deliverySettings}
|
|
263
196
|
senderDetailsOptions={senderDetailsOptions}
|
|
264
|
-
smsFallbackSenderDetailsOptions={
|
|
265
|
-
channel === CHANNELS.RCS && isChannelSmsFallbackPreviewEnabled
|
|
266
|
-
? smsDomainsForRcs
|
|
267
|
-
: undefined
|
|
268
|
-
}
|
|
269
197
|
wecrmAccounts={wecrmAccounts}
|
|
270
198
|
onSaveDeliverySettings={handleSave}
|
|
271
199
|
onClose={closeSlideBox}
|
|
@@ -285,9 +213,9 @@ const DeliverySettings = (props) => {
|
|
|
285
213
|
DeliverySettings.propTypes = {
|
|
286
214
|
channel: PropTypes.string.isRequired,
|
|
287
215
|
deliverySettings: PropTypes.object,
|
|
288
|
-
|
|
216
|
+
senderDetailsOptions: PropTypes.array,
|
|
289
217
|
wecrmAccounts: PropTypes.array,
|
|
290
|
-
onSaveDeliverySettings: PropTypes.func,
|
|
218
|
+
onSaveDeliverySettings: PropTypes.func.isRequired,
|
|
291
219
|
isLoadingSenderDetails: PropTypes.bool,
|
|
292
220
|
formatMessage: PropTypes.func,
|
|
293
221
|
smsTraiDltEnabled: PropTypes.bool,
|
|
@@ -295,20 +223,17 @@ DeliverySettings.propTypes = {
|
|
|
295
223
|
whatsappAccountFromForm: PropTypes.shape({
|
|
296
224
|
accountName: PropTypes.string,
|
|
297
225
|
}),
|
|
298
|
-
isChannelSmsFallbackPreviewEnabled: PropTypes.bool,
|
|
299
226
|
};
|
|
300
227
|
|
|
301
228
|
DeliverySettings.defaultProps = {
|
|
302
229
|
deliverySettings: {},
|
|
303
|
-
|
|
230
|
+
senderDetailsOptions: [],
|
|
304
231
|
wecrmAccounts: [],
|
|
305
|
-
onSaveDeliverySettings: () => {},
|
|
306
232
|
isLoadingSenderDetails: false,
|
|
307
233
|
formatMessage: undefined,
|
|
308
234
|
smsTraiDltEnabled: false,
|
|
309
235
|
registeredSenderIds: [],
|
|
310
236
|
whatsappAccountFromForm: undefined,
|
|
311
|
-
isChannelSmsFallbackPreviewEnabled: false,
|
|
312
237
|
};
|
|
313
238
|
|
|
314
239
|
export default DeliverySettings;
|
|
@@ -108,34 +108,4 @@ export default defineMessages({
|
|
|
108
108
|
id: `${prefix}.disabledMessage`,
|
|
109
109
|
defaultMessage: 'Message template selected belongs to this account',
|
|
110
110
|
},
|
|
111
|
-
/** RCS: primary domain (slidebox) */
|
|
112
|
-
rcsDomainLabel: {
|
|
113
|
-
id: `${prefix}.rcsDomainLabel`,
|
|
114
|
-
defaultMessage: 'RCS domain:',
|
|
115
|
-
},
|
|
116
|
-
/** RCS: SMS fallback domain (slidebox) */
|
|
117
|
-
fallbackSmsDomainLabel: {
|
|
118
|
-
id: `${prefix}.fallbackSmsDomainLabel`,
|
|
119
|
-
defaultMessage: 'Fallback SMS domain:',
|
|
120
|
-
},
|
|
121
|
-
/** RCS: "RCS sender ID" */
|
|
122
|
-
rcsSenderIdLabel: {
|
|
123
|
-
id: `${prefix}.rcsSenderIdLabel`,
|
|
124
|
-
defaultMessage: 'RCS sender ID',
|
|
125
|
-
},
|
|
126
|
-
/** RCS: "Fallback SMS sender ID" */
|
|
127
|
-
fallbackSmsSenderIdLabel: {
|
|
128
|
-
id: `${prefix}.fallbackSmsSenderIdLabel`,
|
|
129
|
-
defaultMessage: 'Fallback SMS sender ID',
|
|
130
|
-
},
|
|
131
|
-
/** RCS: "Domain" (for domain · sender ID display) */
|
|
132
|
-
domainLabel: {
|
|
133
|
-
id: `${prefix}.domainLabel`,
|
|
134
|
-
defaultMessage: 'Domain',
|
|
135
|
-
},
|
|
136
|
-
/** RCS: placeholder for sender ID dropdown */
|
|
137
|
-
selectSenderId: {
|
|
138
|
-
id: `${prefix}.selectSenderId`,
|
|
139
|
-
defaultMessage: 'Select sender ID',
|
|
140
|
-
},
|
|
141
111
|
});
|