@capillarytech/creatives-library 8.0.255-alpha.4 → 8.0.256

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.
Files changed (164) hide show
  1. package/constants/unified.js +0 -1
  2. package/package.json +1 -1
  3. package/services/api.js +0 -5
  4. package/translations/en.json +3 -4
  5. package/utils/common.js +0 -6
  6. package/utils/tests/transformerUtils.test.js +0 -297
  7. package/utils/transformerUtils.js +0 -40
  8. package/v2Components/CapImageUpload/constants.js +0 -2
  9. package/v2Components/CapImageUpload/index.js +16 -65
  10. package/v2Components/CapImageUpload/index.scss +1 -4
  11. package/v2Components/CapImageUpload/messages.js +1 -5
  12. package/v2Components/CommonTestAndPreview/UnifiedPreview/InAppPreviewContent.js +3 -3
  13. package/v2Components/CommonTestAndPreview/UnifiedPreview/RcsPreviewContent.js +3 -3
  14. package/v2Components/CommonTestAndPreview/UnifiedPreview/SmsPreviewContent.js +3 -3
  15. package/v2Components/CommonTestAndPreview/UnifiedPreview/ViberPreviewContent.js +3 -3
  16. package/v2Components/CommonTestAndPreview/UnifiedPreview/WhatsAppPreviewContent.js +1 -1
  17. package/v2Components/CommonTestAndPreview/UnifiedPreview/_unifiedPreview.scss +37 -6
  18. package/v2Components/CommonTestAndPreview/_commonTestAndPreview.scss +0 -2
  19. package/v2Components/TemplatePreview/_templatePreview.scss +1 -2
  20. package/v2Components/TestAndPreviewSlidebox/_testAndPreviewSlidebox.scss +0 -1
  21. package/v2Containers/App/constants.js +0 -5
  22. package/v2Containers/Cap/tests/__snapshots__/index.test.js.snap +3 -4
  23. package/v2Containers/CreativesContainer/SlideBoxContent.js +2 -57
  24. package/v2Containers/CreativesContainer/SlideBoxHeader.js +0 -1
  25. package/v2Containers/CreativesContainer/constants.js +0 -3
  26. package/v2Containers/CreativesContainer/index.js +0 -168
  27. package/v2Containers/CreativesContainer/messages.js +0 -4
  28. package/v2Containers/CreativesContainer/tests/SlideBoxContent.test.js +0 -210
  29. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +0 -304
  30. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/content.test.js.snap +12 -36
  31. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/index.test.js.snap +6 -8
  32. package/v2Containers/Line/Container/Wrapper/tests/__snapshots__/index.test.js.snap +75 -100
  33. package/v2Containers/Line/Container/tests/__snapshots__/index.test.js.snap +54 -72
  34. package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +214 -286
  35. package/v2Containers/SmsTrai/Create/tests/__snapshots__/index.test.js.snap +12 -16
  36. package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +48 -60
  37. package/v2Containers/Templates/ChannelTypeIllustration.js +1 -13
  38. package/v2Containers/Templates/_templates.scss +0 -205
  39. package/v2Containers/Templates/actions.js +1 -2
  40. package/v2Containers/Templates/constants.js +0 -1
  41. package/v2Containers/Templates/index.js +34 -274
  42. package/v2Containers/Templates/messages.js +0 -24
  43. package/v2Containers/Templates/reducer.js +0 -2
  44. package/v2Containers/Templates/tests/index.test.js +0 -10
  45. package/v2Containers/TemplatesV2/index.js +7 -15
  46. package/v2Containers/TemplatesV2/messages.js +0 -4
  47. package/v2Containers/Whatsapp/index.js +1 -1
  48. package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +870 -1442
  49. package/utils/imageUrlUpload.js +0 -141
  50. package/v2Components/CapImageUrlUpload/constants.js +0 -26
  51. package/v2Components/CapImageUrlUpload/index.js +0 -365
  52. package/v2Components/CapImageUrlUpload/index.scss +0 -35
  53. package/v2Components/CapImageUrlUpload/messages.js +0 -47
  54. package/v2Containers/WebPush/Create/components/BrandIconSection.js +0 -108
  55. package/v2Containers/WebPush/Create/components/ButtonForm.js +0 -172
  56. package/v2Containers/WebPush/Create/components/ButtonItem.js +0 -101
  57. package/v2Containers/WebPush/Create/components/ButtonList.js +0 -145
  58. package/v2Containers/WebPush/Create/components/ButtonsLinksSection.js +0 -164
  59. package/v2Containers/WebPush/Create/components/ButtonsLinksSection.test.js +0 -463
  60. package/v2Containers/WebPush/Create/components/FormActions.js +0 -54
  61. package/v2Containers/WebPush/Create/components/FormActions.test.js +0 -163
  62. package/v2Containers/WebPush/Create/components/MediaSection.js +0 -142
  63. package/v2Containers/WebPush/Create/components/MediaSection.test.js +0 -341
  64. package/v2Containers/WebPush/Create/components/MessageSection.js +0 -103
  65. package/v2Containers/WebPush/Create/components/MessageSection.test.js +0 -268
  66. package/v2Containers/WebPush/Create/components/NotificationTitleSection.js +0 -87
  67. package/v2Containers/WebPush/Create/components/NotificationTitleSection.test.js +0 -210
  68. package/v2Containers/WebPush/Create/components/TemplateNameSection.js +0 -54
  69. package/v2Containers/WebPush/Create/components/TemplateNameSection.test.js +0 -143
  70. package/v2Containers/WebPush/Create/components/__snapshots__/ButtonsLinksSection.test.js.snap +0 -86
  71. package/v2Containers/WebPush/Create/components/__snapshots__/FormActions.test.js.snap +0 -16
  72. package/v2Containers/WebPush/Create/components/__snapshots__/MediaSection.test.js.snap +0 -41
  73. package/v2Containers/WebPush/Create/components/__snapshots__/MessageSection.test.js.snap +0 -54
  74. package/v2Containers/WebPush/Create/components/__snapshots__/NotificationTitleSection.test.js.snap +0 -37
  75. package/v2Containers/WebPush/Create/components/__snapshots__/TemplateNameSection.test.js.snap +0 -21
  76. package/v2Containers/WebPush/Create/components/_buttons.scss +0 -246
  77. package/v2Containers/WebPush/Create/components/tests/ButtonForm.test.js +0 -554
  78. package/v2Containers/WebPush/Create/components/tests/ButtonItem.test.js +0 -607
  79. package/v2Containers/WebPush/Create/components/tests/ButtonList.test.js +0 -633
  80. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonForm.test.js.snap +0 -666
  81. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonItem.test.js.snap +0 -74
  82. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonList.test.js.snap +0 -78
  83. package/v2Containers/WebPush/Create/hooks/useButtonManagement.js +0 -138
  84. package/v2Containers/WebPush/Create/hooks/useButtonManagement.test.js +0 -406
  85. package/v2Containers/WebPush/Create/hooks/useCharacterCount.js +0 -30
  86. package/v2Containers/WebPush/Create/hooks/useCharacterCount.test.js +0 -151
  87. package/v2Containers/WebPush/Create/hooks/useImageUpload.js +0 -104
  88. package/v2Containers/WebPush/Create/hooks/useImageUpload.test.js +0 -538
  89. package/v2Containers/WebPush/Create/hooks/useTagManagement.js +0 -122
  90. package/v2Containers/WebPush/Create/hooks/useTagManagement.test.js +0 -633
  91. package/v2Containers/WebPush/Create/index.js +0 -1148
  92. package/v2Containers/WebPush/Create/index.scss +0 -134
  93. package/v2Containers/WebPush/Create/messages.js +0 -203
  94. package/v2Containers/WebPush/Create/preview/DevicePreviewContent.js +0 -228
  95. package/v2Containers/WebPush/Create/preview/NotificationContainer.js +0 -294
  96. package/v2Containers/WebPush/Create/preview/PreviewContent.js +0 -90
  97. package/v2Containers/WebPush/Create/preview/PreviewControls.js +0 -305
  98. package/v2Containers/WebPush/Create/preview/PreviewDisclaimer.js +0 -23
  99. package/v2Containers/WebPush/Create/preview/WebPushPreview.js +0 -155
  100. package/v2Containers/WebPush/Create/preview/assets/Light.svg +0 -53
  101. package/v2Containers/WebPush/Create/preview/assets/Top.svg +0 -5
  102. package/v2Containers/WebPush/Create/preview/assets/android-arrow-down.svg +0 -9
  103. package/v2Containers/WebPush/Create/preview/assets/android-arrow-up.svg +0 -9
  104. package/v2Containers/WebPush/Create/preview/assets/chrome-icon.png +0 -0
  105. package/v2Containers/WebPush/Create/preview/assets/edge-icon.png +0 -0
  106. package/v2Containers/WebPush/Create/preview/assets/firefox-icon.svg +0 -106
  107. package/v2Containers/WebPush/Create/preview/assets/iOS.svg +0 -26
  108. package/v2Containers/WebPush/Create/preview/assets/macos-arrow-down-icon.svg +0 -9
  109. package/v2Containers/WebPush/Create/preview/assets/macos-triple-dot-icon.svg +0 -9
  110. package/v2Containers/WebPush/Create/preview/assets/opera-icon.svg +0 -18
  111. package/v2Containers/WebPush/Create/preview/assets/safari-icon.svg +0 -29
  112. package/v2Containers/WebPush/Create/preview/assets/windows-close-icon.svg +0 -9
  113. package/v2Containers/WebPush/Create/preview/assets/windows-triple-dot-icon.svg +0 -9
  114. package/v2Containers/WebPush/Create/preview/components/AndroidMobileChromeHeader.js +0 -47
  115. package/v2Containers/WebPush/Create/preview/components/AndroidMobileExpanded.js +0 -141
  116. package/v2Containers/WebPush/Create/preview/components/IOSHeader.js +0 -45
  117. package/v2Containers/WebPush/Create/preview/components/NotificationExpandedContent.js +0 -68
  118. package/v2Containers/WebPush/Create/preview/components/NotificationHeader.js +0 -61
  119. package/v2Containers/WebPush/Create/preview/components/WindowsChromeExpanded.js +0 -99
  120. package/v2Containers/WebPush/Create/preview/components/tests/AndroidMobileExpanded.test.js +0 -733
  121. package/v2Containers/WebPush/Create/preview/components/tests/WindowsChromeExpanded.test.js +0 -571
  122. package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/AndroidMobileExpanded.test.js.snap +0 -81
  123. package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/WindowsChromeExpanded.test.js.snap +0 -81
  124. package/v2Containers/WebPush/Create/preview/config/notificationMappings.js +0 -50
  125. package/v2Containers/WebPush/Create/preview/constants.js +0 -637
  126. package/v2Containers/WebPush/Create/preview/notification-container.scss +0 -79
  127. package/v2Containers/WebPush/Create/preview/preview.scss +0 -351
  128. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-chrome.scss +0 -370
  129. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-edge.scss +0 -12
  130. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-firefox.scss +0 -12
  131. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-opera.scss +0 -12
  132. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-chrome.scss +0 -47
  133. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-edge.scss +0 -11
  134. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-firefox.scss +0 -11
  135. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-opera.scss +0 -11
  136. package/v2Containers/WebPush/Create/preview/styles/_base.scss +0 -207
  137. package/v2Containers/WebPush/Create/preview/styles/_ios.scss +0 -153
  138. package/v2Containers/WebPush/Create/preview/styles/_ipados.scss +0 -107
  139. package/v2Containers/WebPush/Create/preview/styles/_macos-chrome.scss +0 -101
  140. package/v2Containers/WebPush/Create/preview/styles/_windows-chrome.scss +0 -229
  141. package/v2Containers/WebPush/Create/preview/tests/DevicePreviewContent.test.js +0 -909
  142. package/v2Containers/WebPush/Create/preview/tests/NotificationContainer.test.js +0 -1081
  143. package/v2Containers/WebPush/Create/preview/tests/PreviewControls.test.js +0 -723
  144. package/v2Containers/WebPush/Create/preview/tests/WebPushPreview.test.js +0 -1327
  145. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/DevicePreviewContent.test.js.snap +0 -131
  146. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/NotificationContainer.test.js.snap +0 -112
  147. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/PreviewControls.test.js.snap +0 -144
  148. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/WebPushPreview.test.js.snap +0 -129
  149. package/v2Containers/WebPush/Create/utils/payloadBuilder.js +0 -96
  150. package/v2Containers/WebPush/Create/utils/payloadBuilder.test.js +0 -396
  151. package/v2Containers/WebPush/Create/utils/previewUtils.js +0 -89
  152. package/v2Containers/WebPush/Create/utils/urlValidation.js +0 -115
  153. package/v2Containers/WebPush/Create/utils/urlValidation.test.js +0 -449
  154. package/v2Containers/WebPush/Create/utils/validation.js +0 -75
  155. package/v2Containers/WebPush/Create/utils/validation.test.js +0 -283
  156. package/v2Containers/WebPush/actions.js +0 -60
  157. package/v2Containers/WebPush/constants.js +0 -132
  158. package/v2Containers/WebPush/index.js +0 -2
  159. package/v2Containers/WebPush/reducer.js +0 -104
  160. package/v2Containers/WebPush/sagas.js +0 -119
  161. package/v2Containers/WebPush/selectors.js +0 -65
  162. package/v2Containers/WebPush/tests/reducer.test.js +0 -863
  163. package/v2Containers/WebPush/tests/sagas.test.js +0 -566
  164. package/v2Containers/WebPush/tests/selectors.test.js +0 -960
@@ -28,10 +28,6 @@ import { getWhatsappContent } from '../Whatsapp/utils';
28
28
  import * as commonUtil from '../../utils/common';
29
29
  import Zalo from '../Zalo';
30
30
  import MobilePushNew from '../MobilePushNew';
31
- import WebPush from '../WebPush';
32
- import DevicePreviewContent from '../WebPush/Create/preview/DevicePreviewContent';
33
- import { LAYOUT_MODE } from '../WebPush/Create/preview/constants';
34
- import { WEBPUSH_CONTENT_FIELDS, WEBPUSH_TEMPLATE_PATHS } from '../WebPush/constants';
35
31
  const CreativesWrapper = styled.div`
36
32
  .ant-popover,
37
33
  .ant-notification,
@@ -168,7 +164,6 @@ export function SlideBoxContent(props) {
168
164
  handleTestAndPreview,
169
165
  handleCloseTestAndPreview,
170
166
  isTestAndPreviewMode,
171
- supportedTags = [],
172
167
  } = props;
173
168
  const type = (messageDetails.type || '').toLowerCase(); // type is context in get tags values : outbound | dvs | referral | loyalty | coupons
174
169
  const query = { type: !isFullMode && 'embedded', module: isFullMode ? 'default' : 'library', isEditFromCampaigns: (templateData || {}).isEditFromCampaigns};
@@ -205,7 +200,6 @@ export function SlideBoxContent(props) {
205
200
  const isCreateRcs = isCreate && channel === constants.RCS;
206
201
  const isCreateMPush = isCreate && channel === constants.MOBILE_PUSH;
207
202
  const isCreateCallTask = isCreate && channel === constants.CALL_TASK;
208
- const isCreateWebPush = isCreate && channel === constants.WEBPUSH;
209
203
  let isEditSms = false;
210
204
  let isEditEmailWithId = false;
211
205
  let isEmailEditWithContent = false;
@@ -213,14 +207,12 @@ export function SlideBoxContent(props) {
213
207
  let isEmailPreview = false;
214
208
  let isMpushPreview = false;
215
209
  let isInappPreview = false;
216
- let isWebPushPreview = false;
217
210
  let isEditCallTask = false;
218
211
  let isEditMPush = false;
219
212
  let isEditFacebook = false;
220
213
  let isEditFTP = false;
221
214
  let isEditWhatsapp = false;
222
215
  let isEditInApp = false;
223
- let isEditWebPush = false;
224
216
  let isEditRcs = false;
225
217
  let isEditZalo = false;
226
218
  const isEmailCreate = isCreate && channel === constants.EMAIL;
@@ -234,12 +226,10 @@ export function SlideBoxContent(props) {
234
226
  isEditFacebook = isEdit && channel === constants.FACEBOOK;
235
227
  isEditWhatsapp = isEdit && channel === constants.WHATSAPP;
236
228
  isEditRcs = isEdit && channel === constants.RCS;
237
- isEditWebPush = isEdit && channel === constants.WEBPUSH;
238
229
  isPreview = slidBoxContent === 'preview' && [constants.SMS, constants.LINE, constants.WHATSAPP, constants.FACEBOOK, constants.VIBER, constants.RCS].includes(channel);
239
230
  isEmailPreview = slidBoxContent === 'preview' && channel === constants.EMAIL;
240
231
  isMpushPreview = slidBoxContent === 'preview' && channel === constants.MOBILE_PUSH;
241
232
  isInappPreview = slidBoxContent === 'preview' && channel === constants.INAPP;
242
- isWebPushPreview = slidBoxContent === 'preview' && channel === constants.WEBPUSH;
243
233
  isEditFTP = isEdit && [constants.NO_COMMUNICATION, constants.FTP].includes(channel);
244
234
  isEditZalo = isEdit && channel?.toUpperCase() === constants.ZALO;
245
235
  isEditInApp = isEdit && channel === constants.INAPP;
@@ -487,30 +477,8 @@ export function SlideBoxContent(props) {
487
477
  templateData={templateData}
488
478
  channel={channel}
489
479
  forwardedTags={forwardedTags}
490
- />
480
+ />
491
481
  )}
492
- {isWebPushPreview && (() => {
493
- const webpushContent = get(templateData, WEBPUSH_TEMPLATE_PATHS.CONTENT, {});
494
- const notificationTitle = webpushContent?.[WEBPUSH_CONTENT_FIELDS.TITLE] || '';
495
- const notificationBody = webpushContent?.[WEBPUSH_CONTENT_FIELDS.MESSAGE] || '';
496
- const imageSrc = webpushContent?.[WEBPUSH_CONTENT_FIELDS.IMAGE] || '';
497
- const brandIconSrc = webpushContent?.[WEBPUSH_CONTENT_FIELDS.BRAND_ICON] || '';
498
- // Extract URL from onClickAction or use empty string
499
- const url = webpushContent?.[WEBPUSH_CONTENT_FIELDS.ON_CLICK_ACTION]?.url || '';
500
-
501
- return (
502
- <div className="webpush-preview-container">
503
- <DevicePreviewContent
504
- notificationTitle={notificationTitle}
505
- notificationBody={notificationBody}
506
- url={url}
507
- imageSrc={imageSrc}
508
- brandIconSrc={brandIconSrc}
509
- layoutMode={LAYOUT_MODE.COMPACT}
510
- />
511
- </div>
512
- );
513
- })()}
514
482
 
515
483
  {
516
484
  (currentChannel === constants.WECHAT && !!slidBoxContent) && <WechatWrapper
@@ -1046,28 +1014,6 @@ export function SlideBoxContent(props) {
1046
1014
  />
1047
1015
  )}
1048
1016
 
1049
- {(isCreateWebPush || isEditWebPush) && (
1050
- <WebPush
1051
- isFullMode={isFullMode}
1052
- handleClose={handleClose}
1053
- onCreateComplete={onCreateComplete}
1054
- getFormData={getFormData}
1055
- isGetFormData={isGetFormData}
1056
- templateData={isEditWebPush ? templateData : undefined}
1057
- creativesMode={creativesMode}
1058
- params={isEditWebPush && templateData ? { id: templateData._id } : undefined}
1059
- location={{
1060
- pathname: isEditWebPush ? '/webpush/edit' : '/webpush/create',
1061
- query,
1062
- search: '',
1063
- }}
1064
- getDefaultTags={type}
1065
- forwardedTags={forwardedTags}
1066
- supportedTags={supportedTags}
1067
- selectedOfferDetails={selectedOfferDetails}
1068
- eventContextTags={eventContextTags}
1069
- />
1070
- )}
1071
1017
  {isCreateRcs && (<Rcs
1072
1018
  {...rcsCommonProps}
1073
1019
  showLiquidErrorInFooter={showLiquidErrorInFooter}
@@ -1130,7 +1076,6 @@ SlideBoxContent.propTypes = {
1130
1076
  onValidationFail: PropTypes.func,
1131
1077
  channelsToHide: PropTypes.array,
1132
1078
  forwardedTags: PropTypes.object,
1133
- supportedTags: PropTypes.array,
1134
1079
  selectedOfferDetails: PropTypes.array,
1135
1080
  channelsToDisable: PropTypes.array,
1136
1081
  weChatTemplateType: PropTypes.string,
@@ -1146,7 +1091,7 @@ SlideBoxContent.propTypes = {
1146
1091
  onFTPSubmit: PropTypes.func,
1147
1092
  messageStrategy: PropTypes.string,
1148
1093
  fbAdManager: PropTypes.string,
1149
- showDisabledFBInfo: PropTypes.bool,
1094
+ showDisabledFBInfo: PropTypes.boolean,
1150
1095
  orgUnitId: PropTypes.any,
1151
1096
  smsRegister: PropTypes.any,
1152
1097
  getCmsTemplatesInProgress: PropTypes.bool,
@@ -71,7 +71,6 @@ export function SlideBoxHeader(props) {
71
71
  rcs: <FormattedMessage {...messages.rcsCreative} />,
72
72
  zalo: <FormattedMessage {...messages.zaloTemplate} />,
73
73
  viber: <FormattedMessage {...messages.viberTemplate} />,
74
- webpush: <FormattedMessage {...messages.webPushTemplate} />,
75
74
  };
76
75
  return labels[currentChannel.toLowerCase()];
77
76
  };
@@ -21,8 +21,6 @@ export const PUSH = "PUSH";
21
21
  export const RCS = "RCS";
22
22
  export const ZALO = "ZALO";
23
23
  export const INAPP = "INAPP";
24
- export const WEBPUSH = "WEBPUSH";
25
- export const WEBPUSH_BRAND_ICON = "WEBPUSH_BRAND_ICON";
26
24
  export const PREVIEW = "preview";
27
25
  export const EDIT_TEMPLATE = "editTemplate";
28
26
  export const JOURNEY = "journey";
@@ -50,4 +48,3 @@ export const BIG_TEXT = "BIG_TEXT";
50
48
  export const GENERIC = "GENERIC";
51
49
  export const LIQUID_ERROR_MSG = "LIQUID_ERROR_MSG";
52
50
  export const STANDARD_ERROR_MSG = "STANDARD_ERROR_MSG";
53
- export const COMMON_CHANNELS = ['sms', 'email', 'wechat', 'mobilepush', 'webpush', 'line', 'viber', 'facebook', 'call_task', 'ftp', 'assets'];
@@ -42,7 +42,6 @@ import { makeSelectFetchingCmsData } from '../Email/selectors';
42
42
  import {
43
43
  IMAGE as LINE_IMAGE, IMAGE_MAP, IMAGE_CAROUSEL, VIDEO as LINE_VIDEO, TEMPLATE, STICKER,
44
44
  } from '../Line/Container/constants';
45
- import {EXTERNAL_URL, SITE_URL, WEBPUSH_MEDIA_TYPES} from '../WebPush/constants';
46
45
  import { IMAGE, VIDEO } from '../Facebook/Advertisement/constant';
47
46
  import {RCS_STATUSES} from '../Rcs/constants';
48
47
  import { CREATIVE } from '../Facebook/constants';
@@ -709,73 +708,6 @@ export class Creatives extends React.Component {
709
708
  };
710
709
  break;
711
710
  }
712
- case constants.WEBPUSH: {
713
- // Convert from campaign format (messageContent.content.content) to creatives format
714
- const webpushContent = get(templateData, 'content', {});
715
- const accountId = get(templateData, 'accountId');
716
- const {
717
- title,
718
- message,
719
- iconImageUrl: brandIcon = "",
720
- cta,
721
- expandableDetails
722
- } = webpushContent || {};
723
-
724
- // Map cta to onClickAction
725
- let onClickAction = null;
726
- if (cta) {
727
- if (cta?.type === EXTERNAL_URL) {
728
- onClickAction = {
729
- type: URL,
730
- url: cta?.actionLink || '',
731
- };
732
- } else {
733
- onClickAction = {
734
- type: cta?.type || SITE_URL,
735
- };
736
- }
737
- }
738
-
739
- // Map expandableDetails.ctas to ctas array
740
- let ctas = [];
741
- if (expandableDetails?.ctas && expandableDetails?.ctas?.length > 0) {
742
- ctas = expandableDetails?.ctas?.map((ctaItem) => ({
743
- actionText: ctaItem?.title || ctaItem?.actionText || '',
744
- type: URL,
745
- actionLink: ctaItem?.actionLink || '',
746
- }));
747
- }
748
-
749
- // Map expandableDetails.media to image if present
750
- let image = null;
751
- if (expandableDetails?.media && expandableDetails?.media?.length > 0) {
752
- const firstMedia = expandableDetails?.media[0];
753
- if (firstMedia?.type === WEBPUSH_MEDIA_TYPES.IMAGE && firstMedia?.url) {
754
- image = firstMedia?.url;
755
- }
756
- }
757
-
758
- creativesTemplateData = {
759
- type: channel,
760
- name: templateData?.messageSubject,
761
- versions: {
762
- base: {
763
- content: {
764
- webpush: {
765
- title: title || '',
766
- message: message || '',
767
- ...(brandIcon && { brandIcon }),
768
- ...(onClickAction && { onClickAction }),
769
- ...(ctas.length > 0 && { ctas }),
770
- ...(image && { image, mediaType: IMAGE }),
771
- },
772
- },
773
- },
774
- },
775
- definition: { accountId },
776
- };
777
- break;
778
- }
779
711
  default:
780
712
  break;
781
713
  }
@@ -1190,105 +1122,6 @@ export class Creatives extends React.Component {
1190
1122
  }
1191
1123
  }
1192
1124
  break;
1193
- case constants.WEBPUSH: {
1194
- if (template.value) {
1195
- const channelTemplate = template.value;
1196
- const accountId = get(channelTemplate, 'definition.accountId');
1197
- const webpushContent = get(channelTemplate, 'versions.base.content.webpush', {});
1198
- const {
1199
- title,
1200
- message,
1201
- brandIcon,
1202
- iconImageUrl: templateImageUrl ,
1203
- onClickAction,
1204
- ctas: templateCtas,
1205
- cta: templateCta,
1206
- expandableDetails: templateExpandableDetails,
1207
- image
1208
- } = webpushContent || {};
1209
-
1210
- const iconImageUrl = brandIcon || templateImageUrl || '';
1211
-
1212
- // Map onClickAction to cta
1213
- let cta = null;
1214
- if (onClickAction) {
1215
- if (onClickAction?.type === URL) {
1216
- cta = {
1217
- type: EXTERNAL_URL,
1218
- actionLink: onClickAction?.url || '',
1219
- };
1220
- } else {
1221
- cta = {
1222
- type: onClickAction?.type || SITE_URL,
1223
- actionLink: onClickAction?.url || '',
1224
- };
1225
- }
1226
- } else if (templateCta) {
1227
- // Fallback to cta if onClickAction is not present
1228
- cta = {
1229
- type: templateCta?.type || EXTERNAL_URL,
1230
- actionLink: templateCta?.actionLink || '',
1231
- };
1232
- }
1233
-
1234
- // Map ctas array to expandableDetails.ctas
1235
- let expandableDetails = null;
1236
- const hasCtas = templateCtas && templateCtas.length > 0;
1237
- const hasImage = image;
1238
-
1239
- if (hasCtas || hasImage) {
1240
- expandableDetails = {
1241
- media: [],
1242
- ctas: [],
1243
- };
1244
-
1245
- // Map image to expandableDetails.media
1246
- if (hasImage) {
1247
- expandableDetails.media = [{
1248
- url: image,
1249
- type: IMAGE,
1250
- }];
1251
- }
1252
-
1253
- // Map ctas array to expandableDetails.ctas
1254
- if (hasCtas) {
1255
- expandableDetails.ctas = templateCtas.map((ctaItem) => ({
1256
- type: ctaItem?.type === URL ? EXTERNAL_URL : ctaItem?.type,
1257
- action: ctaItem?.action || '',
1258
- title: ctaItem?.actionText || ctaItem?.title || '',
1259
- actionLink: ctaItem?.actionLink || '',
1260
- }));
1261
- }
1262
- } else if (templateExpandableDetails) {
1263
- // If expandableDetails already exists, use it
1264
- expandableDetails = {
1265
- media: templateExpandableDetails?.media || [],
1266
- ctas: templateExpandableDetails?.ctas || [],
1267
- };
1268
- }
1269
-
1270
- // Convert from creatives format to campaign format
1271
- templateData = {
1272
- channel,
1273
- messageContent: {
1274
- content: {
1275
- channel: constants.WEBPUSH,
1276
- accountId,
1277
- content: {
1278
- title: title || '',
1279
- message: message || '',
1280
- ...(iconImageUrl && { iconImageUrl }),
1281
- ...(cta && { cta }),
1282
- ...(expandableDetails && { expandableDetails }),
1283
- },
1284
- messageSubject: channelTemplate?.name ? channelTemplate.name : 'messageSubject',
1285
- offers: [],
1286
- },
1287
- },
1288
- };
1289
- }
1290
- break;
1291
- }
1292
1125
  default:
1293
1126
  break;
1294
1127
  }
@@ -1340,7 +1173,6 @@ export class Creatives extends React.Component {
1340
1173
  case constants.SMS:
1341
1174
  case constants.WECHAT:
1342
1175
  case constants.VIBER:
1343
- case constants.WEBPUSH:
1344
1176
  break;
1345
1177
  case constants.EMAIL:
1346
1178
  gtmDetails = {
@@ -338,10 +338,6 @@ export default defineMessages({
338
338
  id: `${scope}.rcsCreative`,
339
339
  defaultMessage: `RCS creative`,
340
340
  },
341
- "webPushTemplate": {
342
- id: `${scope}.webPushTemplate`,
343
- defaultMessage: `Web Push Template`,
344
- },
345
341
  "templateNameEmpty": {
346
342
  id: `${scope}.templateNameEmpty`,
347
343
  defaultMessage: `Template name cannot be empty`
@@ -24,24 +24,6 @@ jest.mock('../../../v2Components/FormBuilder', () => ({
24
24
  ),
25
25
  }));
26
26
 
27
- jest.mock('../../WebPush/Create/preview/DevicePreviewContent', () => ({
28
- __esModule: true,
29
- default: (props) => (
30
- <div className="DevicePreviewContent-mock" {...props}>
31
- DevicePreviewContent
32
- </div>
33
- ),
34
- }));
35
-
36
- jest.mock('../../WebPush', () => ({
37
- __esModule: true,
38
- default: (props) => (
39
- <div className="WebPush-mock" {...props}>
40
- WebPush
41
- </div>
42
- ),
43
- }));
44
-
45
27
  describe('Test SlideBoxContent container', () => {
46
28
  const onCreateComplete = jest.fn();
47
29
  let renderedComponent;
@@ -718,196 +700,4 @@ describe('Test SlideBoxContent container', () => {
718
700
  expect(renderedComponent).toMatchSnapshot();
719
701
  });
720
702
  });
721
-
722
- describe('WebPush channel functionality', () => {
723
- it('Should render correct component for webpush channel create mode', () => {
724
- renderFunction('WEBPUSH', 'createTemplate', { mode: 'create' });
725
- expect(renderedComponent).toMatchSnapshot();
726
- });
727
-
728
- it('Should render correct component for webpush channel edit mode', () => {
729
- const webpushEditTemplateData = {
730
- type: 'WEBPUSH',
731
- _id: '123',
732
- versions: {
733
- base: {
734
- content: {
735
- webpush: {
736
- title: 'Test Title',
737
- message: 'Test Message',
738
- }
739
- }
740
- }
741
- }
742
- };
743
- renderFunction('WEBPUSH', 'editTemplate', webpushEditTemplateData);
744
- expect(renderedComponent).toMatchSnapshot();
745
- });
746
-
747
- it('Should render correct component for webpush channel preview mode with all fields', () => {
748
- const webpushPreviewTemplateData = {
749
- type: 'WEBPUSH',
750
- versions: {
751
- base: {
752
- content: {
753
- webpush: {
754
- title: 'Test Notification Title',
755
- message: 'Test notification body text',
756
- image: 'https://example.com/image.jpg',
757
- brandIcon: 'https://example.com/brand-icon.png',
758
- onClickAction: {
759
- url: 'https://example.com'
760
- }
761
- }
762
- }
763
- }
764
- }
765
- };
766
- renderFunction('WEBPUSH', 'preview', webpushPreviewTemplateData);
767
- expect(renderedComponent).toMatchSnapshot();
768
- });
769
-
770
- it('Should render correct component for webpush channel preview mode with minimal fields', () => {
771
- const webpushPreviewTemplateData = {
772
- type: 'WEBPUSH',
773
- versions: {
774
- base: {
775
- content: {
776
- webpush: {
777
- title: 'Test Title',
778
- message: 'Test Message'
779
- }
780
- }
781
- }
782
- }
783
- };
784
- renderFunction('WEBPUSH', 'preview', webpushPreviewTemplateData);
785
- expect(renderedComponent).toMatchSnapshot();
786
- });
787
-
788
- it('Should render correct component for webpush channel preview mode with empty fields', () => {
789
- const webpushPreviewTemplateData = {
790
- type: 'WEBPUSH',
791
- versions: {
792
- base: {
793
- content: {
794
- webpush: {}
795
- }
796
- }
797
- }
798
- };
799
- renderFunction('WEBPUSH', 'preview', webpushPreviewTemplateData);
800
- expect(renderedComponent).toMatchSnapshot();
801
- });
802
-
803
- it('Should render correct component for webpush channel preview mode with missing onClickAction url', () => {
804
- const webpushPreviewTemplateData = {
805
- type: 'WEBPUSH',
806
- versions: {
807
- base: {
808
- content: {
809
- webpush: {
810
- title: 'Test Title',
811
- message: 'Test Message',
812
- onClickAction: {}
813
- }
814
- }
815
- }
816
- }
817
- };
818
- renderFunction('WEBPUSH', 'preview', webpushPreviewTemplateData);
819
- expect(renderedComponent).toMatchSnapshot();
820
- });
821
-
822
- it('Should render correct component for webpush channel preview mode with null onClickAction', () => {
823
- const webpushPreviewTemplateData = {
824
- type: 'WEBPUSH',
825
- versions: {
826
- base: {
827
- content: {
828
- webpush: {
829
- title: 'Test Title',
830
- message: 'Test Message',
831
- onClickAction: null
832
- }
833
- }
834
- }
835
- }
836
- };
837
- renderFunction('WEBPUSH', 'preview', webpushPreviewTemplateData);
838
- expect(renderedComponent).toMatchSnapshot();
839
- });
840
-
841
- it('Should handle supportedTags prop in webpush create mode', () => {
842
- renderFunction('WEBPUSH', 'createTemplate', { mode: 'create' }, {
843
- supportedTags: ['tag1', 'tag2']
844
- });
845
- expect(renderedComponent).toMatchSnapshot();
846
- });
847
-
848
- it('Should handle supportedTags prop in webpush edit mode', () => {
849
- const webpushEditTemplateData = {
850
- type: 'WEBPUSH',
851
- _id: '123',
852
- versions: {
853
- base: {
854
- content: {
855
- webpush: {
856
- title: 'Test Title',
857
- message: 'Test Message',
858
- }
859
- }
860
- }
861
- }
862
- };
863
- renderFunction('WEBPUSH', 'editTemplate', webpushEditTemplateData, {
864
- supportedTags: ['tag1', 'tag2']
865
- });
866
- expect(renderedComponent).toMatchSnapshot();
867
- });
868
-
869
- it('Should handle webpush create mode with all props', () => {
870
- renderFunction('WEBPUSH', 'createTemplate', { mode: 'create' }, {
871
- isFullMode: true,
872
- handleClose: jest.fn(),
873
- onCreateComplete: jest.fn(),
874
- creativesMode: 'test',
875
- getDefaultTags: 'outbound',
876
- forwardedTags: {},
877
- supportedTags: ['tag1'],
878
- selectedOfferDetails: [],
879
- eventContextTags: {}
880
- });
881
- expect(renderedComponent).toMatchSnapshot();
882
- });
883
-
884
- it('Should handle webpush edit mode with all props', () => {
885
- const webpushEditTemplateData = {
886
- type: 'WEBPUSH',
887
- _id: '123',
888
- versions: {
889
- base: {
890
- content: {
891
- webpush: {
892
- title: 'Test Title',
893
- message: 'Test Message',
894
- }
895
- }
896
- }
897
- }
898
- };
899
- renderFunction('WEBPUSH', 'editTemplate', webpushEditTemplateData, {
900
- isFullMode: true,
901
- handleClose: jest.fn(),
902
- onCreateComplete: jest.fn(),
903
- creativesMode: 'test',
904
- getDefaultTags: 'outbound',
905
- forwardedTags: {},
906
- supportedTags: ['tag1'],
907
- selectedOfferDetails: [],
908
- eventContextTags: {}
909
- });
910
- expect(renderedComponent).toMatchSnapshot();
911
- });
912
- });
913
703
  });