@capillarytech/creatives-library 8.0.264 → 8.0.265
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 -1
- package/package.json +1 -1
- package/services/api.js +0 -5
- package/utils/common.js +0 -6
- package/utils/tagValidations.js +1 -2
- package/utils/tests/transformerUtils.test.js +0 -297
- package/utils/transformerUtils.js +0 -40
- package/v2Components/CapImageUpload/constants.js +0 -2
- package/v2Components/CapImageUpload/index.js +16 -65
- package/v2Components/CapImageUpload/index.scss +1 -4
- package/v2Components/CapImageUpload/messages.js +1 -5
- package/v2Components/CommonTestAndPreview/UnifiedPreview/_unifiedPreview.scss +2 -2
- package/v2Components/FormBuilder/index.js +8 -8
- package/v2Containers/App/constants.js +0 -5
- package/v2Containers/CreativesContainer/SlideBoxContent.js +2 -57
- package/v2Containers/CreativesContainer/SlideBoxHeader.js +0 -1
- package/v2Containers/CreativesContainer/constants.js +0 -3
- package/v2Containers/CreativesContainer/index.js +0 -168
- package/v2Containers/CreativesContainer/messages.js +0 -4
- package/v2Containers/CreativesContainer/tests/SlideBoxContent.test.js +0 -210
- package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +0 -304
- package/v2Containers/Email/index.js +7 -3
- package/v2Containers/FTP/index.js +1 -1
- package/v2Containers/InApp/index.js +0 -1
- package/v2Containers/Line/Container/Text/index.js +0 -1
- package/v2Containers/MobilePushNew/index.js +0 -1
- package/v2Containers/Rcs/index.js +0 -3
- package/v2Containers/SmsTrai/Edit/index.js +0 -1
- package/v2Containers/Templates/ChannelTypeIllustration.js +1 -13
- package/v2Containers/Templates/_templates.scss +0 -205
- package/v2Containers/Templates/actions.js +1 -2
- package/v2Containers/Templates/constants.js +0 -1
- package/v2Containers/Templates/index.js +34 -274
- package/v2Containers/Templates/messages.js +0 -24
- package/v2Containers/Templates/reducer.js +0 -2
- package/v2Containers/Templates/tests/index.test.js +0 -10
- package/v2Containers/TemplatesV2/index.js +7 -15
- package/v2Containers/TemplatesV2/messages.js +0 -4
- package/v2Containers/Viber/index.js +0 -1
- package/v2Containers/Whatsapp/index.js +0 -1
- package/v2Containers/Zalo/index.js +0 -1
- package/v2Containers/Zalo/tests/index.test.js +5 -1
- package/utils/imageUrlUpload.js +0 -141
- package/v2Components/CapImageUrlUpload/constants.js +0 -26
- package/v2Components/CapImageUrlUpload/index.js +0 -365
- package/v2Components/CapImageUrlUpload/index.scss +0 -35
- package/v2Components/CapImageUrlUpload/messages.js +0 -47
- package/v2Containers/WebPush/Create/components/BrandIconSection.js +0 -108
- package/v2Containers/WebPush/Create/components/ButtonForm.js +0 -172
- package/v2Containers/WebPush/Create/components/ButtonItem.js +0 -101
- package/v2Containers/WebPush/Create/components/ButtonList.js +0 -145
- package/v2Containers/WebPush/Create/components/ButtonsLinksSection.js +0 -164
- package/v2Containers/WebPush/Create/components/ButtonsLinksSection.test.js +0 -463
- package/v2Containers/WebPush/Create/components/FormActions.js +0 -54
- package/v2Containers/WebPush/Create/components/FormActions.test.js +0 -163
- package/v2Containers/WebPush/Create/components/MediaSection.js +0 -142
- package/v2Containers/WebPush/Create/components/MediaSection.test.js +0 -341
- package/v2Containers/WebPush/Create/components/MessageSection.js +0 -103
- package/v2Containers/WebPush/Create/components/MessageSection.test.js +0 -268
- package/v2Containers/WebPush/Create/components/NotificationTitleSection.js +0 -87
- package/v2Containers/WebPush/Create/components/NotificationTitleSection.test.js +0 -210
- package/v2Containers/WebPush/Create/components/TemplateNameSection.js +0 -54
- package/v2Containers/WebPush/Create/components/TemplateNameSection.test.js +0 -143
- package/v2Containers/WebPush/Create/components/__snapshots__/ButtonsLinksSection.test.js.snap +0 -86
- package/v2Containers/WebPush/Create/components/__snapshots__/FormActions.test.js.snap +0 -16
- package/v2Containers/WebPush/Create/components/__snapshots__/MediaSection.test.js.snap +0 -41
- package/v2Containers/WebPush/Create/components/__snapshots__/MessageSection.test.js.snap +0 -54
- package/v2Containers/WebPush/Create/components/__snapshots__/NotificationTitleSection.test.js.snap +0 -37
- package/v2Containers/WebPush/Create/components/__snapshots__/TemplateNameSection.test.js.snap +0 -21
- package/v2Containers/WebPush/Create/components/_buttons.scss +0 -246
- package/v2Containers/WebPush/Create/components/tests/ButtonForm.test.js +0 -554
- package/v2Containers/WebPush/Create/components/tests/ButtonItem.test.js +0 -607
- package/v2Containers/WebPush/Create/components/tests/ButtonList.test.js +0 -633
- package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonForm.test.js.snap +0 -666
- package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonItem.test.js.snap +0 -74
- package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonList.test.js.snap +0 -78
- package/v2Containers/WebPush/Create/hooks/useButtonManagement.js +0 -138
- package/v2Containers/WebPush/Create/hooks/useButtonManagement.test.js +0 -406
- package/v2Containers/WebPush/Create/hooks/useCharacterCount.js +0 -30
- package/v2Containers/WebPush/Create/hooks/useCharacterCount.test.js +0 -151
- package/v2Containers/WebPush/Create/hooks/useImageUpload.js +0 -104
- package/v2Containers/WebPush/Create/hooks/useImageUpload.test.js +0 -538
- package/v2Containers/WebPush/Create/hooks/useTagManagement.js +0 -122
- package/v2Containers/WebPush/Create/hooks/useTagManagement.test.js +0 -633
- package/v2Containers/WebPush/Create/index.js +0 -1148
- package/v2Containers/WebPush/Create/index.scss +0 -134
- package/v2Containers/WebPush/Create/messages.js +0 -211
- package/v2Containers/WebPush/Create/preview/DevicePreviewContent.js +0 -228
- package/v2Containers/WebPush/Create/preview/NotificationContainer.js +0 -294
- package/v2Containers/WebPush/Create/preview/PreviewContent.js +0 -90
- package/v2Containers/WebPush/Create/preview/PreviewControls.js +0 -305
- package/v2Containers/WebPush/Create/preview/PreviewDisclaimer.js +0 -25
- package/v2Containers/WebPush/Create/preview/WebPushPreview.js +0 -155
- package/v2Containers/WebPush/Create/preview/assets/Light.svg +0 -53
- package/v2Containers/WebPush/Create/preview/assets/Top.svg +0 -5
- package/v2Containers/WebPush/Create/preview/assets/android-arrow-down.svg +0 -9
- package/v2Containers/WebPush/Create/preview/assets/android-arrow-up.svg +0 -9
- package/v2Containers/WebPush/Create/preview/assets/chrome-icon.png +0 -0
- package/v2Containers/WebPush/Create/preview/assets/edge-icon.png +0 -0
- package/v2Containers/WebPush/Create/preview/assets/firefox-icon.svg +0 -106
- package/v2Containers/WebPush/Create/preview/assets/iOS.svg +0 -26
- package/v2Containers/WebPush/Create/preview/assets/macos-arrow-down-icon.svg +0 -9
- package/v2Containers/WebPush/Create/preview/assets/macos-triple-dot-icon.svg +0 -9
- package/v2Containers/WebPush/Create/preview/assets/opera-icon.svg +0 -18
- package/v2Containers/WebPush/Create/preview/assets/safari-icon.svg +0 -29
- package/v2Containers/WebPush/Create/preview/assets/windows-close-icon.svg +0 -9
- package/v2Containers/WebPush/Create/preview/assets/windows-triple-dot-icon.svg +0 -9
- package/v2Containers/WebPush/Create/preview/components/AndroidMobileChromeHeader.js +0 -51
- package/v2Containers/WebPush/Create/preview/components/AndroidMobileExpanded.js +0 -145
- package/v2Containers/WebPush/Create/preview/components/IOSHeader.js +0 -45
- package/v2Containers/WebPush/Create/preview/components/NotificationExpandedContent.js +0 -68
- package/v2Containers/WebPush/Create/preview/components/NotificationHeader.js +0 -61
- package/v2Containers/WebPush/Create/preview/components/WindowsChromeExpanded.js +0 -99
- package/v2Containers/WebPush/Create/preview/components/tests/AndroidMobileExpanded.test.js +0 -733
- package/v2Containers/WebPush/Create/preview/components/tests/WindowsChromeExpanded.test.js +0 -571
- package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/AndroidMobileExpanded.test.js.snap +0 -85
- package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/WindowsChromeExpanded.test.js.snap +0 -81
- package/v2Containers/WebPush/Create/preview/config/notificationMappings.js +0 -50
- package/v2Containers/WebPush/Create/preview/constants.js +0 -637
- package/v2Containers/WebPush/Create/preview/notification-container.scss +0 -79
- package/v2Containers/WebPush/Create/preview/preview.scss +0 -358
- package/v2Containers/WebPush/Create/preview/styles/_android-mobile-chrome.scss +0 -370
- package/v2Containers/WebPush/Create/preview/styles/_android-mobile-edge.scss +0 -12
- package/v2Containers/WebPush/Create/preview/styles/_android-mobile-firefox.scss +0 -12
- package/v2Containers/WebPush/Create/preview/styles/_android-mobile-opera.scss +0 -12
- package/v2Containers/WebPush/Create/preview/styles/_android-tablet-chrome.scss +0 -47
- package/v2Containers/WebPush/Create/preview/styles/_android-tablet-edge.scss +0 -11
- package/v2Containers/WebPush/Create/preview/styles/_android-tablet-firefox.scss +0 -11
- package/v2Containers/WebPush/Create/preview/styles/_android-tablet-opera.scss +0 -11
- package/v2Containers/WebPush/Create/preview/styles/_base.scss +0 -207
- package/v2Containers/WebPush/Create/preview/styles/_ios.scss +0 -153
- package/v2Containers/WebPush/Create/preview/styles/_ipados.scss +0 -107
- package/v2Containers/WebPush/Create/preview/styles/_macos-chrome.scss +0 -101
- package/v2Containers/WebPush/Create/preview/styles/_windows-chrome.scss +0 -229
- package/v2Containers/WebPush/Create/preview/tests/DevicePreviewContent.test.js +0 -909
- package/v2Containers/WebPush/Create/preview/tests/NotificationContainer.test.js +0 -1081
- package/v2Containers/WebPush/Create/preview/tests/PreviewControls.test.js +0 -723
- package/v2Containers/WebPush/Create/preview/tests/WebPushPreview.test.js +0 -1327
- package/v2Containers/WebPush/Create/preview/tests/__snapshots__/DevicePreviewContent.test.js.snap +0 -131
- package/v2Containers/WebPush/Create/preview/tests/__snapshots__/NotificationContainer.test.js.snap +0 -112
- package/v2Containers/WebPush/Create/preview/tests/__snapshots__/PreviewControls.test.js.snap +0 -144
- package/v2Containers/WebPush/Create/preview/tests/__snapshots__/WebPushPreview.test.js.snap +0 -129
- package/v2Containers/WebPush/Create/utils/payloadBuilder.js +0 -96
- package/v2Containers/WebPush/Create/utils/payloadBuilder.test.js +0 -396
- package/v2Containers/WebPush/Create/utils/previewUtils.js +0 -89
- package/v2Containers/WebPush/Create/utils/urlValidation.js +0 -115
- package/v2Containers/WebPush/Create/utils/urlValidation.test.js +0 -449
- package/v2Containers/WebPush/Create/utils/validation.js +0 -76
- package/v2Containers/WebPush/Create/utils/validation.test.js +0 -283
- package/v2Containers/WebPush/actions.js +0 -60
- package/v2Containers/WebPush/constants.js +0 -132
- package/v2Containers/WebPush/index.js +0 -2
- package/v2Containers/WebPush/reducer.js +0 -104
- package/v2Containers/WebPush/sagas.js +0 -119
- package/v2Containers/WebPush/selectors.js +0 -65
- package/v2Containers/WebPush/tests/reducer.test.js +0 -863
- package/v2Containers/WebPush/tests/sagas.test.js +0 -566
- package/v2Containers/WebPush/tests/selectors.test.js +0 -960
package/constants/unified.js
CHANGED
|
@@ -51,7 +51,6 @@ export const EXTENDED_TAG = 'ExtendedTagMessage';
|
|
|
51
51
|
export const BADGES_UI_ENABLED = 'BADGES_UI_ENABLED';
|
|
52
52
|
export const JP_LOCALE_HIDE_FEATURE = 'JP_LOCALE_HIDE_FEATURE';
|
|
53
53
|
export const ENABLE_WECHAT = 'ENABLE_WECHAT';
|
|
54
|
-
export const ENABLE_WEBPUSH = 'ENABLE_WEBPUSH';
|
|
55
54
|
export const ENABLE_CUSTOMER_BARCODE_TAG = 'ENABLE_CUSTOMER_BARCODE_TAG';
|
|
56
55
|
export const EMAIL_UNSUBSCRIBE_TAG_MANDATORY = 'EMAIL_UNSUBSCRIBE_TAG_MANDATORY';
|
|
57
56
|
export const ENABLE_AI_SUGGESTIONS = 'ENABLE_AI_SUGGESTIONS';
|
package/package.json
CHANGED
package/services/api.js
CHANGED
|
@@ -287,11 +287,6 @@ export const createMobilePushTemplateV2 = (template) => {
|
|
|
287
287
|
return request(url, getAPICallObject('POST', template));
|
|
288
288
|
};
|
|
289
289
|
|
|
290
|
-
export const createWebPushTemplate = (template) => {
|
|
291
|
-
const url = `${API_ENDPOINT}/templates/WEBPUSH`;
|
|
292
|
-
return request(url, getAPICallObject('POST', template));
|
|
293
|
-
};
|
|
294
|
-
|
|
295
290
|
export const duplicateTemplate = ({id, channel}) => {
|
|
296
291
|
const url = `${API_ENDPOINT}/templates/duplicate/${id}/${channel}`;
|
|
297
292
|
return request(url, getAPICallObject('GET'));
|
package/utils/common.js
CHANGED
|
@@ -21,7 +21,6 @@ import {
|
|
|
21
21
|
EMAIL_UNSUBSCRIBE_TAG_MANDATORY,
|
|
22
22
|
BADGES_ISSUE,
|
|
23
23
|
ENABLE_WECHAT,
|
|
24
|
-
ENABLE_WEBPUSH,
|
|
25
24
|
LIQUID_SUPPORT,
|
|
26
25
|
ENABLE_NEW_MPUSH
|
|
27
26
|
} from '../constants/unified';
|
|
@@ -117,11 +116,6 @@ export const hasWechatFeatureEnabled = Auth.hasFeatureAccess.bind(
|
|
|
117
116
|
ENABLE_WECHAT,
|
|
118
117
|
);
|
|
119
118
|
|
|
120
|
-
export const hasWebPushFeatureEnabled = Auth.hasFeatureAccess.bind(
|
|
121
|
-
null,
|
|
122
|
-
ENABLE_WEBPUSH,
|
|
123
|
-
);
|
|
124
|
-
|
|
125
119
|
export const hasCustomerBarcodeFeatureEnabled = Auth.hasFeatureAccess.bind(
|
|
126
120
|
null,
|
|
127
121
|
ENABLE_CUSTOMER_BARCODE_TAG,
|
package/utils/tagValidations.js
CHANGED
|
@@ -187,7 +187,6 @@ export const validateTags = ({
|
|
|
187
187
|
location,
|
|
188
188
|
tagModule,
|
|
189
189
|
eventContextTags,
|
|
190
|
-
isFullMode,
|
|
191
190
|
}) => {
|
|
192
191
|
const tags = tagsParam;
|
|
193
192
|
const injectedTags = transformInjectedTags(injectedTagsParams);
|
|
@@ -201,7 +200,7 @@ export const validateTags = ({
|
|
|
201
200
|
unsupportedTags: [],
|
|
202
201
|
isBraceError: false,
|
|
203
202
|
};
|
|
204
|
-
if (tags && tags.length
|
|
203
|
+
if (tags && tags.length) {
|
|
205
204
|
lodashForEach(tags, ({
|
|
206
205
|
definition: {
|
|
207
206
|
supportedModules,
|
|
@@ -15,7 +15,6 @@ import {
|
|
|
15
15
|
RCS,
|
|
16
16
|
LINE,
|
|
17
17
|
VIBER,
|
|
18
|
-
WEBPUSH,
|
|
19
18
|
} from "../../v2Containers/CreativesContainer/constants";
|
|
20
19
|
|
|
21
20
|
describe("transformerUtils", () => {
|
|
@@ -1183,302 +1182,6 @@ describe("transformerUtils", () => {
|
|
|
1183
1182
|
});
|
|
1184
1183
|
});
|
|
1185
1184
|
|
|
1186
|
-
describe("WebPush payload transformation", () => {
|
|
1187
|
-
it("should transform WebPush data correctly with minimal data", () => {
|
|
1188
|
-
const mockData = {
|
|
1189
|
-
channel: WEBPUSH,
|
|
1190
|
-
messageSubject: "test webpush notification"
|
|
1191
|
-
};
|
|
1192
|
-
|
|
1193
|
-
const result = transformChannelPayload(mockData);
|
|
1194
|
-
|
|
1195
|
-
expect(result.centralCommsPayload).toBeDefined();
|
|
1196
|
-
expect(result.centralCommsPayload.channel).toEqual(WEBPUSH);
|
|
1197
|
-
expect(result.centralCommsPayload.webpushMessageContent.messageSubject).toEqual(
|
|
1198
|
-
"test webpush notification"
|
|
1199
|
-
);
|
|
1200
|
-
expect(result.centralCommsPayload.clientName).toEqual("VENENO");
|
|
1201
|
-
});
|
|
1202
|
-
|
|
1203
|
-
it("should transform WebPush data with all options", () => {
|
|
1204
|
-
const mockData = {
|
|
1205
|
-
channel: WEBPUSH,
|
|
1206
|
-
messageSubject: "test webpush notification",
|
|
1207
|
-
messageContent: {
|
|
1208
|
-
content: {
|
|
1209
|
-
accountId: 12345,
|
|
1210
|
-
content: {
|
|
1211
|
-
title: "WebPush Title",
|
|
1212
|
-
message: "WebPush Message",
|
|
1213
|
-
iconImageUrl: "https://example.com/icon.png",
|
|
1214
|
-
cta: {
|
|
1215
|
-
actionLink: "https://example.com/action",
|
|
1216
|
-
actionText: "Click Here"
|
|
1217
|
-
},
|
|
1218
|
-
expandableDetails: {
|
|
1219
|
-
style: "BIG_TEXT",
|
|
1220
|
-
message: "Expanded Message"
|
|
1221
|
-
}
|
|
1222
|
-
},
|
|
1223
|
-
offers: [
|
|
1224
|
-
{ id: "offer-1", title: "Offer 1" },
|
|
1225
|
-
{ id: "offer-2", title: "Offer 2" }
|
|
1226
|
-
]
|
|
1227
|
-
}
|
|
1228
|
-
}
|
|
1229
|
-
};
|
|
1230
|
-
|
|
1231
|
-
const options = {
|
|
1232
|
-
loyaltyMetaData: {
|
|
1233
|
-
actionId: "action-123",
|
|
1234
|
-
ouId: 456,
|
|
1235
|
-
clientName: "TestClient",
|
|
1236
|
-
module: "TestModule",
|
|
1237
|
-
transformedMessageDetails: {
|
|
1238
|
-
webpushDeliverySettings: {
|
|
1239
|
-
sendDate: "2023-01-01",
|
|
1240
|
-
priority: "HIGH"
|
|
1241
|
-
}
|
|
1242
|
-
}
|
|
1243
|
-
}
|
|
1244
|
-
};
|
|
1245
|
-
|
|
1246
|
-
const result = transformChannelPayload(mockData, options);
|
|
1247
|
-
|
|
1248
|
-
// Check base payload
|
|
1249
|
-
expect(result.centralCommsPayload.sourceEntityId).toEqual("action-123");
|
|
1250
|
-
expect(result.centralCommsPayload.ouId).toEqual(456);
|
|
1251
|
-
expect(result.centralCommsPayload.clientName).toEqual("TestClient");
|
|
1252
|
-
expect(result.centralCommsPayload.module).toEqual("TestModule");
|
|
1253
|
-
|
|
1254
|
-
// Check WebPush-specific content
|
|
1255
|
-
expect(result.centralCommsPayload.webpushMessageContent.channel).toEqual(WEBPUSH);
|
|
1256
|
-
expect(result.centralCommsPayload.webpushMessageContent.accountId).toEqual(12345);
|
|
1257
|
-
expect(result.centralCommsPayload.webpushMessageContent.messageSubject).toEqual(
|
|
1258
|
-
"test webpush notification"
|
|
1259
|
-
);
|
|
1260
|
-
expect(result.centralCommsPayload.webpushMessageContent.content.title).toEqual(
|
|
1261
|
-
"WebPush Title"
|
|
1262
|
-
);
|
|
1263
|
-
expect(result.centralCommsPayload.webpushMessageContent.content.message).toEqual(
|
|
1264
|
-
"WebPush Message"
|
|
1265
|
-
);
|
|
1266
|
-
expect(result.centralCommsPayload.webpushMessageContent.content.iconImageUrl).toEqual(
|
|
1267
|
-
"https://example.com/icon.png"
|
|
1268
|
-
);
|
|
1269
|
-
expect(result.centralCommsPayload.webpushMessageContent.content.cta).toEqual({
|
|
1270
|
-
actionLink: "https://example.com/action",
|
|
1271
|
-
actionText: "Click Here"
|
|
1272
|
-
});
|
|
1273
|
-
expect(result.centralCommsPayload.webpushMessageContent.content.expandableDetails).toEqual({
|
|
1274
|
-
style: "BIG_TEXT",
|
|
1275
|
-
message: "Expanded Message"
|
|
1276
|
-
});
|
|
1277
|
-
expect(result.centralCommsPayload.webpushMessageContent.offers).toEqual([
|
|
1278
|
-
{ id: "offer-1", title: "Offer 1" },
|
|
1279
|
-
{ id: "offer-2", title: "Offer 2" }
|
|
1280
|
-
]);
|
|
1281
|
-
|
|
1282
|
-
// Check delivery settings
|
|
1283
|
-
expect(result.centralCommsPayload.webpushDeliverySettings).toEqual({
|
|
1284
|
-
sendDate: "2023-01-01",
|
|
1285
|
-
priority: "HIGH"
|
|
1286
|
-
});
|
|
1287
|
-
});
|
|
1288
|
-
|
|
1289
|
-
it("should handle missing messageContent structure", () => {
|
|
1290
|
-
const mockData = {
|
|
1291
|
-
channel: WEBPUSH,
|
|
1292
|
-
messageSubject: "test webpush notification"
|
|
1293
|
-
};
|
|
1294
|
-
|
|
1295
|
-
const result = transformChannelPayload(mockData);
|
|
1296
|
-
|
|
1297
|
-
expect(result.centralCommsPayload.webpushMessageContent.accountId).toEqual(0);
|
|
1298
|
-
expect(result.centralCommsPayload.webpushMessageContent.content.title).toEqual("");
|
|
1299
|
-
expect(result.centralCommsPayload.webpushMessageContent.content.message).toEqual("");
|
|
1300
|
-
expect(result.centralCommsPayload.webpushMessageContent.offers).toEqual([]);
|
|
1301
|
-
});
|
|
1302
|
-
|
|
1303
|
-
it("should handle missing content properties", () => {
|
|
1304
|
-
const mockData = {
|
|
1305
|
-
channel: WEBPUSH,
|
|
1306
|
-
messageSubject: "test webpush notification",
|
|
1307
|
-
messageContent: {
|
|
1308
|
-
content: {
|
|
1309
|
-
accountId: 12345,
|
|
1310
|
-
content: {}
|
|
1311
|
-
}
|
|
1312
|
-
}
|
|
1313
|
-
};
|
|
1314
|
-
|
|
1315
|
-
const result = transformChannelPayload(mockData);
|
|
1316
|
-
|
|
1317
|
-
expect(result.centralCommsPayload.webpushMessageContent.accountId).toEqual(12345);
|
|
1318
|
-
expect(result.centralCommsPayload.webpushMessageContent.content.title).toEqual("");
|
|
1319
|
-
expect(result.centralCommsPayload.webpushMessageContent.content.message).toEqual("");
|
|
1320
|
-
expect(result.centralCommsPayload.webpushMessageContent.content.iconImageUrl).toBeUndefined();
|
|
1321
|
-
expect(result.centralCommsPayload.webpushMessageContent.content.cta).toBeUndefined();
|
|
1322
|
-
expect(result.centralCommsPayload.webpushMessageContent.content.expandableDetails).toBeUndefined();
|
|
1323
|
-
});
|
|
1324
|
-
|
|
1325
|
-
it("should conditionally include iconImageUrl only when present", () => {
|
|
1326
|
-
const mockDataWithoutIcon = {
|
|
1327
|
-
channel: WEBPUSH,
|
|
1328
|
-
messageSubject: "test",
|
|
1329
|
-
messageContent: {
|
|
1330
|
-
content: {
|
|
1331
|
-
content: {
|
|
1332
|
-
title: "Title",
|
|
1333
|
-
message: "Message"
|
|
1334
|
-
}
|
|
1335
|
-
}
|
|
1336
|
-
}
|
|
1337
|
-
};
|
|
1338
|
-
|
|
1339
|
-
const resultWithoutIcon = transformChannelPayload(mockDataWithoutIcon);
|
|
1340
|
-
expect(resultWithoutIcon.centralCommsPayload.webpushMessageContent.content.iconImageUrl).toBeUndefined();
|
|
1341
|
-
|
|
1342
|
-
const mockDataWithIcon = {
|
|
1343
|
-
channel: WEBPUSH,
|
|
1344
|
-
messageSubject: "test",
|
|
1345
|
-
messageContent: {
|
|
1346
|
-
content: {
|
|
1347
|
-
content: {
|
|
1348
|
-
title: "Title",
|
|
1349
|
-
message: "Message",
|
|
1350
|
-
iconImageUrl: "https://example.com/icon.png"
|
|
1351
|
-
}
|
|
1352
|
-
}
|
|
1353
|
-
}
|
|
1354
|
-
};
|
|
1355
|
-
|
|
1356
|
-
const resultWithIcon = transformChannelPayload(mockDataWithIcon);
|
|
1357
|
-
expect(resultWithIcon.centralCommsPayload.webpushMessageContent.content.iconImageUrl).toEqual(
|
|
1358
|
-
"https://example.com/icon.png"
|
|
1359
|
-
);
|
|
1360
|
-
});
|
|
1361
|
-
|
|
1362
|
-
it("should conditionally include cta only when present", () => {
|
|
1363
|
-
const mockDataWithoutCta = {
|
|
1364
|
-
channel: WEBPUSH,
|
|
1365
|
-
messageSubject: "test",
|
|
1366
|
-
messageContent: {
|
|
1367
|
-
content: {
|
|
1368
|
-
content: {
|
|
1369
|
-
title: "Title",
|
|
1370
|
-
message: "Message"
|
|
1371
|
-
}
|
|
1372
|
-
}
|
|
1373
|
-
}
|
|
1374
|
-
};
|
|
1375
|
-
|
|
1376
|
-
const resultWithoutCta = transformChannelPayload(mockDataWithoutCta);
|
|
1377
|
-
expect(resultWithoutCta.centralCommsPayload.webpushMessageContent.content.cta).toBeUndefined();
|
|
1378
|
-
|
|
1379
|
-
const mockDataWithCta = {
|
|
1380
|
-
channel: WEBPUSH,
|
|
1381
|
-
messageSubject: "test",
|
|
1382
|
-
messageContent: {
|
|
1383
|
-
content: {
|
|
1384
|
-
content: {
|
|
1385
|
-
title: "Title",
|
|
1386
|
-
message: "Message",
|
|
1387
|
-
cta: {
|
|
1388
|
-
actionLink: "https://example.com",
|
|
1389
|
-
actionText: "Click"
|
|
1390
|
-
}
|
|
1391
|
-
}
|
|
1392
|
-
}
|
|
1393
|
-
}
|
|
1394
|
-
};
|
|
1395
|
-
|
|
1396
|
-
const resultWithCta = transformChannelPayload(mockDataWithCta);
|
|
1397
|
-
expect(resultWithCta.centralCommsPayload.webpushMessageContent.content.cta).toEqual({
|
|
1398
|
-
actionLink: "https://example.com",
|
|
1399
|
-
actionText: "Click"
|
|
1400
|
-
});
|
|
1401
|
-
});
|
|
1402
|
-
|
|
1403
|
-
it("should conditionally include expandableDetails only when present", () => {
|
|
1404
|
-
const mockDataWithoutExpandable = {
|
|
1405
|
-
channel: WEBPUSH,
|
|
1406
|
-
messageSubject: "test",
|
|
1407
|
-
messageContent: {
|
|
1408
|
-
content: {
|
|
1409
|
-
content: {
|
|
1410
|
-
title: "Title",
|
|
1411
|
-
message: "Message"
|
|
1412
|
-
}
|
|
1413
|
-
}
|
|
1414
|
-
}
|
|
1415
|
-
};
|
|
1416
|
-
|
|
1417
|
-
const resultWithoutExpandable = transformChannelPayload(mockDataWithoutExpandable);
|
|
1418
|
-
expect(resultWithoutExpandable.centralCommsPayload.webpushMessageContent.content.expandableDetails).toBeUndefined();
|
|
1419
|
-
|
|
1420
|
-
const mockDataWithExpandable = {
|
|
1421
|
-
channel: WEBPUSH,
|
|
1422
|
-
messageSubject: "test",
|
|
1423
|
-
messageContent: {
|
|
1424
|
-
content: {
|
|
1425
|
-
content: {
|
|
1426
|
-
title: "Title",
|
|
1427
|
-
message: "Message",
|
|
1428
|
-
expandableDetails: {
|
|
1429
|
-
style: "BIG_TEXT",
|
|
1430
|
-
message: "Expanded"
|
|
1431
|
-
}
|
|
1432
|
-
}
|
|
1433
|
-
}
|
|
1434
|
-
}
|
|
1435
|
-
};
|
|
1436
|
-
|
|
1437
|
-
const resultWithExpandable = transformChannelPayload(mockDataWithExpandable);
|
|
1438
|
-
expect(resultWithExpandable.centralCommsPayload.webpushMessageContent.content.expandableDetails).toEqual({
|
|
1439
|
-
style: "BIG_TEXT",
|
|
1440
|
-
message: "Expanded"
|
|
1441
|
-
});
|
|
1442
|
-
});
|
|
1443
|
-
|
|
1444
|
-
it("should handle undefined webpushDeliverySettings", () => {
|
|
1445
|
-
const mockData = {
|
|
1446
|
-
channel: WEBPUSH,
|
|
1447
|
-
messageSubject: "test webpush notification"
|
|
1448
|
-
};
|
|
1449
|
-
|
|
1450
|
-
const options = {
|
|
1451
|
-
loyaltyMetaData: {
|
|
1452
|
-
transformedMessageDetails: {}
|
|
1453
|
-
}
|
|
1454
|
-
};
|
|
1455
|
-
|
|
1456
|
-
const result = transformChannelPayload(mockData, options);
|
|
1457
|
-
|
|
1458
|
-
expect(result.centralCommsPayload.webpushDeliverySettings).toEqual({});
|
|
1459
|
-
});
|
|
1460
|
-
|
|
1461
|
-
it("should handle empty offers array", () => {
|
|
1462
|
-
const mockData = {
|
|
1463
|
-
channel: WEBPUSH,
|
|
1464
|
-
messageSubject: "test",
|
|
1465
|
-
messageContent: {
|
|
1466
|
-
content: {
|
|
1467
|
-
content: {
|
|
1468
|
-
title: "Title",
|
|
1469
|
-
message: "Message"
|
|
1470
|
-
},
|
|
1471
|
-
offers: []
|
|
1472
|
-
}
|
|
1473
|
-
}
|
|
1474
|
-
};
|
|
1475
|
-
|
|
1476
|
-
const result = transformChannelPayload(mockData);
|
|
1477
|
-
|
|
1478
|
-
expect(result.centralCommsPayload.webpushMessageContent.offers).toEqual([]);
|
|
1479
|
-
});
|
|
1480
|
-
});
|
|
1481
|
-
|
|
1482
1185
|
describe("getTemplateDiffState", () => {
|
|
1483
1186
|
it("should return false for unsupported channel", () => {
|
|
1484
1187
|
const result = getTemplateDiffState("UNSUPPORTED_CHANNEL", {}, {});
|
|
@@ -10,7 +10,6 @@ import {
|
|
|
10
10
|
RCS,
|
|
11
11
|
LINE,
|
|
12
12
|
VIBER,
|
|
13
|
-
WEBPUSH,
|
|
14
13
|
EMF,
|
|
15
14
|
VENENO,
|
|
16
15
|
TEXT,
|
|
@@ -64,8 +63,6 @@ export const transformChannelPayload = (data, options = {}) => {
|
|
|
64
63
|
return transformLinePayload(data, options);
|
|
65
64
|
case VIBER:
|
|
66
65
|
return transformViberPayload(data, options);
|
|
67
|
-
case WEBPUSH:
|
|
68
|
-
return transformWebpushPayload(data, options);
|
|
69
66
|
default:
|
|
70
67
|
return data; // Return unchanged for unsupported channels
|
|
71
68
|
}
|
|
@@ -320,43 +317,6 @@ const transformViberPayload = (viberData, options = {}) => {
|
|
|
320
317
|
return payload;
|
|
321
318
|
};
|
|
322
319
|
|
|
323
|
-
/**
|
|
324
|
-
* Transforms WebPush data to the required payload format
|
|
325
|
-
* @param {Object} webpushData - Current WebPush data
|
|
326
|
-
* @param {Object} options - Additional options (ouId, sourceEntityId, etc.)
|
|
327
|
-
* @returns {Object} - Transformed WebPush payload
|
|
328
|
-
*/
|
|
329
|
-
const transformWebpushPayload = (webpushData, options = {}) => {
|
|
330
|
-
const { loyaltyMetaData = {} } = options;
|
|
331
|
-
const { transformedMessageDetails = {} } = loyaltyMetaData;
|
|
332
|
-
const { webpushDeliverySettings = {} } = transformedMessageDetails || {};
|
|
333
|
-
|
|
334
|
-
// Get base payload structure
|
|
335
|
-
const payload = createBasePayload(WEBPUSH, loyaltyMetaData);
|
|
336
|
-
|
|
337
|
-
// Extract webpush content from messageContent.content.content structure
|
|
338
|
-
const webpushContent = webpushData?.messageContent?.content?.content || {};
|
|
339
|
-
const accountId = webpushData?.messageContent?.content?.accountId || 0;
|
|
340
|
-
|
|
341
|
-
// Add WebPush-specific properties
|
|
342
|
-
payload.centralCommsPayload.webpushMessageContent = {
|
|
343
|
-
channel: WEBPUSH,
|
|
344
|
-
accountId,
|
|
345
|
-
content: {
|
|
346
|
-
title: webpushContent?.title || '',
|
|
347
|
-
message: webpushContent?.message || '',
|
|
348
|
-
...(webpushContent?.iconImageUrl && { iconImageUrl: webpushContent.iconImageUrl }),
|
|
349
|
-
...(webpushContent?.cta && { cta: webpushContent.cta }),
|
|
350
|
-
...(webpushContent?.expandableDetails && { expandableDetails: webpushContent.expandableDetails }),
|
|
351
|
-
},
|
|
352
|
-
messageSubject: webpushData?.messageSubject || "",
|
|
353
|
-
offers: webpushData?.messageContent?.content?.offers || [],
|
|
354
|
-
};
|
|
355
|
-
payload.centralCommsPayload.webpushDeliverySettings = webpushDeliverySettings;
|
|
356
|
-
|
|
357
|
-
return payload;
|
|
358
|
-
};
|
|
359
|
-
|
|
360
320
|
// Checks if the template has changed
|
|
361
321
|
export const getTemplateDiffState = (channel, oldData, newData) => {
|
|
362
322
|
switch (channel.toUpperCase()) {
|
|
@@ -17,18 +17,17 @@ import {
|
|
|
17
17
|
CapImage,
|
|
18
18
|
CapError,
|
|
19
19
|
} from '@capillarytech/cap-ui-library';
|
|
20
|
-
import { injectIntl, FormattedMessage, intlShape
|
|
20
|
+
import { injectIntl, FormattedMessage, intlShape} from 'react-intl';
|
|
21
21
|
import { isEmpty, get } from 'lodash';
|
|
22
22
|
import './index.scss';
|
|
23
23
|
import Gallery from '../../v2Containers/Assets/Gallery';
|
|
24
24
|
import { MAX_SUPPORTED_IMAGE_SIZE } from './constants';
|
|
25
25
|
import {
|
|
26
|
-
FACEBOOK, INAPP, RCS, WHATSAPP, VIBER,
|
|
26
|
+
FACEBOOK, INAPP, RCS, WHATSAPP, VIBER,
|
|
27
27
|
} from "../../v2Containers/CreativesContainer/constants";
|
|
28
28
|
|
|
29
29
|
import messages from './messages';
|
|
30
30
|
import { MOBILEPUSH } from '../CapVideoUpload/constants';
|
|
31
|
-
import { CAP_SPACE_16 } from '@capillarytech/cap-ui-library/styled/variables';
|
|
32
31
|
function CapImageUpload(props) {
|
|
33
32
|
const {
|
|
34
33
|
intl,
|
|
@@ -51,8 +50,6 @@ function CapImageUpload(props) {
|
|
|
51
50
|
channelSpecificStyle,
|
|
52
51
|
showReUploadButton = true,
|
|
53
52
|
disableAutoRestore = false, // New prop to disable automatic restoration
|
|
54
|
-
recommendedDimensions, // Array of {width, height} objects for recommended dimensions
|
|
55
|
-
disabled = false,
|
|
56
53
|
} = props;
|
|
57
54
|
const {
|
|
58
55
|
formatMessage,
|
|
@@ -75,7 +72,7 @@ function CapImageUpload(props) {
|
|
|
75
72
|
const [isImageError, updateImageErrorMessage] = useState(false);
|
|
76
73
|
const [isDrawerRequired, updateDrawerRequirement] = useState(false);
|
|
77
74
|
|
|
78
|
-
const {
|
|
75
|
+
const {CapHeadingSpan} = CapHeading;
|
|
79
76
|
const ImageComponent = useCallback(
|
|
80
77
|
() => (
|
|
81
78
|
<>
|
|
@@ -94,7 +91,7 @@ function CapImageUpload(props) {
|
|
|
94
91
|
|
|
95
92
|
const WithLabel = LabelHOC(ImageComponent);
|
|
96
93
|
|
|
97
|
-
const uploadImages = useCallback((e, {
|
|
94
|
+
const uploadImages = useCallback((e, {files}) => {
|
|
98
95
|
if (e) {
|
|
99
96
|
e.preventDefault();
|
|
100
97
|
}
|
|
@@ -112,13 +109,13 @@ function CapImageUpload(props) {
|
|
|
112
109
|
height: img.height,
|
|
113
110
|
error: file && (file.size / (1e+6) > 5), // Checking if file exists and its size is greater than 5MB (5 * 10^6 bytes)
|
|
114
111
|
};
|
|
115
|
-
submitAction({
|
|
112
|
+
submitAction({file, type: 'image', fileParams}, incorrectFile);
|
|
116
113
|
};
|
|
117
114
|
img.onerror = () => {
|
|
118
115
|
const fileParams = {
|
|
119
116
|
error: true,
|
|
120
117
|
};
|
|
121
|
-
submitAction({
|
|
118
|
+
submitAction({fileParams}, incorrectFile);
|
|
122
119
|
};
|
|
123
120
|
if (e) {
|
|
124
121
|
const event = e;
|
|
@@ -126,7 +123,7 @@ function CapImageUpload(props) {
|
|
|
126
123
|
}
|
|
127
124
|
}, []);
|
|
128
125
|
|
|
129
|
-
const rcsValidation = useCallback((incorrectFile, data, size, height, width, error) => {
|
|
126
|
+
const rcsValidation = useCallback((incorrectFile, data, size, height, width, error) => {
|
|
130
127
|
if (incorrectFile || size < minImgSize || size > imgSize || height !== imgHeight || width !== imgWidth || error) {
|
|
131
128
|
updateImageErrorMessage(formatMessage(messages.imageErrorDesc));
|
|
132
129
|
} else {
|
|
@@ -149,19 +146,6 @@ function CapImageUpload(props) {
|
|
|
149
146
|
const { height, width, error } = fileParams || {};
|
|
150
147
|
if (channel === RCS) {
|
|
151
148
|
rcsValidation(incorrectFile, data, size, height, width, error);
|
|
152
|
-
} else if ([WEBPUSH, WEBPUSH_BRAND_ICON].includes(channel)) {
|
|
153
|
-
// For WEBPUSH, only validate file extension, size, and format - no dimension validation
|
|
154
|
-
if (incorrectFile || size > imgSize || error) {
|
|
155
|
-
updateImageErrorMessage(formatMessage(messages.imageErrorDesc));
|
|
156
|
-
} else {
|
|
157
|
-
updateImageErrorMessage('');
|
|
158
|
-
uploadAsset(
|
|
159
|
-
data.file,
|
|
160
|
-
data.type,
|
|
161
|
-
data.fileParams,
|
|
162
|
-
index,
|
|
163
|
-
);
|
|
164
|
-
}
|
|
165
149
|
} else if (incorrectFile || size > imgSize || height > imgHeight || width > imgWidth || error) {
|
|
166
150
|
updateImageErrorMessage(formatMessage(messages.imageErrorDesc));
|
|
167
151
|
} else {
|
|
@@ -176,7 +160,7 @@ function CapImageUpload(props) {
|
|
|
176
160
|
}, [isImageError]);
|
|
177
161
|
|
|
178
162
|
const capUploaderCustomRequest = useCallback((uploadData) => {
|
|
179
|
-
uploadImages(undefined, {
|
|
163
|
+
uploadImages(undefined, {files: [uploadData.file]});
|
|
180
164
|
}, [uploadImages]);
|
|
181
165
|
|
|
182
166
|
const setDrawerVisibility = useCallback((drawervisibleFlag) => updateDrawerRequirement(drawervisibleFlag), [isDrawerRequired]);
|
|
@@ -197,27 +181,19 @@ function CapImageUpload(props) {
|
|
|
197
181
|
secure_file_path: image, width, height, file_size: size,
|
|
198
182
|
} = get(imageTemplate, 'metaInfo', {});
|
|
199
183
|
updateDrawerRequirement(false);
|
|
200
|
-
|
|
201
|
-
if ([WEBPUSH, WEBPUSH_BRAND_ICON].includes(channel)) {
|
|
202
|
-
if (!allowedExtensionsRegex.test(image) || size > imgSize) {
|
|
203
|
-
updateImageErrorMessage(formatMessage(messages.imageErrorDesc));
|
|
204
|
-
} else {
|
|
205
|
-
updateImageErrorMessage('');
|
|
206
|
-
updateImageSrc(image);
|
|
207
|
-
}
|
|
208
|
-
} else if (!allowedExtensionsRegex.test(image) || height > imgHeight || width > imgWidth || size > imgSize) {
|
|
184
|
+
if (!allowedExtensionsRegex.test(image) || height > imgHeight || width > imgWidth || size > imgSize ) {
|
|
209
185
|
updateImageErrorMessage(formatMessage(messages.imageErrorDesc));
|
|
210
186
|
} else {
|
|
211
187
|
updateImageErrorMessage('');
|
|
212
188
|
updateImageSrc(image);
|
|
213
189
|
}
|
|
214
|
-
}, [isImageError, isDrawerRequired
|
|
190
|
+
}, [isImageError, isDrawerRequired]);
|
|
215
191
|
|
|
216
192
|
const getGalleryDrawerContent = useCallback(() => {
|
|
217
193
|
const locationGallery = {
|
|
218
194
|
pathname: `/assets`,
|
|
219
195
|
search: '',
|
|
220
|
-
query: !isFullMode ? {
|
|
196
|
+
query: !isFullMode ? {type: 'embedded', module: 'library'} : {},
|
|
221
197
|
};
|
|
222
198
|
return (
|
|
223
199
|
<>
|
|
@@ -254,7 +230,6 @@ function CapImageUpload(props) {
|
|
|
254
230
|
customRequest={capUploaderCustomRequest}
|
|
255
231
|
className="form-builder-dragger grey-background"
|
|
256
232
|
showUploadList={!isImageError}
|
|
257
|
-
disabled={disabled}
|
|
258
233
|
>
|
|
259
234
|
<CapHeading className="dragger-title" type="h7">
|
|
260
235
|
<FormattedMessage {...messages.dragAndDrop} />
|
|
@@ -262,7 +237,7 @@ function CapImageUpload(props) {
|
|
|
262
237
|
<CapHeading className="dragger-or" type="label6">
|
|
263
238
|
<FormattedMessage {...messages.or} />
|
|
264
239
|
</CapHeading>
|
|
265
|
-
<CapButton className="dragger-button upload-image" type="secondary"
|
|
240
|
+
<CapButton className="dragger-button upload-image" type="secondary">
|
|
266
241
|
<FormattedMessage {...messages.uploadComputer} />
|
|
267
242
|
</CapButton>
|
|
268
243
|
{channel !== WHATSAPP && (
|
|
@@ -270,8 +245,6 @@ function CapImageUpload(props) {
|
|
|
270
245
|
className="dragger-button gallery-select"
|
|
271
246
|
type="secondary"
|
|
272
247
|
onClick={onGalleryClick}
|
|
273
|
-
disabled={disabled}
|
|
274
|
-
tabIndex={disabled ? -1 : undefined}
|
|
275
248
|
>
|
|
276
249
|
<FormattedMessage {...messages.uploadGallery} />
|
|
277
250
|
</CapButton>
|
|
@@ -289,15 +262,13 @@ function CapImageUpload(props) {
|
|
|
289
262
|
className="dragger-button re-upload"
|
|
290
263
|
type="flat"
|
|
291
264
|
onClick={onReUpload}
|
|
292
|
-
style={channelSpecificStyle ? { marginTop:
|
|
293
|
-
disabled={disabled}
|
|
294
|
-
tabIndex={disabled ? -1 : undefined}
|
|
265
|
+
style={channelSpecificStyle ? { marginTop: '-16px'} : {}}
|
|
295
266
|
>
|
|
296
267
|
<FormattedMessage {...messages.imageReUpload} />
|
|
297
268
|
</CapButton>
|
|
298
269
|
);
|
|
299
270
|
}
|
|
300
|
-
}, [isImageError, imageSrc
|
|
271
|
+
}, [isImageError, imageSrc]);
|
|
301
272
|
|
|
302
273
|
return (
|
|
303
274
|
<div style={style} className="cap-custom-image-upload">
|
|
@@ -314,8 +285,6 @@ function CapImageUpload(props) {
|
|
|
314
285
|
type="file"
|
|
315
286
|
onChange={(e) => uploadImages(e, { files: e.target.files })}
|
|
316
287
|
accept={supportedExtensions || "image/*"}
|
|
317
|
-
disabled={disabled}
|
|
318
|
-
tabIndex={disabled ? -1 : undefined}
|
|
319
288
|
/>
|
|
320
289
|
{getImageSection()}
|
|
321
290
|
<CapDrawer
|
|
@@ -336,18 +305,7 @@ function CapImageUpload(props) {
|
|
|
336
305
|
)}
|
|
337
306
|
{![WHATSAPP, INAPP].includes(channel) && (
|
|
338
307
|
<CapHeadingSpan type="label2" className="image-dimension">
|
|
339
|
-
{
|
|
340
|
-
<FormattedMessage
|
|
341
|
-
{...messages.recommendedDimensions}
|
|
342
|
-
values={{
|
|
343
|
-
dimensions: recommendedDimensions
|
|
344
|
-
.map((dim) => `${dim.width} x ${dim.height}px`)
|
|
345
|
-
.join(', '),
|
|
346
|
-
}}
|
|
347
|
-
/>
|
|
348
|
-
) : (
|
|
349
|
-
<FormattedMessage {...messages.imageDimenstionDescription} values={{ width: imgWidth, height: imgHeight }} />
|
|
350
|
-
)}
|
|
308
|
+
<FormattedMessage {...messages.imageDimenstionDescription} values={{ width: imgWidth, height: imgHeight }} />
|
|
351
309
|
</CapHeadingSpan>
|
|
352
310
|
)}
|
|
353
311
|
{channel === FACEBOOK && (
|
|
@@ -370,7 +328,7 @@ function CapImageUpload(props) {
|
|
|
370
328
|
getImageSizeLabel()
|
|
371
329
|
)
|
|
372
330
|
)}
|
|
373
|
-
{[VIBER, INAPP, MOBILEPUSH
|
|
331
|
+
{[VIBER, INAPP, MOBILEPUSH].includes(channel) && getImageSizeLabel()}
|
|
374
332
|
<CapHeadingSpan type="label2" className="image-format">
|
|
375
333
|
{channel === INAPP ? <FormattedMessage {...messages.format2} /> : <FormattedMessage {...messages.format} />}
|
|
376
334
|
</CapHeadingSpan>
|
|
@@ -399,13 +357,6 @@ CapImageUpload.propTypes = {
|
|
|
399
357
|
channel: PropTypes.string,
|
|
400
358
|
channelSpecificStyle: PropTypes.bool,
|
|
401
359
|
disableAutoRestore: PropTypes.bool,
|
|
402
|
-
recommendedDimensions: PropTypes.arrayOf(
|
|
403
|
-
PropTypes.shape({
|
|
404
|
-
width: PropTypes.number.isRequired,
|
|
405
|
-
height: PropTypes.number.isRequired,
|
|
406
|
-
})
|
|
407
|
-
),
|
|
408
|
-
disabled: PropTypes.bool,
|
|
409
360
|
};
|
|
410
361
|
|
|
411
362
|
export default injectIntl(CapImageUpload);
|