@capillarytech/creatives-library 8.0.242-alpha.10 → 8.0.242-alpha.11

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 (256) hide show
  1. package/assets/Android.png +0 -0
  2. package/assets/iOS.png +0 -0
  3. package/config/app.js +1 -1
  4. package/constants/unified.js +2 -2
  5. package/initialReducer.js +0 -2
  6. package/package.json +1 -1
  7. package/services/api.js +5 -10
  8. package/services/tests/api.test.js +0 -18
  9. package/translations/en.json +4 -3
  10. package/utils/common.js +6 -5
  11. package/utils/commonUtils.js +1 -14
  12. package/utils/imageUrlUpload.js +141 -0
  13. package/utils/tests/commonUtil.test.js +0 -224
  14. package/utils/transformTemplateConfig.js +10 -0
  15. package/v2Components/CapDeviceContent/index.js +56 -61
  16. package/v2Components/CapImageUpload/constants.js +2 -0
  17. package/v2Components/CapImageUpload/index.js +65 -16
  18. package/v2Components/CapImageUpload/index.scss +4 -1
  19. package/v2Components/CapImageUpload/messages.js +5 -1
  20. package/v2Components/CapImageUrlUpload/constants.js +26 -0
  21. package/v2Components/CapImageUrlUpload/index.js +365 -0
  22. package/v2Components/CapImageUrlUpload/index.scss +35 -0
  23. package/v2Components/CapImageUrlUpload/messages.js +47 -0
  24. package/v2Components/CapTagList/index.js +1 -6
  25. package/v2Components/CapTagListWithInput/index.js +1 -5
  26. package/v2Components/CapTagListWithInput/messages.js +1 -1
  27. package/v2Components/CapWhatsappCTA/tests/index.test.js +0 -5
  28. package/v2Components/ErrorInfoNote/index.js +72 -412
  29. package/v2Components/ErrorInfoNote/messages.js +0 -22
  30. package/v2Components/ErrorInfoNote/style.scss +2 -279
  31. package/v2Components/HtmlEditor/HTMLEditor.js +91 -220
  32. package/v2Components/HtmlEditor/__tests__/HTMLEditor.test.js +133 -1132
  33. package/v2Components/HtmlEditor/__tests__/index.lazy.test.js +12 -17
  34. package/v2Components/HtmlEditor/_htmlEditor.scss +45 -107
  35. package/v2Components/HtmlEditor/_index.lazy.scss +1 -1
  36. package/v2Components/HtmlEditor/components/CodeEditorPane/_codeEditorPane.scss +101 -13
  37. package/v2Components/HtmlEditor/components/CodeEditorPane/index.js +139 -148
  38. package/v2Components/HtmlEditor/components/DeviceToggle/_deviceToggle.scss +1 -2
  39. package/v2Components/HtmlEditor/components/DeviceToggle/index.js +3 -3
  40. package/v2Components/HtmlEditor/components/EditorToolbar/_editorToolbar.scss +0 -9
  41. package/v2Components/HtmlEditor/components/EditorToolbar/index.js +1 -1
  42. package/v2Components/HtmlEditor/components/FullscreenModal/_fullscreenModal.scss +0 -22
  43. package/v2Components/HtmlEditor/components/InAppPreviewPane/DeviceFrame.js +7 -4
  44. package/v2Components/HtmlEditor/components/InAppPreviewPane/__tests__/DeviceFrame.test.js +45 -35
  45. package/v2Components/HtmlEditor/components/InAppPreviewPane/_inAppPreviewPane.scss +3 -1
  46. package/v2Components/HtmlEditor/components/InAppPreviewPane/constants.js +33 -33
  47. package/v2Components/HtmlEditor/components/InAppPreviewPane/index.js +6 -7
  48. package/v2Components/HtmlEditor/components/PreviewPane/_previewPane.scss +6 -3
  49. package/v2Components/HtmlEditor/components/PreviewPane/index.js +11 -10
  50. package/v2Components/HtmlEditor/components/SplitContainer/_splitContainer.scss +1 -1
  51. package/v2Components/HtmlEditor/components/ValidationErrorDisplay/__tests__/index.test.js +72 -70
  52. package/v2Components/HtmlEditor/components/ValidationErrorDisplay/index.js +31 -49
  53. package/v2Components/HtmlEditor/constants.js +20 -29
  54. package/v2Components/HtmlEditor/hooks/__tests__/useInAppContent.test.js +16 -373
  55. package/v2Components/HtmlEditor/hooks/useEditorContent.js +2 -5
  56. package/v2Components/HtmlEditor/hooks/useInAppContent.js +146 -88
  57. package/v2Components/HtmlEditor/index.js +1 -1
  58. package/v2Components/HtmlEditor/messages.js +85 -95
  59. package/v2Components/HtmlEditor/utils/liquidTemplateSupport.js +101 -99
  60. package/v2Components/HtmlEditor/utils/properSyntaxHighlighting.js +25 -23
  61. package/v2Components/HtmlEditor/utils/validationAdapter.js +41 -34
  62. package/v2Components/MobilePushPreviewV2/index.js +7 -32
  63. package/v2Components/TemplatePreview/_templatePreview.scss +24 -44
  64. package/v2Components/TemplatePreview/index.js +32 -47
  65. package/v2Components/TemplatePreview/messages.js +0 -4
  66. package/v2Components/TestAndPreviewSlidebox/index.js +25 -31
  67. package/v2Containers/App/constants.js +5 -0
  68. package/v2Containers/BeeEditor/index.js +80 -82
  69. package/v2Containers/Cap/tests/__snapshots__/index.test.js.snap +4 -3
  70. package/v2Containers/CreativesContainer/SlideBoxContent.js +118 -148
  71. package/v2Containers/CreativesContainer/SlideBoxFooter.js +3 -9
  72. package/v2Containers/CreativesContainer/SlideBoxHeader.js +2 -2
  73. package/v2Containers/CreativesContainer/constants.js +2 -1
  74. package/v2Containers/CreativesContainer/index.js +41 -173
  75. package/v2Containers/CreativesContainer/messages.js +4 -4
  76. package/v2Containers/CreativesContainer/tests/SlideBoxContent.test.js +210 -0
  77. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +354 -38
  78. package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +0 -36
  79. package/v2Containers/Email/actions.js +0 -7
  80. package/v2Containers/Email/constants.js +1 -5
  81. package/v2Containers/Email/index.js +0 -13
  82. package/v2Containers/Email/messages.js +0 -32
  83. package/v2Containers/Email/reducer.js +1 -12
  84. package/v2Containers/Email/sagas.js +6 -41
  85. package/v2Containers/Email/tests/__snapshots__/reducer.test.js.snap +0 -2
  86. package/v2Containers/EmailWrapper/components/EmailWrapperView.js +7 -193
  87. package/v2Containers/EmailWrapper/components/HTMLEditorTesting.js +74 -40
  88. package/v2Containers/EmailWrapper/components/__tests__/HTMLEditorTesting.test.js +67 -2
  89. package/v2Containers/EmailWrapper/constants.js +0 -2
  90. package/v2Containers/EmailWrapper/hooks/useEmailWrapper.js +67 -436
  91. package/v2Containers/EmailWrapper/index.js +23 -99
  92. package/v2Containers/EmailWrapper/messages.js +1 -61
  93. package/v2Containers/EmailWrapper/tests/EmailWrapperView.test.js +214 -0
  94. package/v2Containers/EmailWrapper/tests/useEmailWrapper.test.js +77 -111
  95. package/v2Containers/InApp/actions.js +0 -7
  96. package/v2Containers/InApp/constants.js +4 -20
  97. package/v2Containers/InApp/index.js +357 -801
  98. package/v2Containers/InApp/index.scss +3 -4
  99. package/v2Containers/InApp/messages.js +3 -7
  100. package/v2Containers/InApp/reducer.js +3 -21
  101. package/v2Containers/InApp/sagas.js +9 -29
  102. package/v2Containers/InApp/selectors.js +5 -25
  103. package/v2Containers/InApp/tests/index.test.js +50 -154
  104. package/v2Containers/InApp/tests/reducer.test.js +0 -34
  105. package/v2Containers/InApp/tests/sagas.test.js +9 -61
  106. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/content.test.js.snap +12 -12
  107. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/index.test.js.snap +8 -8
  108. package/v2Containers/Line/Container/Wrapper/tests/__snapshots__/index.test.js.snap +100 -77
  109. package/v2Containers/Line/Container/tests/__snapshots__/index.test.js.snap +72 -63
  110. package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +184 -150
  111. package/v2Containers/SmsTrai/Create/tests/__snapshots__/index.test.js.snap +16 -12
  112. package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +32 -28
  113. package/v2Containers/TagList/index.js +1 -67
  114. package/v2Containers/Templates/ChannelTypeIllustration.js +13 -1
  115. package/v2Containers/Templates/_templates.scss +202 -56
  116. package/v2Containers/Templates/actions.js +2 -1
  117. package/v2Containers/Templates/constants.js +1 -0
  118. package/v2Containers/Templates/index.js +278 -128
  119. package/v2Containers/Templates/messages.js +24 -4
  120. package/v2Containers/Templates/reducer.js +2 -0
  121. package/v2Containers/Templates/tests/index.test.js +10 -0
  122. package/v2Containers/TemplatesV2/index.js +8 -1
  123. package/v2Containers/TemplatesV2/messages.js +4 -0
  124. package/v2Containers/WebPush/Create/components/BrandIconSection.js +108 -0
  125. package/v2Containers/WebPush/Create/components/ButtonForm.js +172 -0
  126. package/v2Containers/WebPush/Create/components/ButtonItem.js +101 -0
  127. package/v2Containers/WebPush/Create/components/ButtonList.js +145 -0
  128. package/v2Containers/WebPush/Create/components/ButtonsLinksSection.js +164 -0
  129. package/v2Containers/WebPush/Create/components/ButtonsLinksSection.test.js +463 -0
  130. package/v2Containers/WebPush/Create/components/FormActions.js +54 -0
  131. package/v2Containers/WebPush/Create/components/FormActions.test.js +163 -0
  132. package/v2Containers/WebPush/Create/components/MediaSection.js +142 -0
  133. package/v2Containers/WebPush/Create/components/MediaSection.test.js +341 -0
  134. package/v2Containers/WebPush/Create/components/MessageSection.js +103 -0
  135. package/v2Containers/WebPush/Create/components/MessageSection.test.js +268 -0
  136. package/v2Containers/WebPush/Create/components/NotificationTitleSection.js +87 -0
  137. package/v2Containers/WebPush/Create/components/NotificationTitleSection.test.js +210 -0
  138. package/v2Containers/WebPush/Create/components/TemplateNameSection.js +54 -0
  139. package/v2Containers/WebPush/Create/components/TemplateNameSection.test.js +143 -0
  140. package/v2Containers/WebPush/Create/components/__snapshots__/ButtonsLinksSection.test.js.snap +86 -0
  141. package/v2Containers/WebPush/Create/components/__snapshots__/FormActions.test.js.snap +16 -0
  142. package/v2Containers/WebPush/Create/components/__snapshots__/MediaSection.test.js.snap +41 -0
  143. package/v2Containers/WebPush/Create/components/__snapshots__/MessageSection.test.js.snap +54 -0
  144. package/v2Containers/WebPush/Create/components/__snapshots__/NotificationTitleSection.test.js.snap +37 -0
  145. package/v2Containers/WebPush/Create/components/__snapshots__/TemplateNameSection.test.js.snap +21 -0
  146. package/v2Containers/WebPush/Create/components/_buttons.scss +246 -0
  147. package/v2Containers/WebPush/Create/components/tests/ButtonForm.test.js +554 -0
  148. package/v2Containers/WebPush/Create/components/tests/ButtonItem.test.js +607 -0
  149. package/v2Containers/WebPush/Create/components/tests/ButtonList.test.js +633 -0
  150. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonForm.test.js.snap +666 -0
  151. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonItem.test.js.snap +74 -0
  152. package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonList.test.js.snap +78 -0
  153. package/v2Containers/WebPush/Create/hooks/useButtonManagement.js +138 -0
  154. package/v2Containers/WebPush/Create/hooks/useButtonManagement.test.js +406 -0
  155. package/v2Containers/WebPush/Create/hooks/useCharacterCount.js +30 -0
  156. package/v2Containers/WebPush/Create/hooks/useCharacterCount.test.js +151 -0
  157. package/v2Containers/WebPush/Create/hooks/useImageUpload.js +104 -0
  158. package/v2Containers/WebPush/Create/hooks/useImageUpload.test.js +538 -0
  159. package/v2Containers/WebPush/Create/hooks/useTagManagement.js +122 -0
  160. package/v2Containers/WebPush/Create/hooks/useTagManagement.test.js +633 -0
  161. package/v2Containers/WebPush/Create/index.js +1056 -0
  162. package/v2Containers/WebPush/Create/index.scss +134 -0
  163. package/v2Containers/WebPush/Create/messages.js +203 -0
  164. package/v2Containers/WebPush/Create/preview/DevicePreviewContent.js +228 -0
  165. package/v2Containers/WebPush/Create/preview/NotificationContainer.js +294 -0
  166. package/v2Containers/WebPush/Create/preview/PreviewContent.js +90 -0
  167. package/v2Containers/WebPush/Create/preview/PreviewControls.js +305 -0
  168. package/v2Containers/WebPush/Create/preview/PreviewDisclaimer.js +23 -0
  169. package/v2Containers/WebPush/Create/preview/WebPushPreview.js +150 -0
  170. package/v2Containers/WebPush/Create/preview/assets/Light.svg +53 -0
  171. package/v2Containers/WebPush/Create/preview/assets/Top.svg +5 -0
  172. package/v2Containers/WebPush/Create/preview/assets/android-arrow-down.svg +9 -0
  173. package/v2Containers/WebPush/Create/preview/assets/android-arrow-up.svg +9 -0
  174. package/v2Containers/WebPush/Create/preview/assets/chrome-icon.png +0 -0
  175. package/v2Containers/WebPush/Create/preview/assets/edge-icon.png +0 -0
  176. package/v2Containers/WebPush/Create/preview/assets/firefox-icon.svg +106 -0
  177. package/v2Containers/WebPush/Create/preview/assets/iOS.svg +26 -0
  178. package/v2Containers/WebPush/Create/preview/assets/macos-arrow-down-icon.svg +9 -0
  179. package/v2Containers/WebPush/Create/preview/assets/macos-triple-dot-icon.svg +9 -0
  180. package/v2Containers/WebPush/Create/preview/assets/opera-icon.svg +18 -0
  181. package/v2Containers/WebPush/Create/preview/assets/safari-icon.svg +29 -0
  182. package/v2Containers/WebPush/Create/preview/assets/windows-close-icon.svg +9 -0
  183. package/v2Containers/WebPush/Create/preview/assets/windows-triple-dot-icon.svg +9 -0
  184. package/v2Containers/WebPush/Create/preview/components/AndroidMobileChromeHeader.js +47 -0
  185. package/v2Containers/WebPush/Create/preview/components/AndroidMobileExpanded.js +141 -0
  186. package/v2Containers/WebPush/Create/preview/components/IOSHeader.js +45 -0
  187. package/v2Containers/WebPush/Create/preview/components/NotificationExpandedContent.js +68 -0
  188. package/v2Containers/WebPush/Create/preview/components/NotificationHeader.js +61 -0
  189. package/v2Containers/WebPush/Create/preview/components/WindowsChromeExpanded.js +99 -0
  190. package/v2Containers/WebPush/Create/preview/components/tests/AndroidMobileExpanded.test.js +733 -0
  191. package/v2Containers/WebPush/Create/preview/components/tests/WindowsChromeExpanded.test.js +571 -0
  192. package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/AndroidMobileExpanded.test.js.snap +81 -0
  193. package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/WindowsChromeExpanded.test.js.snap +81 -0
  194. package/v2Containers/WebPush/Create/preview/config/notificationMappings.js +50 -0
  195. package/v2Containers/WebPush/Create/preview/constants.js +637 -0
  196. package/v2Containers/WebPush/Create/preview/notification-container.scss +79 -0
  197. package/v2Containers/WebPush/Create/preview/preview.scss +351 -0
  198. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-chrome.scss +370 -0
  199. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-edge.scss +12 -0
  200. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-firefox.scss +12 -0
  201. package/v2Containers/WebPush/Create/preview/styles/_android-mobile-opera.scss +12 -0
  202. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-chrome.scss +47 -0
  203. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-edge.scss +11 -0
  204. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-firefox.scss +11 -0
  205. package/v2Containers/WebPush/Create/preview/styles/_android-tablet-opera.scss +11 -0
  206. package/v2Containers/WebPush/Create/preview/styles/_base.scss +207 -0
  207. package/v2Containers/WebPush/Create/preview/styles/_ios.scss +153 -0
  208. package/v2Containers/WebPush/Create/preview/styles/_ipados.scss +107 -0
  209. package/v2Containers/WebPush/Create/preview/styles/_macos-chrome.scss +101 -0
  210. package/v2Containers/WebPush/Create/preview/styles/_windows-chrome.scss +229 -0
  211. package/v2Containers/WebPush/Create/preview/tests/DevicePreviewContent.test.js +909 -0
  212. package/v2Containers/WebPush/Create/preview/tests/NotificationContainer.test.js +1081 -0
  213. package/v2Containers/WebPush/Create/preview/tests/PreviewControls.test.js +723 -0
  214. package/v2Containers/WebPush/Create/preview/tests/WebPushPreview.test.js +943 -0
  215. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/DevicePreviewContent.test.js.snap +131 -0
  216. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/NotificationContainer.test.js.snap +112 -0
  217. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/PreviewControls.test.js.snap +144 -0
  218. package/v2Containers/WebPush/Create/preview/tests/__snapshots__/WebPushPreview.test.js.snap +129 -0
  219. package/v2Containers/WebPush/Create/utils/payloadBuilder.js +94 -0
  220. package/v2Containers/WebPush/Create/utils/payloadBuilder.test.js +390 -0
  221. package/v2Containers/WebPush/Create/utils/previewUtils.js +89 -0
  222. package/v2Containers/WebPush/Create/utils/urlValidation.js +115 -0
  223. package/v2Containers/WebPush/Create/utils/urlValidation.test.js +449 -0
  224. package/v2Containers/WebPush/Create/utils/validation.js +75 -0
  225. package/v2Containers/WebPush/Create/utils/validation.test.js +283 -0
  226. package/v2Containers/WebPush/actions.js +60 -0
  227. package/v2Containers/WebPush/constants.js +128 -0
  228. package/v2Containers/WebPush/index.js +2 -0
  229. package/v2Containers/WebPush/reducer.js +104 -0
  230. package/v2Containers/WebPush/sagas.js +119 -0
  231. package/v2Containers/WebPush/selectors.js +65 -0
  232. package/v2Containers/WebPush/tests/reducer.test.js +863 -0
  233. package/v2Containers/WebPush/tests/sagas.test.js +566 -0
  234. package/v2Containers/WebPush/tests/selectors.test.js +843 -0
  235. package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +528 -431
  236. package/v2Components/HtmlEditor/components/ValidationTabs/_validationTabs.scss +0 -254
  237. package/v2Components/HtmlEditor/components/ValidationTabs/index.js +0 -362
  238. package/v2Components/HtmlEditor/components/ValidationTabs/messages.js +0 -51
  239. package/v2Containers/BeePopupEditor/constants.js +0 -10
  240. package/v2Containers/BeePopupEditor/index.js +0 -193
  241. package/v2Containers/BeePopupEditor/tests/index.test.js +0 -627
  242. package/v2Containers/EmailWrapper/components/EmailHTMLEditor.js +0 -1046
  243. package/v2Containers/InApp/__tests__/InAppHTMLEditor.test.js +0 -376
  244. package/v2Containers/InApp/__tests__/sagas.test.js +0 -363
  245. package/v2Containers/InApp/tests/selectors.test.js +0 -612
  246. package/v2Containers/InAppWrapper/components/InAppWrapperView.js +0 -162
  247. package/v2Containers/InAppWrapper/components/__tests__/InAppWrapperView.test.js +0 -267
  248. package/v2Containers/InAppWrapper/components/inAppWrapperView.scss +0 -9
  249. package/v2Containers/InAppWrapper/constants.js +0 -16
  250. package/v2Containers/InAppWrapper/hooks/__tests__/useInAppWrapper.test.js +0 -473
  251. package/v2Containers/InAppWrapper/hooks/useInAppWrapper.js +0 -198
  252. package/v2Containers/InAppWrapper/index.js +0 -148
  253. package/v2Containers/InAppWrapper/messages.js +0 -49
  254. package/v2Containers/InappAdvance/index.js +0 -1099
  255. package/v2Containers/InappAdvance/index.scss +0 -10
  256. package/v2Containers/InappAdvance/tests/index.test.js +0 -448
@@ -3,14 +3,16 @@
3
3
  * Beeeditor
4
4
  *
5
5
  */
6
- import React, {
7
- useEffect, useState, useRef, useCallback,
8
- } from 'react';
6
+ import React, { useEffect, useState, useRef, useCallback } from 'react';
9
7
  import PropTypes from 'prop-types';
10
8
  import { injectIntl, intlShape, FormattedMessage } from 'react-intl';
11
9
  import { connect } from 'react-redux';
12
- import { bindActionCreators, compose } from 'redux';
10
+ import TagList from '../TagList';
11
+ import { bindActionCreators } from 'redux';
13
12
  import { createStructuredSelector } from 'reselect';
13
+ import makeSelectBEE from './selectors';
14
+ import { UserIsAuthenticated } from '../../utils/authWrapper';
15
+ import config from '../../config/app';
14
16
  import { loadItem } from 'services/localStorageApi';
15
17
  import './index.scss';
16
18
  import CapModal from "@capillarytech/cap-ui-library/CapModal";
@@ -19,18 +21,18 @@ import CapInput from "@capillarytech/cap-ui-library/CapInput";
19
21
  import CapSelect from "@capillarytech/cap-ui-library/CapSelect";
20
22
  import CapSpin from "@capillarytech/cap-ui-library/CapSpin";
21
23
  import CapNotification from "@capillarytech/cap-ui-library/CapNotification";
22
- import config from '../../config/app';
23
- import makeSelectBEE from './selectors';
24
+ import CapAskAira from '@capillarytech/cap-ui-library/CapAskAira';
25
+ import { request,getAPICallObject } from '../../services/api';
24
26
  import messages from './messages';
25
27
  import * as beeActions from './actions';
28
+ import injectSaga from '../../utils/injectSaga';
26
29
  import injectReducer from '../../utils/injectReducer';
27
30
  import { v2BeeEditionSagas } from './sagas';
28
31
  import v2BeeEditionReducer from './reducer';
29
-
30
- import TagList from '../TagList';
31
- import injectSaga from '../../utils/injectSaga';
32
+ import { compose } from 'redux';
32
33
 
33
34
  import { selectCurrentOrgDetails } from '../Cap/selectors';
35
+ import { ENABLE_AI_SUGGESTIONS } from './constants';
34
36
  function BeeEditor(props) {
35
37
  const {
36
38
  uid,
@@ -59,10 +61,10 @@ function BeeEditor(props) {
59
61
  const UNSUBSCRIBE = 'unsubscribe';
60
62
  let beePluginInstance = null;
61
63
  const categoryOptions = [{key: 'cta', value: 'cta', label: formatMessage(messages.cta)},
62
- {key: 'footer', value: 'footer', label: formatMessage(messages.footer)},
63
- {key: 'header', value: 'header', label: formatMessage(messages.header)},
64
- {key: 'sp', value: 'sp', label: formatMessage(messages.socialPlatform)},
65
- {key: 'others', value: 'others', label: formatMessage(messages.others)},
64
+ {key: 'footer', value: 'footer', label: formatMessage(messages.footer)},
65
+ {key: 'header', value: 'header', label: formatMessage(messages.header)},
66
+ {key: 'sp', value: 'sp', label: formatMessage(messages.socialPlatform)},
67
+ {key: 'others', value: 'others', label: formatMessage(messages.others)},
66
68
  ];
67
69
  const [visibleTaglist, setVisibleTaglist] = useState(false);
68
70
  const [showRowMetaModal, setRowMetaModal] = useState(false);
@@ -92,8 +94,8 @@ function BeeEditor(props) {
92
94
  locale = JSON.parse(user).lang;
93
95
  }
94
96
  const defaultFormattedUrl = locale !== DEFAULT_LOCALE && ['zh-cn', 'zh', 'jp', 'ja-JP'].includes(locale)
95
- ? `${API_ENDPOINT}/common/getBEECustomLangunage?langid=${MAPPED_LOCALE[locale]}`
96
- : "";
97
+ ? `${API_ENDPOINT}/common/getBEECustomLangunage?langid=${MAPPED_LOCALE[locale]}`
98
+ : "";
97
99
  useEffect(() => {
98
100
  savedCallback.current = Object.keys(selectedTag).length > 0 ? selectedTag : rowMetaInfo;
99
101
  }, [selectedTag, rowMetaInfo]);
@@ -244,74 +246,70 @@ function BeeEditor(props) {
244
246
  const onChangeCategoy = (e) => {
245
247
  setRowCategory(e);
246
248
  };
247
- const contentSection = (
248
- <>
249
- <CapInput
250
- label={<FormattedMessage {...messages.rowName} />}
251
- placeholder={formatMessage(messages.rowPlaceHolder)}
252
- onChange={onRowChange}
253
- value={rowName}
254
- maxLength={50}
255
- style={{ width: 324, paddingBottom: 21 }}
256
- />
257
- <CapSelect
258
- label="Category"
259
- style={{ width: 324, paddingBottom: 24}}
260
- options={categoryOptions}
261
- value={rowCategory || undefined}
262
- placeholder={<FormattedMessage {...messages.selectCategoyPlaceholder} />}
263
- onChange={onChangeCategoy}
264
- />
249
+ const contentSection = <>
250
+ <CapInput
251
+ label={<FormattedMessage {...messages.rowName} />}
252
+ placeholder={formatMessage(messages.rowPlaceHolder)}
253
+ onChange={onRowChange}
254
+ value={rowName}
255
+ maxLength={50}
256
+ style={{ width: 324, paddingBottom: 21 }}
257
+ />
258
+ <CapSelect
259
+ label="Category"
260
+ style={{ width: 324, paddingBottom: 24}}
261
+ options={categoryOptions}
262
+ value={rowCategory || undefined}
263
+ placeholder={<FormattedMessage {...messages.selectCategoyPlaceholder} />}
264
+ onChange={onChangeCategoy}
265
+ />
265
266
 
266
- </>
267
- );
267
+ </>;
268
268
  return (
269
- <CapSpin spinning={saveRowRequest || false}>
270
- <div id="bee-plugin-container" style={{ height: "650px" }}></div>
271
- <TagList
272
- moduleFilterEnabled={moduleFilterEnabled}
273
- label={label}
274
- onTagSelect={onTagSelect}
275
- location={location}
276
- tags={filteredTags}
277
- injectedTags={injectedTags}
278
- className={className}
279
- id={id}
280
- userLocale={userLocale}
281
- selectedOfferDetails={selectedOfferDetails}
282
- visibleTaglist={visibleTaglist}
283
- hidePopover
284
- modalProps={{
285
- onCancel: onCancelTagList,
286
- style: { left: 135, top: 250 },
287
- className: "bee-editor-tag-list",
288
- }}
289
- onContextChange={onContextChange}
290
- eventContextTags={eventContextTags}
291
- />
292
- <CapModal
293
- className="custom-row-modal"
294
- visible={showRowMetaModal}
295
- onCancel={onCustomRowCancel}
296
- title={formatMessage(messages.customRows)}
297
- style={{
298
- width: 372, height: 296, left: 135, top: 300,
299
- }}
300
- footer={[
301
- <CapButton
302
- key="submit"
303
- type="primary"
304
- id="delete-version"
305
- onClick={onCustomRowSave}
306
- disabled={isDisableSave()}
307
- >
308
- {formatMessage(messages.done)}
309
- </CapButton>,
310
- ]}
311
- >
312
- {contentSection}
313
- </CapModal>
314
- </CapSpin>
269
+ <CapSpin spinning={saveRowRequest || false}>
270
+ <div id="bee-plugin-container" style={{ height: "650px" }}></div>
271
+ <TagList
272
+ moduleFilterEnabled={moduleFilterEnabled}
273
+ label={label}
274
+ onTagSelect={onTagSelect}
275
+ location={location}
276
+ tags={filteredTags}
277
+ injectedTags={injectedTags}
278
+ className={className}
279
+ id={id}
280
+ userLocale={userLocale}
281
+ selectedOfferDetails={selectedOfferDetails}
282
+ visibleTaglist={visibleTaglist}
283
+ hidePopover
284
+ modalProps={{
285
+ onCancel: onCancelTagList,
286
+ style: { left: 135, top: 250 },
287
+ className: "bee-editor-tag-list",
288
+ }}
289
+ onContextChange={onContextChange}
290
+ eventContextTags={eventContextTags}
291
+ />
292
+ <CapModal
293
+ className="custom-row-modal"
294
+ visible={showRowMetaModal}
295
+ onCancel={onCustomRowCancel}
296
+ title={formatMessage(messages.customRows)}
297
+ style={{ width: 372, height: 296, left: 135, top: 300 }}
298
+ footer={[
299
+ <CapButton
300
+ key="submit"
301
+ type="primary"
302
+ id="delete-version"
303
+ onClick={onCustomRowSave}
304
+ disabled={isDisableSave()}
305
+ >
306
+ {formatMessage(messages.done)}
307
+ </CapButton>,
308
+ ]}
309
+ >
310
+ {contentSection}
311
+ </CapModal>
312
+ </CapSpin>
315
313
  );
316
314
  }
317
315
 
@@ -338,7 +336,7 @@ BeeEditor.propTypes = {
338
336
 
339
337
  const mapStateToProps = () => createStructuredSelector({
340
338
  BEESelect: makeSelectBEE(),
341
- currentOrgDetails: selectCurrentOrgDetails(),
339
+ currentOrgDetails: selectCurrentOrgDetails()
342
340
  });
343
341
 
344
342
  function mapDispatchToProps(dispatch) {
@@ -243,7 +243,7 @@ exports[`<Cap /> should render correct component 1`] = `
243
243
  "creatives.componentsV2.CapDocumentUpload.imageDimenstionDescription": "Dimensions upto: {width}px x {height}px",
244
244
  "creatives.componentsV2.CapDocumentUpload.or": "OR",
245
245
  "creatives.componentsV2.CapDocumentUpload.uploadComputer": "Select from computer",
246
- "creatives.componentsV2.CapDocumentUpload.whatsappDocSize": "Size upto: {size}",
246
+ "creatives.componentsV2.CapDocumentUpload.whatsappDocSize": "Size up to: {size}",
247
247
  "creatives.componentsV2.CapImageUpload.aspectRatio": "Aspect ratio: 1:1",
248
248
  "creatives.componentsV2.CapImageUpload.dragAndDrop": "Drag and drop image here",
249
249
  "creatives.componentsV2.CapImageUpload.format": "Format: JPEG, JPG, PNG",
@@ -251,13 +251,13 @@ exports[`<Cap /> should render correct component 1`] = `
251
251
  "creatives.componentsV2.CapImageUpload.imageErrorDesc": "Please upload the image with allowed file extension, size, dimension and aspect ratio",
252
252
  "creatives.componentsV2.CapImageUpload.imageGallery": "Gallery",
253
253
  "creatives.componentsV2.CapImageUpload.imageReUpload": "Reupload",
254
- "creatives.componentsV2.CapImageUpload.imageSize": "Size upto: 2MB",
254
+ "creatives.componentsV2.CapImageUpload.imageSize": "Size up to: 2MB",
255
255
  "creatives.componentsV2.CapImageUpload.or": "OR",
256
256
  "creatives.componentsV2.CapImageUpload.uploadComputer": "Select from computer",
257
257
  "creatives.componentsV2.CapImageUpload.uploadGallery": "Gallery",
258
258
  "creatives.componentsV2.CapImageUpload.uploadImageDescription": "The relevant image that complements the message context.",
259
259
  "creatives.componentsV2.CapImageUpload.whatsappAspectRatio": "Max aspect ratio: 1.91:1",
260
- "creatives.componentsV2.CapImageUpload.whatsappImageSize": "Size upto: 5MB",
260
+ "creatives.componentsV2.CapImageUpload.whatsappImageSize": "Size up to: 5MB",
261
261
  "creatives.componentsV2.CapTagList.Cancel": "Cancel",
262
262
  "creatives.componentsV2.CapTagList.Ok": "Ok",
263
263
  "creatives.componentsV2.CapTagList.all": "All",
@@ -1950,6 +1950,7 @@ new message content.",
1950
1950
  "creatives.containersV2.WeChat.templateName": "Template Name",
1951
1951
  "creatives.containersV2.WeChat.wechatCreateSuccess": "WeChat template mapped successfully",
1952
1952
  "creatives.containersV2.WeChat.wechatEditSuccess": "WeChat template edited successfully",
1953
+ "creatives.containersV2.WebPush.addLabels": "Add labels",
1953
1954
  "creatives.containersV2.Whatsapp.IncorrectCategoryError": "INCORRECT CATEGORY: Message content different from expected content in the category selected. Refer {here} for expected content in each category.",
1954
1955
  "creatives.containersV2.Whatsapp.accountUpdate": "Account update",
1955
1956
  "creatives.containersV2.Whatsapp.accountUpdateTooltip": "Let customers know about updates or changes to their accounts.",
@@ -10,7 +10,6 @@ import SmsWrapper from '../SmsWrapper';
10
10
  import Email from '../Email';
11
11
  import EmailWrapper from '../EmailWrapper';
12
12
  import MobilepushWrapper from '../MobilepushWrapper';
13
- import InAppWrapper from '../InAppWrapper';
14
13
  import EmailPreviewV2 from '../../v2Components/EmailPreviewV2';
15
14
  import MobilePushPreview from '../../v2Components/MobilePushPreviewV2';
16
15
  import WechatWrapper from '../WeChat/Wrapper';
@@ -29,6 +28,10 @@ import { getWhatsappContent } from '../Whatsapp/utils';
29
28
  import * as commonUtil from '../../utils/common';
30
29
  import Zalo from '../Zalo';
31
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';
32
35
  const CreativesWrapper = styled.div`
33
36
  .ant-popover,
34
37
  .ant-notification,
@@ -116,11 +119,7 @@ export function SlideBoxContent(props) {
116
119
  emailCreateMode,
117
120
  onMobilepushModeChange,
118
121
  mobilePushCreateMode,
119
- onInAppEditorTypeChange,
120
- inAppEditorType,
121
122
  templateStep,
122
- inAppCreateMode,
123
- onInAppModeChange,
124
123
  onEnterTemplateName,
125
124
  onRemoveTemplateName,
126
125
  onCreateNextStep,
@@ -169,6 +168,7 @@ export function SlideBoxContent(props) {
169
168
  handleTestAndPreview,
170
169
  handleCloseTestAndPreview,
171
170
  isTestAndPreviewMode,
171
+ supportedTags = [],
172
172
  } = props;
173
173
  const type = (messageDetails.type || '').toLowerCase(); // type is context in get tags values : outbound | dvs | referral | loyalty | coupons
174
174
  const query = { type: !isFullMode && 'embedded', module: isFullMode ? 'default' : 'library', isEditFromCampaigns: (templateData || {}).isEditFromCampaigns};
@@ -205,6 +205,7 @@ export function SlideBoxContent(props) {
205
205
  const isCreateRcs = isCreate && channel === constants.RCS;
206
206
  const isCreateMPush = isCreate && channel === constants.MOBILE_PUSH;
207
207
  const isCreateCallTask = isCreate && channel === constants.CALL_TASK;
208
+ const isCreateWebPush = isCreate && channel === constants.WEBPUSH;
208
209
  let isEditSms = false;
209
210
  let isEditEmailWithId = false;
210
211
  let isEmailEditWithContent = false;
@@ -212,12 +213,14 @@ export function SlideBoxContent(props) {
212
213
  let isEmailPreview = false;
213
214
  let isMpushPreview = false;
214
215
  let isInappPreview = false;
216
+ let isWebPushPreview = false;
215
217
  let isEditCallTask = false;
216
218
  let isEditMPush = false;
217
219
  let isEditFacebook = false;
218
220
  let isEditFTP = false;
219
221
  let isEditWhatsapp = false;
220
222
  let isEditInApp = false;
223
+ let isEditWebPush = false;
221
224
  let isEditRcs = false;
222
225
  let isEditZalo = false;
223
226
  const isEmailCreate = isCreate && channel === constants.EMAIL;
@@ -231,10 +234,12 @@ export function SlideBoxContent(props) {
231
234
  isEditFacebook = isEdit && channel === constants.FACEBOOK;
232
235
  isEditWhatsapp = isEdit && channel === constants.WHATSAPP;
233
236
  isEditRcs = isEdit && channel === constants.RCS;
237
+ isEditWebPush = isEdit && channel === constants.WEBPUSH;
234
238
  isPreview = slidBoxContent === 'preview' && [constants.SMS, constants.LINE, constants.WHATSAPP, constants.FACEBOOK, constants.VIBER, constants.RCS].includes(channel);
235
239
  isEmailPreview = slidBoxContent === 'preview' && channel === constants.EMAIL;
236
240
  isMpushPreview = slidBoxContent === 'preview' && channel === constants.MOBILE_PUSH;
237
241
  isInappPreview = slidBoxContent === 'preview' && channel === constants.INAPP;
242
+ isWebPushPreview = slidBoxContent === 'preview' && channel === constants.WEBPUSH;
238
243
  isEditFTP = isEdit && [constants.NO_COMMUNICATION, constants.FTP].includes(channel);
239
244
  isEditZalo = isEdit && channel?.toUpperCase() === constants.ZALO;
240
245
  isEditInApp = isEdit && channel === constants.INAPP;
@@ -482,8 +487,30 @@ export function SlideBoxContent(props) {
482
487
  templateData={templateData}
483
488
  channel={channel}
484
489
  forwardedTags={forwardedTags}
485
- />
490
+ />
486
491
  )}
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
+ })()}
487
514
 
488
515
  {
489
516
  (currentChannel === constants.WECHAT && !!slidBoxContent) && <WechatWrapper
@@ -634,92 +661,44 @@ export function SlideBoxContent(props) {
634
661
  handleTestAndPreview={handleTestAndPreview}
635
662
  handleCloseTestAndPreview={handleCloseTestAndPreview}
636
663
  isTestAndPreviewMode={isTestAndPreviewMode}
637
- location={location}
638
664
  />
639
665
  )}
640
666
  {(isEditEmailWithId || isEmailEditWithContent) && (
641
- (() => {
642
- const supportCKEditor = commonUtil.hasSupportCKEditor();
643
- // When supportCKEditor is true: Always use Email component (legacy flow)
644
- if (supportCKEditor || templateData?.is_drag_drop) {
645
- return (
646
- <Email
647
- key="cretives-container-email-edit"
648
- setIsLoadingContent={setIsLoadingContent}
649
- location={{
650
- pathname: `/email/edit`,
651
- query: { type: 'embedded', module: 'library'},
652
- }}
653
- route={{ name: 'email' }}
654
- isGetFormData={isGetFormData}
655
- getFormdata={getFormData}
656
- params={{ id: templateData._id }}
657
- templateData={templateData}
658
- getFormSubscriptionData={getFormData}
659
- getDefaultTags={type}
660
- isFullMode={isFullMode}
661
- editor={editor}
662
- cap={cap}
663
- showTemplateName={showTemplateName}
664
- onValidationFail={onValidationFail}
665
- forwardedTags={forwardedTags}
666
- selectedOfferDetails={selectedOfferDetails}
667
- onPreviewContentClicked={onPreviewContentClicked}
668
- onTestContentClicked={onTestContentClicked}
669
- moduleType={moduleType}
670
- showLiquidErrorInFooter={showLiquidErrorInFooter}
671
- eventContextTags={eventContextTags}
672
- isLoyaltyModule={isLoyaltyModule}
673
- showTestAndPreviewSlidebox={showTestAndPreviewSlidebox}
674
- handleTestAndPreview={handleTestAndPreview}
675
- handleCloseTestAndPreview={handleCloseTestAndPreview}
676
- isTestAndPreviewMode={isTestAndPreviewMode}
677
- />
678
- );
679
- }
680
- // HTML template: Use EmailWrapper component (which uses EmailWithoutSaga)
681
- return (
682
- <EmailWrapper
683
- key="cretives-container-email-edit-wrapper"
684
- setIsLoadingContent={setIsLoadingContent}
685
- onEmailModeChange={onEmailModeChange}
686
- emailCreateMode="editor"
687
- isGetFormData={isGetFormData}
688
- getFormdata={getFormData}
689
- templateData={templateData}
690
- type={type}
691
- step="createTemplateContent"
692
- showNextStep={onCreateNextStep}
693
- isFullMode={isFullMode}
694
- editor={editor}
695
- cap={cap}
696
- onResetStep={onResetStep}
697
- showTemplateName={showTemplateName}
698
- onEnterTemplateName={onEnterTemplateName}
699
- onRemoveTemplateName={onRemoveTemplateName}
700
- onValidationFail={onValidationFail}
701
- forwardedTags={forwardedTags}
702
- selectedOfferDetails={selectedOfferDetails}
703
- onPreviewContentClicked={onPreviewContentClicked}
704
- onTestContentClicked={onTestContentClicked}
705
- getCmsTemplatesInProgress={getCmsTemplatesInProgress}
706
- moduleType={moduleType}
707
- showLiquidErrorInFooter={showLiquidErrorInFooter}
708
- eventContextTags={eventContextTags}
709
- isLoyaltyModule={isLoyaltyModule}
710
- showTestAndPreviewSlidebox={showTestAndPreviewSlidebox}
711
- handleTestAndPreview={handleTestAndPreview}
712
- handleCloseTestAndPreview={handleCloseTestAndPreview}
713
- isTestAndPreviewMode={isTestAndPreviewMode}
714
- location={{
715
- pathname: `/email/edit/${templateData._id}`,
716
- query: { type: 'embedded', module: 'library', id: templateData._id },
717
- }}
718
- params={{ id: templateData._id }}
719
- />
720
- );
721
- })()
722
- )}
667
+ <Email
668
+ key="cretives-container-email-edit"
669
+ setIsLoadingContent={setIsLoadingContent}
670
+ location={{
671
+ pathname: `/email/edit`,
672
+ query: { type: 'embedded', module: 'library'},
673
+ }}
674
+ route={{ name: 'email' }}
675
+ isGetFormData={isGetFormData}
676
+ getFormdata={getFormData}
677
+ params={{ id: templateData._id }}
678
+ templateData={templateData}
679
+ getFormSubscriptionData={getFormData}
680
+ getDefaultTags={type}
681
+ isFullMode={isFullMode}
682
+ editor={editor}
683
+ cap={cap}
684
+ showTemplateName={showTemplateName}
685
+ onValidationFail={onValidationFail}
686
+ forwardedTags={forwardedTags}
687
+ selectedOfferDetails={selectedOfferDetails}
688
+ onPreviewContentClicked={onPreviewContentClicked}
689
+ onTestContentClicked={onTestContentClicked}
690
+ moduleType={moduleType}
691
+ showLiquidErrorInFooter={showLiquidErrorInFooter}
692
+ eventContextTags={eventContextTags}
693
+ isLoyaltyModule={isLoyaltyModule}
694
+ showTestAndPreviewSlidebox={showTestAndPreviewSlidebox}
695
+ handleTestAndPreview={handleTestAndPreview}
696
+ handleCloseTestAndPreview={handleCloseTestAndPreview}
697
+ isTestAndPreviewMode={(() => {
698
+ return isTestAndPreviewMode;
699
+ })()}
700
+ />
701
+ )}
723
702
  {isEditMPush && (
724
703
  (isFullMode && !commonUtil.hasNewMobilePushFeatureEnabled()) ||
725
704
  (!isFullMode && isLoyaltyModule) ||
@@ -993,73 +972,65 @@ export function SlideBoxContent(props) {
993
972
  />
994
973
  )}
995
974
 
996
- {isCreateInApp && (
997
- <InAppWrapper
998
- key="creatives-inapp-wrapper"
999
- date={new Date().getMilliseconds()}
1000
- setIsLoadingContent={setIsLoadingContent}
1001
- onInAppEditorTypeChange={onInAppEditorTypeChange}
1002
- inAppEditorType={inAppEditorType}
1003
- isGetFormData={isGetFormData}
1004
- getFormdata={getFormData}
1005
- templateData={templateData}
1006
- type={type}
1007
- step={templateStep}
1008
- showNextStep={onCreateNextStep}
1009
- isFullMode={isFullMode}
1010
- cap={cap}
1011
- onResetStep={onResetStep}
1012
- showTemplateName={showTemplateName}
1013
- onEnterTemplateName={onEnterTemplateName}
1014
- onRemoveTemplateName={onRemoveTemplateName}
1015
- onValidationFail={onValidationFail}
1016
- forwardedTags={forwardedTags}
1017
- selectedOfferDetails={selectedOfferDetails}
1018
- onPreviewContentClicked={onPreviewContentClicked}
1019
- onTestContentClicked={onTestContentClicked}
1020
- moduleType={moduleType}
1021
- showLiquidErrorInFooter={showLiquidErrorInFooter}
1022
- eventContextTags={eventContextTags}
1023
- onCreateComplete={onCreateComplete}
1024
- handleClose={handleClose}
1025
- getDefaultTags={type}
1026
- onInAppModeChange={onInAppModeChange}
1027
- inAppCreateMode={inAppCreateMode}
975
+ {isCreateInApp && (<InApp
976
+ isFullMode={isFullMode}
977
+ onCreateComplete={onCreateComplete}
978
+ handleClose={handleClose}
979
+ location={{
980
+ pathname: `/inapp/create`,
981
+ query,
982
+ search: '',
983
+ }}
984
+ getFormData={getFormData}
985
+ isGetFormData={isGetFormData}
986
+ templateData={templateData}
987
+ getDefaultTags={type}
988
+ eventContextTags={eventContextTags}
989
+ showLiquidErrorInFooter={showLiquidErrorInFooter}
990
+ />
991
+ )}
992
+
993
+ {isEditInApp && (<InApp
994
+ isFullMode={isFullMode}
995
+ templateData={templateData}
996
+ getFormData={getFormData}
997
+ getDefaultTags={type}
998
+ forwardedTags={forwardedTags}
999
+ onCreateComplete={onCreateComplete}
1000
+ selectedOfferDetails={selectedOfferDetails}
1001
+ eventContextTags={eventContextTags}
1002
+ params={{
1003
+ id: templateData._id,
1004
+ }}
1005
+ location={{
1006
+ pathname: `/inapp/edit`,
1007
+ query,
1008
+ search: '',
1009
+ }}
1010
+ showLiquidErrorInFooter={showLiquidErrorInFooter}
1028
1011
  />
1029
1012
  )}
1030
1013
 
1031
- {isEditInApp && (
1032
- <InApp
1033
- key={`creatives-inapp-edit-${templateData._id || 'new'}`}
1034
- isEditInApp={true}
1014
+ {(isCreateWebPush || isEditWebPush) && (
1015
+ <WebPush
1035
1016
  isFullMode={isFullMode}
1036
- templateData={templateData}
1037
- getFormData={getFormData}
1038
- getDefaultTags={type}
1039
- forwardedTags={forwardedTags}
1017
+ handleClose={handleClose}
1040
1018
  onCreateComplete={onCreateComplete}
1041
- selectedOfferDetails={selectedOfferDetails}
1042
- eventContextTags={eventContextTags}
1043
- params={{
1044
- id: templateData._id,
1045
- }}
1019
+ templateData={isEditWebPush ? templateData : undefined}
1020
+ creativesMode={creativesMode}
1021
+ params={isEditWebPush && templateData ? { id: templateData._id } : undefined}
1046
1022
  location={{
1047
- pathname: `/inapp/edit`,
1023
+ pathname: isEditWebPush ? '/webpush/edit' : '/webpush/create',
1048
1024
  query,
1049
1025
  search: '',
1050
1026
  }}
1051
- showLiquidErrorInFooter={showLiquidErrorInFooter}
1052
- setIsLoadingContent={setIsLoadingContent}
1053
- onInAppModeChange={onInAppModeChange}
1054
- inAppCreateMode={inAppCreateMode}
1055
- isGetFormData={isGetFormData}
1056
- showTemplateName={showTemplateName}
1057
- onValidationFail={onValidationFail}
1058
- type={type}
1059
- query={query}
1027
+ getDefaultTags={type}
1028
+ forwardedTags={forwardedTags}
1029
+ supportedTags={supportedTags}
1030
+ selectedOfferDetails={selectedOfferDetails}
1031
+ eventContextTags={eventContextTags}
1060
1032
  />
1061
1033
  )}
1062
-
1063
1034
  {isCreateRcs && (<Rcs
1064
1035
  {...rcsCommonProps}
1065
1036
  showLiquidErrorInFooter={showLiquidErrorInFooter}
@@ -1091,8 +1062,6 @@ SlideBoxContent.propTypes = {
1091
1062
  onSelectTemplate: PropTypes.func,
1092
1063
  onPreviewTemplate: PropTypes.func,
1093
1064
  templateData: PropTypes.object,
1094
- onInAppEditorTypeChange: PropTypes.func,
1095
- inAppEditorType: PropTypes.object,
1096
1065
  location: PropTypes.object,
1097
1066
  isGetFormData: PropTypes.bool,
1098
1067
  getFormData: PropTypes.func,
@@ -1118,6 +1087,7 @@ SlideBoxContent.propTypes = {
1118
1087
  onValidationFail: PropTypes.func,
1119
1088
  channelsToHide: PropTypes.array,
1120
1089
  forwardedTags: PropTypes.object,
1090
+ supportedTags: PropTypes.array,
1121
1091
  selectedOfferDetails: PropTypes.array,
1122
1092
  channelsToDisable: PropTypes.array,
1123
1093
  weChatTemplateType: PropTypes.string,
@@ -1133,7 +1103,7 @@ SlideBoxContent.propTypes = {
1133
1103
  onFTPSubmit: PropTypes.func,
1134
1104
  messageStrategy: PropTypes.string,
1135
1105
  fbAdManager: PropTypes.string,
1136
- showDisabledFBInfo: PropTypes.boolean,
1106
+ showDisabledFBInfo: PropTypes.bool,
1137
1107
  orgUnitId: PropTypes.any,
1138
1108
  smsRegister: PropTypes.any,
1139
1109
  getCmsTemplatesInProgress: PropTypes.bool,