@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.
Files changed (158) hide show
  1. package/constants/unified.js +0 -1
  2. package/package.json +1 -1
  3. package/services/api.js +0 -5
  4. package/utils/common.js +0 -6
  5. package/utils/tagValidations.js +1 -2
  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/_unifiedPreview.scss +2 -2
  13. package/v2Components/FormBuilder/index.js +8 -8
  14. package/v2Containers/App/constants.js +0 -5
  15. package/v2Containers/CreativesContainer/SlideBoxContent.js +2 -57
  16. package/v2Containers/CreativesContainer/SlideBoxHeader.js +0 -1
  17. package/v2Containers/CreativesContainer/constants.js +0 -3
  18. package/v2Containers/CreativesContainer/index.js +0 -168
  19. package/v2Containers/CreativesContainer/messages.js +0 -4
  20. package/v2Containers/CreativesContainer/tests/SlideBoxContent.test.js +0 -210
  21. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +0 -304
  22. package/v2Containers/Email/index.js +7 -3
  23. package/v2Containers/FTP/index.js +1 -1
  24. package/v2Containers/InApp/index.js +0 -1
  25. package/v2Containers/Line/Container/Text/index.js +0 -1
  26. package/v2Containers/MobilePushNew/index.js +0 -1
  27. package/v2Containers/Rcs/index.js +0 -3
  28. package/v2Containers/SmsTrai/Edit/index.js +0 -1
  29. package/v2Containers/Templates/ChannelTypeIllustration.js +1 -13
  30. package/v2Containers/Templates/_templates.scss +0 -205
  31. package/v2Containers/Templates/actions.js +1 -2
  32. package/v2Containers/Templates/constants.js +0 -1
  33. package/v2Containers/Templates/index.js +34 -274
  34. package/v2Containers/Templates/messages.js +0 -24
  35. package/v2Containers/Templates/reducer.js +0 -2
  36. package/v2Containers/Templates/tests/index.test.js +0 -10
  37. package/v2Containers/TemplatesV2/index.js +7 -15
  38. package/v2Containers/TemplatesV2/messages.js +0 -4
  39. package/v2Containers/Viber/index.js +0 -1
  40. package/v2Containers/Whatsapp/index.js +0 -1
  41. package/v2Containers/Zalo/index.js +0 -1
  42. package/v2Containers/Zalo/tests/index.test.js +5 -1
  43. package/utils/imageUrlUpload.js +0 -141
  44. package/v2Components/CapImageUrlUpload/constants.js +0 -26
  45. package/v2Components/CapImageUrlUpload/index.js +0 -365
  46. package/v2Components/CapImageUrlUpload/index.scss +0 -35
  47. package/v2Components/CapImageUrlUpload/messages.js +0 -47
  48. package/v2Containers/WebPush/Create/components/BrandIconSection.js +0 -108
  49. package/v2Containers/WebPush/Create/components/ButtonForm.js +0 -172
  50. package/v2Containers/WebPush/Create/components/ButtonItem.js +0 -101
  51. package/v2Containers/WebPush/Create/components/ButtonList.js +0 -145
  52. package/v2Containers/WebPush/Create/components/ButtonsLinksSection.js +0 -164
  53. package/v2Containers/WebPush/Create/components/ButtonsLinksSection.test.js +0 -463
  54. package/v2Containers/WebPush/Create/components/FormActions.js +0 -54
  55. package/v2Containers/WebPush/Create/components/FormActions.test.js +0 -163
  56. package/v2Containers/WebPush/Create/components/MediaSection.js +0 -142
  57. package/v2Containers/WebPush/Create/components/MediaSection.test.js +0 -341
  58. package/v2Containers/WebPush/Create/components/MessageSection.js +0 -103
  59. package/v2Containers/WebPush/Create/components/MessageSection.test.js +0 -268
  60. package/v2Containers/WebPush/Create/components/NotificationTitleSection.js +0 -87
  61. package/v2Containers/WebPush/Create/components/NotificationTitleSection.test.js +0 -210
  62. package/v2Containers/WebPush/Create/components/TemplateNameSection.js +0 -54
  63. package/v2Containers/WebPush/Create/components/TemplateNameSection.test.js +0 -143
  64. package/v2Containers/WebPush/Create/components/__snapshots__/ButtonsLinksSection.test.js.snap +0 -86
  65. package/v2Containers/WebPush/Create/components/__snapshots__/FormActions.test.js.snap +0 -16
  66. package/v2Containers/WebPush/Create/components/__snapshots__/MediaSection.test.js.snap +0 -41
  67. package/v2Containers/WebPush/Create/components/__snapshots__/MessageSection.test.js.snap +0 -54
  68. package/v2Containers/WebPush/Create/components/__snapshots__/NotificationTitleSection.test.js.snap +0 -37
  69. package/v2Containers/WebPush/Create/components/__snapshots__/TemplateNameSection.test.js.snap +0 -21
  70. package/v2Containers/WebPush/Create/components/_buttons.scss +0 -246
  71. package/v2Containers/WebPush/Create/components/tests/ButtonForm.test.js +0 -554
  72. package/v2Containers/WebPush/Create/components/tests/ButtonItem.test.js +0 -607
  73. package/v2Containers/WebPush/Create/components/tests/ButtonList.test.js +0 -633
  74. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonForm.test.js.snap +0 -666
  75. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonItem.test.js.snap +0 -74
  76. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonList.test.js.snap +0 -78
  77. package/v2Containers/WebPush/Create/hooks/useButtonManagement.js +0 -138
  78. package/v2Containers/WebPush/Create/hooks/useButtonManagement.test.js +0 -406
  79. package/v2Containers/WebPush/Create/hooks/useCharacterCount.js +0 -30
  80. package/v2Containers/WebPush/Create/hooks/useCharacterCount.test.js +0 -151
  81. package/v2Containers/WebPush/Create/hooks/useImageUpload.js +0 -104
  82. package/v2Containers/WebPush/Create/hooks/useImageUpload.test.js +0 -538
  83. package/v2Containers/WebPush/Create/hooks/useTagManagement.js +0 -122
  84. package/v2Containers/WebPush/Create/hooks/useTagManagement.test.js +0 -633
  85. package/v2Containers/WebPush/Create/index.js +0 -1148
  86. package/v2Containers/WebPush/Create/index.scss +0 -134
  87. package/v2Containers/WebPush/Create/messages.js +0 -211
  88. package/v2Containers/WebPush/Create/preview/DevicePreviewContent.js +0 -228
  89. package/v2Containers/WebPush/Create/preview/NotificationContainer.js +0 -294
  90. package/v2Containers/WebPush/Create/preview/PreviewContent.js +0 -90
  91. package/v2Containers/WebPush/Create/preview/PreviewControls.js +0 -305
  92. package/v2Containers/WebPush/Create/preview/PreviewDisclaimer.js +0 -25
  93. package/v2Containers/WebPush/Create/preview/WebPushPreview.js +0 -155
  94. package/v2Containers/WebPush/Create/preview/assets/Light.svg +0 -53
  95. package/v2Containers/WebPush/Create/preview/assets/Top.svg +0 -5
  96. package/v2Containers/WebPush/Create/preview/assets/android-arrow-down.svg +0 -9
  97. package/v2Containers/WebPush/Create/preview/assets/android-arrow-up.svg +0 -9
  98. package/v2Containers/WebPush/Create/preview/assets/chrome-icon.png +0 -0
  99. package/v2Containers/WebPush/Create/preview/assets/edge-icon.png +0 -0
  100. package/v2Containers/WebPush/Create/preview/assets/firefox-icon.svg +0 -106
  101. package/v2Containers/WebPush/Create/preview/assets/iOS.svg +0 -26
  102. package/v2Containers/WebPush/Create/preview/assets/macos-arrow-down-icon.svg +0 -9
  103. package/v2Containers/WebPush/Create/preview/assets/macos-triple-dot-icon.svg +0 -9
  104. package/v2Containers/WebPush/Create/preview/assets/opera-icon.svg +0 -18
  105. package/v2Containers/WebPush/Create/preview/assets/safari-icon.svg +0 -29
  106. package/v2Containers/WebPush/Create/preview/assets/windows-close-icon.svg +0 -9
  107. package/v2Containers/WebPush/Create/preview/assets/windows-triple-dot-icon.svg +0 -9
  108. package/v2Containers/WebPush/Create/preview/components/AndroidMobileChromeHeader.js +0 -51
  109. package/v2Containers/WebPush/Create/preview/components/AndroidMobileExpanded.js +0 -145
  110. package/v2Containers/WebPush/Create/preview/components/IOSHeader.js +0 -45
  111. package/v2Containers/WebPush/Create/preview/components/NotificationExpandedContent.js +0 -68
  112. package/v2Containers/WebPush/Create/preview/components/NotificationHeader.js +0 -61
  113. package/v2Containers/WebPush/Create/preview/components/WindowsChromeExpanded.js +0 -99
  114. package/v2Containers/WebPush/Create/preview/components/tests/AndroidMobileExpanded.test.js +0 -733
  115. package/v2Containers/WebPush/Create/preview/components/tests/WindowsChromeExpanded.test.js +0 -571
  116. package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/AndroidMobileExpanded.test.js.snap +0 -85
  117. package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/WindowsChromeExpanded.test.js.snap +0 -81
  118. package/v2Containers/WebPush/Create/preview/config/notificationMappings.js +0 -50
  119. package/v2Containers/WebPush/Create/preview/constants.js +0 -637
  120. package/v2Containers/WebPush/Create/preview/notification-container.scss +0 -79
  121. package/v2Containers/WebPush/Create/preview/preview.scss +0 -358
  122. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-chrome.scss +0 -370
  123. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-edge.scss +0 -12
  124. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-firefox.scss +0 -12
  125. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-opera.scss +0 -12
  126. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-chrome.scss +0 -47
  127. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-edge.scss +0 -11
  128. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-firefox.scss +0 -11
  129. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-opera.scss +0 -11
  130. package/v2Containers/WebPush/Create/preview/styles/_base.scss +0 -207
  131. package/v2Containers/WebPush/Create/preview/styles/_ios.scss +0 -153
  132. package/v2Containers/WebPush/Create/preview/styles/_ipados.scss +0 -107
  133. package/v2Containers/WebPush/Create/preview/styles/_macos-chrome.scss +0 -101
  134. package/v2Containers/WebPush/Create/preview/styles/_windows-chrome.scss +0 -229
  135. package/v2Containers/WebPush/Create/preview/tests/DevicePreviewContent.test.js +0 -909
  136. package/v2Containers/WebPush/Create/preview/tests/NotificationContainer.test.js +0 -1081
  137. package/v2Containers/WebPush/Create/preview/tests/PreviewControls.test.js +0 -723
  138. package/v2Containers/WebPush/Create/preview/tests/WebPushPreview.test.js +0 -1327
  139. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/DevicePreviewContent.test.js.snap +0 -131
  140. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/NotificationContainer.test.js.snap +0 -112
  141. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/PreviewControls.test.js.snap +0 -144
  142. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/WebPushPreview.test.js.snap +0 -129
  143. package/v2Containers/WebPush/Create/utils/payloadBuilder.js +0 -96
  144. package/v2Containers/WebPush/Create/utils/payloadBuilder.test.js +0 -396
  145. package/v2Containers/WebPush/Create/utils/previewUtils.js +0 -89
  146. package/v2Containers/WebPush/Create/utils/urlValidation.js +0 -115
  147. package/v2Containers/WebPush/Create/utils/urlValidation.test.js +0 -449
  148. package/v2Containers/WebPush/Create/utils/validation.js +0 -76
  149. package/v2Containers/WebPush/Create/utils/validation.test.js +0 -283
  150. package/v2Containers/WebPush/actions.js +0 -60
  151. package/v2Containers/WebPush/constants.js +0 -132
  152. package/v2Containers/WebPush/index.js +0 -2
  153. package/v2Containers/WebPush/reducer.js +0 -104
  154. package/v2Containers/WebPush/sagas.js +0 -119
  155. package/v2Containers/WebPush/selectors.js +0 -65
  156. package/v2Containers/WebPush/tests/reducer.test.js +0 -863
  157. package/v2Containers/WebPush/tests/sagas.test.js +0 -566
  158. package/v2Containers/WebPush/tests/selectors.test.js +0 -960
@@ -34,10 +34,6 @@ export default defineMessages({
34
34
  id: `${scope}.imageDimenstionDescription`,
35
35
  defaultMessage: 'Dimensions upto: {width}px x {height}px',
36
36
  },
37
- recommendedDimensions: {
38
- id: `${scope}.recommendedDimensions`,
39
- defaultMessage: 'Recommended dimensions: {dimensions}',
40
- },
41
37
  format: {
42
38
  id: `${scope}.format`,
43
39
  defaultMessage: 'Format: JPEG, JPG, PNG',
@@ -61,7 +57,7 @@ export default defineMessages({
61
57
  },
62
58
  channelImageSize: {
63
59
  id: `${scope}.channelImageSize`,
64
- defaultMessage: 'Size up to: {size}MB',
60
+ defaultMessage: 'Size upto: {size}MB',
65
61
  },
66
62
  RcschannelImageSize: {
67
63
  id: `${scope}.RcschannelImageSize`,
@@ -913,7 +913,7 @@
913
913
  // Colors adjusted to white for preview context (inside .message-pop with blue background)
914
914
  .whatsapp-template-header-preview {
915
915
  // From WhatsApp/index.scss: color: $CAP_G01, but use white for preview
916
- color: $CAP_G01;
916
+ color: $CAP_WHITE;
917
917
  // From WhatsApp/index.scss: font-weight: $FONT_WEIGHT_MEDIUM
918
918
  font-weight: $FONT_WEIGHT_MEDIUM;
919
919
  // From WhatsApp/index.scss: font-size: $FONT_SIZE_VS
@@ -927,7 +927,7 @@
927
927
 
928
928
  .whatsapp-template-footer-preview {
929
929
  // From WhatsApp/index.scss: color: $CAP_G04, but use white for preview
930
- color: $CAP_G01;
930
+ color: $CAP_WHITE;
931
931
  // From WhatsApp/index.scss: font-weight: $FONT_WEIGHT_REGULAR
932
932
  font-weight: $FONT_WEIGHT_REGULAR;
933
933
  // From WhatsApp/index.scss: font-size: 0.5rem
@@ -726,7 +726,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
726
726
 
727
727
  let tagValidationResponse = false;
728
728
  if (content) {
729
- tagValidationResponse = this.validateTags(content, tags, injectedTags, false, this.props?.isFullMode);
729
+ tagValidationResponse = this.validateTags(content, tags, injectedTags);
730
730
  }
731
731
 
732
732
  if (tagValidationResponse.valid) {
@@ -764,7 +764,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
764
764
  if (this.state.formData['message-editor'] !== undefined ) {
765
765
  const content = this.state.formData['0']['message-editor'] || '';
766
766
 
767
- const tagValidationResponse = this.validateTags((content), tags, injectedTags, false, this.props?.isFullMode);
767
+ const tagValidationResponse = this.validateTags((content), tags, injectedTags);
768
768
 
769
769
  if (tagValidationResponse.valid) {
770
770
  errorData = {
@@ -847,7 +847,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
847
847
  errorData[index] = true;
848
848
  isValid = false;
849
849
  } else {
850
- const tagValidationResponse = this.validateTags(content, tags, injectedTags, false, this.props?.isFullMode);
850
+ const tagValidationResponse = this.validateTags(content, tags, injectedTags);
851
851
 
852
852
  if (tagValidationResponse.valid) {
853
853
  errorData[index] = false;
@@ -910,7 +910,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
910
910
  isCurrentTabValid = false;
911
911
  } else {
912
912
  errorData[parseInt(index)][`message-editor${selector}`] = false;
913
- const tagValidationResponse = this.validateTags(message, tags, injectedTags, false, this.props?.isFullMode);
913
+ const tagValidationResponse = this.validateTags(message, tags, injectedTags);
914
914
 
915
915
  if (tagValidationResponse.valid) {
916
916
  errorData[parseInt(index)][`message-editor${selector}`] = false;
@@ -939,7 +939,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
939
939
  isCurrentTabValid = false;
940
940
  } else {
941
941
  errorData[parseInt(index)][`message-title${selector}`] = false;
942
- const tagValidationResponse = this.validateTags(title, tags, injectedTags, false, this.props?.isFullMode);
942
+ const tagValidationResponse = this.validateTags(title, tags, injectedTags);
943
943
 
944
944
  if (tagValidationResponse.valid) {
945
945
  errorData[parseInt(index)][`message-title${selector}`] = false;
@@ -1193,7 +1193,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
1193
1193
  if (!content) {
1194
1194
  return false;
1195
1195
  }
1196
- const tagValidationResponse = this.validateTags(content, tags, injectedTags, isEmail, this.props?.isFullMode);
1196
+ const tagValidationResponse = this.validateTags(content, tags, injectedTags, isEmail);
1197
1197
 
1198
1198
  // Check for base64 images in email content
1199
1199
  isEmail && containsBase64Images({content, callback:()=>{
@@ -1500,7 +1500,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
1500
1500
  });
1501
1501
  }
1502
1502
 
1503
- validateTags(content, tagsParam, injectedTagsParams, isEmail = false, isFullMode = this.props?.isFullMode) {
1503
+ validateTags(content, tagsParam, injectedTagsParams, isEmail = false) {
1504
1504
  const type = (this.props.location && this.props.location.query.type) ? this.props.location.query.type : 'full';
1505
1505
  let currentModule = this.props.location.query.module ? this.props.location.query.module : 'default';
1506
1506
  if (this.props.tagModule) {
@@ -1518,7 +1518,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
1518
1518
  response.isBraceError = false;
1519
1519
  response.isContentEmpty = false;
1520
1520
  const contentForValidation = isEmail ? convert(content, GLOBAL_CONVERT_OPTIONS) : content ;
1521
- if(tags && tags.length && !isFullMode) {
1521
+ if(tags && tags.length) {
1522
1522
  _.forEach(tags, (tag) => {
1523
1523
  _.forEach(tag.definition.supportedModules, (module) => {
1524
1524
  if (module.mandatory && (currentModule === module.context)) {
@@ -40,7 +40,6 @@ export const TRACK_CREATE_IMAGE = 'createImage';
40
40
  export const TRACK_CREATE_LINE = 'createLine';
41
41
  export const TRACK_CREATE_VIBER = 'createViber';
42
42
  export const TRACK_CREATE_FACEBOOK = 'createFacebook';
43
- export const TRACK_CREATE_WEBPUSH = 'createWebPush';
44
43
 
45
44
  export const CREATE = 'create';
46
45
  export const EDIT = 'edit';
@@ -55,7 +54,6 @@ export const EMAIL = 'email';
55
54
  export const ASSETS = 'assets';
56
55
  export const ZALO = 'zalo';
57
56
  export const INAPP = 'inapp';
58
- export const WEBPUSH = 'webpush';
59
57
 
60
58
  export const JP_LOCALE_HIDE_FEATURE = 'JP_LOCALE_HIDE_FEATURE';
61
59
 
@@ -67,7 +65,6 @@ export const TRACK_EDIT_IMAGE = 'editImage';
67
65
  export const TRACK_EDIT_LINE = 'editLine';
68
66
  export const TRACK_EDIT_VIBER = 'editViber';
69
67
  export const TRACK_EDIT_FACEBOOK = 'editFacebook';
70
- export const TRACK_EDIT_WEBPUSH = 'editWebPush';
71
68
 
72
69
  export const CHANNEL_CREATE_TRACK_MAPPING = {
73
70
  sms: TRACK_CREATE_SMS,
@@ -78,7 +75,6 @@ export const CHANNEL_CREATE_TRACK_MAPPING = {
78
75
  line: TRACK_CREATE_LINE,
79
76
  viber: TRACK_CREATE_VIBER,
80
77
  facebook: TRACK_CREATE_FACEBOOK,
81
- webpush: TRACK_CREATE_WEBPUSH,
82
78
  };
83
79
 
84
80
  export const CHANNEL_EDIT_TRACK_MAPPING = {
@@ -90,7 +86,6 @@ export const CHANNEL_EDIT_TRACK_MAPPING = {
90
86
  line: TRACK_EDIT_LINE,
91
87
  viber: TRACK_EDIT_VIBER,
92
88
  facebook: TRACK_EDIT_FACEBOOK,
93
- webpush: TRACK_EDIT_WEBPUSH,
94
89
  };
95
90
  export const GTM_TRACKING_ID = 'UA-110024621-2';
96
91
  export const BEE_PLUGIN = 'BEE_PLUGIN';
@@ -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,
@@ -133,7 +129,6 @@ export function SlideBoxContent(props) {
133
129
  onValidationFail,
134
130
  channelsToHide,
135
131
  forwardedTags,
136
- supportedTags = [],
137
132
  selectedOfferDetails,
138
133
  channelsToDisable,
139
134
  weChatTemplateType,
@@ -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`