@capillarytech/creatives-library 7.18.0-beta.0 → 8.0.0

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 (334) hide show
  1. package/app.js +27 -54
  2. package/assets/Line_Preview_English.svg +24 -0
  3. package/assets/Line_Preview_Japanese.svg +24 -0
  4. package/components/CapTagList/index.js +2 -2
  5. package/components/CapTagList/messages.js +8 -0
  6. package/components/Ckeditor/index.js +4 -2
  7. package/components/Ckeditor/style.scss +3 -0
  8. package/components/FormBuilder/_formBuilder.scss +4 -16
  9. package/components/FormBuilder/index.js +4 -3
  10. package/components/FormBuilder/messages.js +4 -0
  11. package/components/Sidebar/index.js +4 -4
  12. package/config/path.js +1 -1
  13. package/containers/App/constants.js +95 -0
  14. package/containers/App/index.js +52 -0
  15. package/containers/App/sagas.js +8 -3
  16. package/containers/Assets/Gallery/index.js +17 -3
  17. package/containers/Assets/Gallery/messages.js +4 -0
  18. package/containers/Assets/Gallery/sagas.js +14 -14
  19. package/containers/Cap/index.js +84 -50
  20. package/containers/Cap/sagas.js +20 -12
  21. package/containers/Cap/selectors.js +13 -13
  22. package/containers/Cap/tests/__snapshots__/index.test.js.snap +1 -1
  23. package/containers/Cap/tests/saga.test.js +81 -1
  24. package/containers/Dashboard/index.js +34 -17
  25. package/containers/Dashboard/sagas.js +7 -1
  26. package/containers/Ebill/index.js +16 -3
  27. package/containers/Ebill/sagas.js +18 -11
  28. package/containers/Email/index.js +20 -3
  29. package/containers/Email/sagas.js +34 -23
  30. package/containers/LanguageProvider/index.js +49 -31
  31. package/containers/LanguageProvider/tests/index.test.js +5 -3
  32. package/containers/Line/Create/index.js +15 -2
  33. package/containers/Line/Create/sagas.js +26 -17
  34. package/containers/Line/Edit/sagas.js +12 -13
  35. package/containers/Login/index.js +36 -11
  36. package/containers/MobilePush/Create/index.js +17 -2
  37. package/containers/MobilePush/Create/sagas.js +18 -12
  38. package/containers/MobilePush/Edit/index.js +20 -3
  39. package/containers/MobilePush/Edit/sagas.js +30 -20
  40. package/containers/Sms/Create/index.js +15 -2
  41. package/containers/Sms/Create/sagas.js +8 -6
  42. package/containers/Sms/Edit/index.js +15 -3
  43. package/containers/Sms/Edit/sagas.js +14 -8
  44. package/containers/TagList/constants.js +23 -0
  45. package/containers/Templates/actions.js +0 -5
  46. package/containers/Templates/index.js +47 -14
  47. package/containers/Templates/sagas.js +20 -23
  48. package/containers/WeChat/MapTemplates/index.js +19 -2
  49. package/containers/WeChat/MapTemplates/sagas.js +17 -17
  50. package/containers/WeChat/RichmediaTemplates/Create/index.js +18 -2
  51. package/containers/WeChat/RichmediaTemplates/Create/sagas.js +11 -8
  52. package/containers/WeChat/RichmediaTemplates/Edit/index.js +21 -2
  53. package/containers/WeChat/RichmediaTemplates/Edit/sagas.js +9 -5
  54. package/entry.js +2 -0
  55. package/global-styles.js +2 -2
  56. package/gtm/eventDefinitionsMap.js +1 -1
  57. package/helpers/intl-enzym-test-helpers.js +1 -1
  58. package/hoc/withReactRouterV3Compatibility.js +66 -0
  59. package/index.js +12 -0
  60. package/initialReducer.js +32 -0
  61. package/initialState.js +1 -0
  62. package/mfe-exposed-components.js +8 -0
  63. package/package.json +16 -11
  64. package/routes.js +206 -749
  65. package/services/api.js +62 -17
  66. package/services/tests/api.test.js +248 -1
  67. package/styles/components/navigation/_leftnav.scss +13 -0
  68. package/styles/containers/layout/_layoutPage.scss +14 -0
  69. package/tests/integration/TemplateCreation/TemplateCreation.integration.test.js +21 -16
  70. package/tests/store.test.js +5 -3
  71. package/translations/en.json +1 -9
  72. package/translations/ja-JP.json +0 -8
  73. package/translations/zh.json +0 -8
  74. package/utils/authWrapper.js +43 -17
  75. package/utils/cdnTransformation.js +73 -44
  76. package/utils/checkStore.js +21 -0
  77. package/utils/common.js +198 -8
  78. package/utils/commonUtils.js +17 -1
  79. package/utils/customAuthWrapper.js +62 -0
  80. package/utils/customConnectedAuthWrapper.js +26 -0
  81. package/utils/history.js +8 -0
  82. package/utils/injectReducer.js +2 -0
  83. package/utils/injectSaga.js +2 -0
  84. package/utils/tagValidations.js +2 -2
  85. package/utils/tests/cdnTransformation.test.js +6 -4
  86. package/utils/tests/common.mockdata.js +623 -0
  87. package/utils/tests/common.test.js +273 -0
  88. package/utils/tests/commonUtil.test.js +79 -0
  89. package/v2Components/CapDeviceContent/index.js +330 -0
  90. package/v2Components/CapDeviceContent/index.scss +115 -0
  91. package/v2Components/CapDeviceContent/messages.js +94 -0
  92. package/v2Components/CapDeviceContent/tests/index.test.js +89 -0
  93. package/v2Components/CapImageUpload/constants.js +6 -0
  94. package/v2Components/CapImageUpload/index.js +23 -15
  95. package/v2Components/CapImageUpload/index.scss +6 -0
  96. package/v2Components/CapImageUpload/messages.js +7 -7
  97. package/v2Components/CapInAppCTA/constants.js +25 -0
  98. package/v2Components/CapInAppCTA/index.js +279 -0
  99. package/v2Components/CapInAppCTA/index.scss +99 -0
  100. package/v2Components/CapInAppCTA/messages.js +85 -0
  101. package/v2Components/CapTagList/index.js +149 -26
  102. package/v2Components/CapTagList/messages.js +12 -0
  103. package/v2Components/CapTagList/style.scss +26 -0
  104. package/v2Components/CapVideoUpload/constants.js +6 -0
  105. package/v2Components/CapVideoUpload/index.js +48 -22
  106. package/v2Components/CapVideoUpload/index.scss +4 -2
  107. package/v2Components/CapVideoUpload/messages.js +10 -6
  108. package/v2Components/CapWhatsappQuickReply/index.js +255 -0
  109. package/v2Components/CapWhatsappQuickReply/index.scss +54 -0
  110. package/v2Components/CapWhatsappQuickReply/messages.js +32 -0
  111. package/v2Components/Ckeditor/index.js +56 -22
  112. package/v2Components/Ckeditor/style.scss +3 -0
  113. package/v2Components/Ckeditor/tests/index.test.js +44 -0
  114. package/v2Components/CmsTemplatesComponent/index.js +1 -0
  115. package/v2Components/CmsTemplatesComponent/messages.js +4 -0
  116. package/v2Components/EmailMobilePreview/index.js +4 -2
  117. package/v2Components/EmailPreviewV2/index.js +6 -4
  118. package/v2Components/EmailPreviewV2/tests/__snapshots__/index.test.js.snap +0 -3
  119. package/v2Components/FormBuilder/_formBuilder.scss +1 -0
  120. package/v2Components/FormBuilder/constants.js +1 -1
  121. package/v2Components/FormBuilder/index.js +111 -29
  122. package/v2Components/FormBuilder/messages.js +4 -0
  123. package/v2Components/FormBuilder/tests/index.test.js +5 -2
  124. package/v2Components/MobilePushPreviewV2/index.js +57 -22
  125. package/v2Components/NavigationBar/constants.js +1 -0
  126. package/v2Components/NavigationBar/index.js +84 -113
  127. package/v2Components/NavigationBar/messages.js +8 -0
  128. package/v2Components/NavigationBar/style.js +9 -0
  129. package/v2Components/NavigationBar/tests/index.test.js +32 -9
  130. package/v2Components/NavigationBar/tests/mockData.js +1 -0
  131. package/v2Components/NewCallTask/tests/index.test.js +5 -3
  132. package/v2Components/Pagination/index.js +2 -1
  133. package/v2Components/RenderRoute/RenderRoute.js +11 -0
  134. package/v2Components/RenderRoute/index.js +1 -0
  135. package/v2Components/TemplatePreview/_templatePreview.scss +535 -0
  136. package/v2Components/TemplatePreview/assets/images/inapp_mobile_android_bottom.svg +11 -0
  137. package/v2Components/TemplatePreview/assets/images/inapp_mobile_android_full.svg +11 -0
  138. package/v2Components/TemplatePreview/assets/images/inapp_mobile_android_modal.svg +11 -0
  139. package/v2Components/TemplatePreview/assets/images/inapp_mobile_android_top.svg +11 -0
  140. package/v2Components/TemplatePreview/assets/images/inapp_mobile_ios_bottom.svg +6 -0
  141. package/v2Components/TemplatePreview/assets/images/inapp_mobile_ios_full.svg +18 -0
  142. package/v2Components/TemplatePreview/assets/images/inapp_mobile_ios_modal.svg +7 -0
  143. package/v2Components/TemplatePreview/assets/images/inapp_mobile_ios_top.svg +13 -0
  144. package/v2Components/TemplatePreview/index.js +745 -362
  145. package/v2Components/TemplatePreview/messages.js +8 -0
  146. package/v2Components/TemplatePreview/tests/__snapshots__/index.test.js.snap +47 -14
  147. package/v2Components/TemplatePreview/tests/index.test.js +9 -0
  148. package/v2Components/WhatsappStatusContainer/_whatsappStatusContainer.scss +8 -1
  149. package/v2Containers/App/constants.js +12 -6
  150. package/v2Containers/App/sagas.js +0 -1
  151. package/v2Containers/Assets/Gallery/index.js +1 -0
  152. package/v2Containers/Assets/Gallery/sagas.js +15 -14
  153. package/v2Containers/BeeEditor/index.js +3 -1
  154. package/v2Containers/BeeEditor/sagas.js +8 -5
  155. package/v2Containers/CallTask/sagas.js +7 -1
  156. package/v2Containers/Cap/actions.js +4 -0
  157. package/v2Containers/Cap/constants.js +20 -1
  158. package/v2Containers/Cap/index.js +116 -17
  159. package/v2Containers/Cap/messages.js +8 -0
  160. package/v2Containers/Cap/reducer.js +18 -3
  161. package/v2Containers/Cap/sagas.js +64 -9
  162. package/v2Containers/Cap/selectors.js +27 -13
  163. package/v2Containers/Cap/tests/Cap.test.js +164 -0
  164. package/v2Containers/Cap/tests/__snapshots__/index.test.js.snap +2 -1
  165. package/v2Containers/Cap/tests/actions.test.js +11 -0
  166. package/v2Containers/Cap/tests/reducer.test.js +59 -0
  167. package/v2Containers/Cap/tests/saga.test.js +181 -2
  168. package/v2Containers/Cap/tests/selectors.test.js +42 -18
  169. package/v2Containers/CapFacebookPreview/sagas.js +7 -5
  170. package/v2Containers/CreativesContainer/SlideBoxContent.js +86 -4
  171. package/v2Containers/CreativesContainer/SlideBoxFooter.js +4 -3
  172. package/v2Containers/CreativesContainer/SlideBoxHeader.js +30 -14
  173. package/v2Containers/CreativesContainer/constants.js +5 -0
  174. package/v2Containers/CreativesContainer/index.js +157 -38
  175. package/v2Containers/CreativesContainer/index.scss +12 -0
  176. package/v2Containers/CreativesContainer/messages.js +33 -1
  177. package/v2Containers/CreativesContainer/tests/SlideBoxContent.test.js +11 -0
  178. package/v2Containers/CreativesContainer/tests/SlideBoxFooter.test.js +5 -2
  179. package/v2Containers/CreativesContainer/tests/SlideBoxHeader.test.js +7 -1
  180. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +227 -0
  181. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxHeader.test.js.snap +73 -0
  182. package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +80 -0
  183. package/v2Containers/CreativesContainer/tests/index.test.js +16 -0
  184. package/v2Containers/Ebill/sagas.js +3 -10
  185. package/v2Containers/Email/index.js +38 -19
  186. package/v2Containers/Email/initialSchema.js +1 -1
  187. package/v2Containers/Email/sagas.js +22 -26
  188. package/v2Containers/EmailWrapper/index.js +18 -8
  189. package/v2Containers/FTP/index.js +2 -2
  190. package/v2Containers/FTP/sagas.js +3 -4
  191. package/v2Containers/Facebook/sagas.js +26 -17
  192. package/v2Containers/InApp/actions.js +64 -0
  193. package/v2Containers/InApp/constants.js +160 -0
  194. package/v2Containers/InApp/index.js +792 -0
  195. package/v2Containers/InApp/index.scss +50 -0
  196. package/v2Containers/InApp/messages.js +114 -0
  197. package/v2Containers/InApp/reducer.js +109 -0
  198. package/v2Containers/InApp/sagas.js +151 -0
  199. package/v2Containers/InApp/selectors.js +12 -0
  200. package/v2Containers/InApp/tests/action.test.js +53 -0
  201. package/v2Containers/InApp/tests/index.test.js +165 -0
  202. package/v2Containers/InApp/tests/mockData.js +898 -0
  203. package/v2Containers/InApp/tests/reducer.test.js +177 -0
  204. package/v2Containers/InApp/tests/sagas.test.js +391 -0
  205. package/v2Containers/InApp/utils.js +12 -0
  206. package/v2Containers/LanguageProvider/index.js +17 -5
  207. package/v2Containers/LanguageProvider/reducer.js +3 -2
  208. package/v2Containers/LanguageProvider/sagas.js +7 -8
  209. package/v2Containers/LanguageProvider/selectors.js +2 -1
  210. package/v2Containers/LanguageProvider/tests/index.test.js +5 -2
  211. package/v2Containers/LanguageProvider/tests/reducer.test.js +6 -3
  212. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/content.test.js.snap +28 -16
  213. package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/index.test.js.snap +2 -2
  214. package/v2Containers/Line/Container/ImageCarousel/tests/content.test.js +5 -3
  215. package/v2Containers/Line/Container/ImageCarousel/tests/index.test.js +5 -3
  216. package/v2Containers/Line/Container/ImageMap/index.js +1 -1
  217. package/v2Containers/Line/Container/Text/index.js +16 -1
  218. package/v2Containers/Line/Container/Video/index.js +2 -1
  219. package/v2Containers/Line/Container/Wrapper/tests/__snapshots__/index.test.js.snap +18134 -107
  220. package/v2Containers/Line/Container/Wrapper/tests/index.test.js +5 -3
  221. package/v2Containers/Line/Container/Wrapper/utils.js +1 -1
  222. package/v2Containers/Line/Container/index.js +4 -0
  223. package/v2Containers/Line/Container/sagas.js +30 -20
  224. package/v2Containers/Line/Container/tests/__snapshots__/index.test.js.snap +123 -81
  225. package/v2Containers/Line/Container/tests/index.test.js +5 -2
  226. package/v2Containers/Login/index.js +1 -2
  227. package/v2Containers/MobilePush/Create/index.js +40 -17
  228. package/v2Containers/MobilePush/Create/sagas.js +18 -12
  229. package/v2Containers/MobilePush/Edit/index.js +16 -7
  230. package/v2Containers/MobilePush/Edit/sagas.js +30 -20
  231. package/v2Containers/MobilepushWrapper/index.js +3 -0
  232. package/v2Containers/Rcs/sagas.js +14 -14
  233. package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +123 -87
  234. package/v2Containers/Rcs/tests/index.test.js +5 -3
  235. package/v2Containers/Sms/Create/sagas.js +10 -6
  236. package/v2Containers/Sms/Edit/sagas.js +14 -8
  237. package/v2Containers/SmsTrai/Create/sagas.js +9 -10
  238. package/v2Containers/SmsTrai/Create/tests/__snapshots__/index.test.js.snap +4 -4
  239. package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +12 -8
  240. package/v2Containers/SmsTrai/Edit/tests/index.test.js +5 -3
  241. package/v2Containers/TagList/_tagList.scss +18 -0
  242. package/v2Containers/TagList/index.js +81 -42
  243. package/v2Containers/TagList/tests/TagList.test.js +6 -7
  244. package/v2Containers/TagList/tests/mockdata.js +10 -166
  245. package/v2Containers/TagList/tests/utils.test.js +17 -0
  246. package/v2Containers/TagList/utils.js +15 -0
  247. package/v2Containers/Templates/_templates.scss +60 -5
  248. package/v2Containers/Templates/actions.js +6 -5
  249. package/v2Containers/Templates/constants.js +2 -1
  250. package/v2Containers/Templates/index.js +576 -181
  251. package/v2Containers/Templates/messages.js +52 -8
  252. package/v2Containers/Templates/reducer.js +3 -1
  253. package/v2Containers/Templates/sagas.js +54 -38
  254. package/v2Containers/Templates/tests/__snapshots__/index.test.js.snap +669 -43
  255. package/v2Containers/Templates/tests/actions.test.js +19 -0
  256. package/v2Containers/Templates/tests/index.test.js +53 -1
  257. package/v2Containers/Templates/tests/mockData.js +45 -1
  258. package/v2Containers/Templates/tests/reducer.test.js +50 -0
  259. package/v2Containers/Templates/tests/sagas.test.js +116 -3
  260. package/v2Containers/Templates/tests/selector.test.js +17 -0
  261. package/v2Containers/TemplatesV2/index.js +180 -8
  262. package/v2Containers/TemplatesV2/messages.js +8 -0
  263. package/v2Containers/TemplatesV2/tests/index.test.js +104 -0
  264. package/v2Containers/TemplatesV2/tests/mockData.js +685 -0
  265. package/v2Containers/Viber/constants.js +58 -0
  266. package/v2Containers/Viber/index.js +404 -421
  267. package/v2Containers/Viber/index.scss +107 -0
  268. package/v2Containers/Viber/messages.js +70 -2
  269. package/v2Containers/Viber/sagas.js +22 -14
  270. package/v2Containers/Viber/style.js +20 -0
  271. package/v2Containers/Viber/tests/index.test.js +299 -0
  272. package/v2Containers/Viber/tests/mockData.js +134 -0
  273. package/v2Containers/WeChat/MapTemplates/sagas.js +22 -14
  274. package/v2Containers/WeChat/RichmediaTemplates/Create/sagas.js +12 -11
  275. package/v2Containers/WeChat/RichmediaTemplates/Edit/sagas.js +9 -5
  276. package/v2Containers/Whatsapp/actions.js +16 -0
  277. package/v2Containers/Whatsapp/constants.js +24 -0
  278. package/v2Containers/Whatsapp/index.js +892 -222
  279. package/v2Containers/Whatsapp/index.scss +91 -1
  280. package/v2Containers/Whatsapp/messages.js +98 -1
  281. package/v2Containers/Whatsapp/reducer.js +19 -0
  282. package/v2Containers/Whatsapp/sagas.js +67 -12
  283. package/v2Containers/Whatsapp/styles.scss +35 -0
  284. package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +34983 -24886
  285. package/v2Containers/Whatsapp/tests/__snapshots__/utils.test.js.snap +12 -0
  286. package/v2Containers/Whatsapp/tests/actions.test.js +21 -0
  287. package/v2Containers/Whatsapp/tests/index.test.js +17 -4
  288. package/v2Containers/Whatsapp/tests/mockData.js +77 -0
  289. package/v2Containers/Whatsapp/tests/reducer.test.js +67 -0
  290. package/v2Containers/Whatsapp/tests/saga.test.js +201 -0
  291. package/v2Containers/Whatsapp/tests/utils.test.js +18 -0
  292. package/v2Containers/Whatsapp/utils.js +65 -4
  293. package/v2Containers/Zalo/actions.js +24 -0
  294. package/v2Containers/Zalo/constants.js +59 -0
  295. package/v2Containers/Zalo/index.js +548 -0
  296. package/v2Containers/Zalo/index.scss +75 -0
  297. package/v2Containers/Zalo/messages.js +86 -0
  298. package/v2Containers/Zalo/reducer.js +63 -0
  299. package/v2Containers/Zalo/saga.js +45 -0
  300. package/v2Containers/Zalo/selectors.js +19 -0
  301. package/v2Containers/Zalo/tests/actions.test.js +26 -0
  302. package/v2Containers/Zalo/tests/index.test.js +149 -0
  303. package/v2Containers/Zalo/tests/mockData.js +11527 -0
  304. package/v2Containers/Zalo/tests/reducer.test.js +96 -0
  305. package/v2Containers/Zalo/tests/saga.test.js +118 -0
  306. package/v2Containers/Zalo/tests/selector.test.js +51 -0
  307. package/v2Containers/mockdata.js +1531 -680
  308. package/containers/TestPage/constants.js +0 -7
  309. package/containers/TestPage/index.js +0 -31
  310. package/containers/TestPage/messages.js +0 -13
  311. package/containers/TestPage/reducer.js +0 -21
  312. package/containers/TestPage/sagas.js +0 -11
  313. package/containers/Testv2/actions.js +0 -15
  314. package/containers/Testv2/constants.js +0 -7
  315. package/containers/Testv2/index.js +0 -47
  316. package/containers/Testv2/messages.js +0 -21
  317. package/containers/Testv2/reducer.js +0 -23
  318. package/containers/Testv2/sagas.js +0 -11
  319. package/containers/Testv2/selectors.js +0 -25
  320. package/reducers.js +0 -73
  321. package/store.js +0 -61
  322. package/utils/tests/asyncInjectors.test.js +0 -173
  323. package/v2Containers/TestPage/constants.js +0 -7
  324. package/v2Containers/TestPage/index.js +0 -31
  325. package/v2Containers/TestPage/messages.js +0 -13
  326. package/v2Containers/TestPage/reducer.js +0 -21
  327. package/v2Containers/TestPage/sagas.js +0 -11
  328. package/v2Containers/Testv2/actions.js +0 -15
  329. package/v2Containers/Testv2/constants.js +0 -7
  330. package/v2Containers/Testv2/index.js +0 -47
  331. package/v2Containers/Testv2/messages.js +0 -21
  332. package/v2Containers/Testv2/reducer.js +0 -23
  333. package/v2Containers/Testv2/sagas.js +0 -11
  334. package/v2Containers/Testv2/selectors.js +0 -25
@@ -94,8 +94,8 @@ export default defineMessages({
94
94
  id: `${scope}.editButton`,
95
95
  defaultMessage: "Edit",
96
96
  },
97
- "whatsappOverview": {
98
- id: `${scope}.whatsappOverview`,
97
+ "overview": {
98
+ id: `${scope}.overview`,
99
99
  defaultMessage: "Overview",
100
100
  },
101
101
  "duplicateButton": {
@@ -126,6 +126,10 @@ export default defineMessages({
126
126
  id: `${scope}.noAccountsPresent`,
127
127
  defaultMessage: "Push notifications are not setup for your brand",
128
128
  },
129
+ "noAccountsPresentInApp": {
130
+ id: `${scope}.noAccountsPresentInApp`,
131
+ defaultMessage: "In app message are not setup for your brand",
132
+ },
129
133
  "noAccountsPresentWeChat": {
130
134
  id: `${scope}.noAccountsPresentWeChat`,
131
135
  defaultMessage: "Wechat accounts are not setup for your brand",
@@ -326,6 +330,10 @@ export default defineMessages({
326
330
  id: `${scope}.newWhatsappTemplate`,
327
331
  defaultMessage: 'Add new Whatsapp {template}',
328
332
  },
333
+ "newInAppMessageTemplate": {
334
+ id: `${scope}.newInAppMessageTemplate`,
335
+ defaultMessage: 'Add new In app message {template}',
336
+ },
329
337
  "newNotificationTemplate": {
330
338
  id: `${scope}.newNotificationTemplate`,
331
339
  defaultMessage: 'New notification {template}',
@@ -346,22 +354,38 @@ export default defineMessages({
346
354
  id: `${scope}.whatsappDescIllustration`,
347
355
  defaultMessage: 'These templates can be reused when creating a\nnew message content.',
348
356
  },
349
- "noFilteredWhatsappTemplatesTitle": {
350
- id: `${scope}.noFilteredWhatsappTemplatesTitle`,
357
+ "zaloTitleIllustration": {
358
+ id: `${scope}.zaloTitleIllustration`,
359
+ defaultMessage: 'There are no approved templates available',
360
+ },
361
+ "zaloDescIllustration": {
362
+ id: `${scope}.zaloDescIllustration`,
363
+ defaultMessage: 'You can create new templates on the Zalo platform and once they’re approved, you can view them here',
364
+ },
365
+ "noFilteredWhatsappZaloTemplatesTitle": {
366
+ id: `${scope}.noFilteredWhatsappZaloTemplatesTitle`,
351
367
  defaultMessage: 'Sorry, we couldn’t find any matches',
352
368
  },
353
- "noFilteredWhatsappTemplatesDesc": {
354
- id: `${scope}.noFilteredWhatsappTemplatesDesc`,
369
+ "noFilteredWhatsappZaloTemplatesDesc": {
370
+ id: `${scope}.noFilteredWhatsappZaloTemplatesDesc`,
355
371
  defaultMessage: 'Please try searching with another term or apply different filter',
356
372
  },
357
- "noApprovedWhatsappTemplatesTitle": {
358
- id: `${scope}.noApprovedWhatsappTemplatesTitle`,
373
+ "noApprovedWhatsappZaloTemplatesTitle": {
374
+ id: `${scope}.noApprovedWhatsappZaloTemplatesTitle`,
359
375
  defaultMessage: 'Sorry, we couldn’t find any approved templates',
360
376
  },
361
377
  "noApprovedWhatsappTemplatesDesc": {
362
378
  id: `${scope}.noApprovedWhatsappTemplatesDesc`,
363
379
  defaultMessage: 'Please try creating a new template, once it is approved by Whatsapp it will be available here',
364
380
  },
381
+ "inAppTitleIllustration": {
382
+ id: `${scope}.inAppTitleIllustration`,
383
+ defaultMessage: 'There are no templates available',
384
+ },
385
+ "inAppDescIllustration": {
386
+ id: `${scope}.inAppDescIllustration`,
387
+ defaultMessage: 'You can create new templates on the In app message platform and once they’re created successfully, you can view them here',
388
+ },
365
389
  "smsTitleIllustartion": {
366
390
  id: `${scope}.smsTitleIllustartion`,
367
391
  defaultMessage: 'Create an SMS {template}',
@@ -386,6 +410,10 @@ export default defineMessages({
386
410
  id: `${scope}.mobilepushAccount`,
387
411
  defaultMessage: 'Mobilepush account',
388
412
  },
413
+ "inappAccount": {
414
+ id: `${scope}.inappAccount`,
415
+ defaultMessage: 'In app message account',
416
+ },
389
417
  "lineAccount": {
390
418
  id: `${scope}.lineAccount`,
391
419
  defaultMessage: 'Line account',
@@ -394,6 +422,10 @@ export default defineMessages({
394
422
  id: `${scope}.whatsappAccount`,
395
423
  defaultMessage: 'Whatsapp account',
396
424
  },
425
+ "zaloAccount": {
426
+ id: `${scope}.zaloAccount`,
427
+ defaultMessage: 'Zalo account',
428
+ },
397
429
  "all": {
398
430
  id: `${scope}.all`,
399
431
  defaultMessage: 'All',
@@ -422,6 +454,10 @@ export default defineMessages({
422
454
  id: `${scope}.noAccountsPresentFacebook`,
423
455
  defaultMessage: "Please setup the Facebook account & Facebook page to start creating content in Capillary's FB content creator.",
424
456
  },
457
+ "noAccountsPresentZalo": {
458
+ id: `${scope}.noAccountsPresentZalo`,
459
+ defaultMessage: "Zalo accounts are not setup for your brand",
460
+ },
425
461
  "promotional": {
426
462
  id: `${scope}.promotional`,
427
463
  defaultMessage: 'Promotional',
@@ -482,4 +518,12 @@ export default defineMessages({
482
518
  id: `${scope}.copyOf`,
483
519
  defaultMessage: 'Copy of',
484
520
  },
521
+ "zaloPreview": {
522
+ id: `${scope}.zaloPreview`,
523
+ defaultMessage: 'Open preview in new tab',
524
+ },
525
+ "zaloOnlyApprovedTemplates": {
526
+ id: `${scope}.zaloOnlyApprovedTemplates`,
527
+ defaultMessage: 'Only enabled/approved templates are shown here',
528
+ },
485
529
  });
@@ -7,7 +7,7 @@
7
7
  import { fromJS } from 'immutable';
8
8
  import * as types from './constants';
9
9
 
10
- const initialState = fromJS({
10
+ export const initialState = fromJS({
11
11
  getAllTemplatesInProgress: false,
12
12
  fetchedOrgLevelCampaignSettings: true,
13
13
  templates: [],
@@ -88,6 +88,8 @@ function templatesReducer(state = initialState, action) {
88
88
  return state.set('selectedViberAccount', fromJS(action.viberAccount));
89
89
  case types.SET_WHATSAPP_ACCOUNT:
90
90
  return state.set('selectedWhatsappAccount', fromJS(action.account));
91
+ case types.SET_ZALO_ACCOUNT:
92
+ return state.set('selectedZaloAccount', fromJS(action.account));
91
93
  case types.SET_RCS_ACCOUNT:
92
94
  return state.set('selectedRcsAccount', fromJS(action.account));
93
95
  case types.SET_FACEBOOK_ACCOUNT:
@@ -1,10 +1,10 @@
1
- import { call, put, takeLatest, take, cancel, select } from 'redux-saga/effects';
2
- import { LOCATION_CHANGE } from 'react-router-redux';
1
+ import get from 'lodash/get';
2
+ import { call, put, takeLatest, select, all } from 'redux-saga/effects';
3
3
  // import { schema, normalize } from 'normalizr';
4
4
  import * as Api from '../../services/api';
5
5
  import * as types from './constants';
6
6
  import { saveCdnConfigs, removeAllCdnLocalStorageItems } from '../../utils/cdnTransformation';
7
-
7
+ import { COPY_OF } from '../../containers/App/constants';
8
8
  // Individual exports for testing
9
9
  export function* getAllTemplates(channel, queryParams) {
10
10
  try {
@@ -20,6 +20,13 @@ export function* getAllTemplates(channel, queryParams) {
20
20
  } else if (channel.channel === 'wechat' && channel.queryParams && channel.queryParams.sortBy && channel.queryParams.sortBy.toLocaleLowerCase() === ("Alphabetically").toLocaleLowerCase()) {
21
21
  channelTemplates.templates.sort((a, b) => b.name - a.name);
22
22
  }
23
+ // Update the "name" property in each template
24
+ if (channel.intlCopyOf && channelTemplates?.templates) {
25
+ channelTemplates.templates = channelTemplates.templates.map((template) => ({
26
+ ...template,
27
+ name: template.name.replace(new RegExp(COPY_OF, 'g'), channel.intlCopyOf),
28
+ }));
29
+ }
23
30
  yield put({ type: types.GET_ALL_TEMPLATES_SUCCESS, data: channelTemplates, weCRMTemplate: result.response.unMapped, isReset: channel.queryParams.page === 1 });
24
31
  } catch (error) {
25
32
  yield put({ type: types.GET_ALL_TEMPLATES_FAILURE, error });
@@ -102,14 +109,13 @@ export function* getCdnTransformationConfig() {
102
109
  }
103
110
 
104
111
  export function* watchGetOrgLevelCampaignSettings() {
105
- const watcher = yield takeLatest(
112
+ yield takeLatest(
106
113
  types.GET_ORG_LEVEL_CAMPAIGN_SETTINGS_REQUEST,
107
114
  getOrgLevelCampaignSettings,
108
115
  );
109
- yield take(LOCATION_CHANGE);
110
116
  const store = yield select();
111
117
  if (!store.getIn(['router', 'location', 'pathname']).includes('/settings/')) {
112
- yield cancel(watcher);
118
+
113
119
  }
114
120
  }
115
121
 
@@ -121,9 +127,7 @@ export function* sendZippedFile({selectedFile, errorHandler, successHandler}) {
121
127
  errorMessage = result.message;
122
128
  yield errorHandler(errorMessage);
123
129
  }
124
-
125
-
126
- console.log("Got decoded result", decodeURIComponent(result.response.metaEntity.htmlContent));
130
+
127
131
  yield [
128
132
  put({
129
133
  type: types.SEND_ZIPPED_FILE_SUCCESS,
@@ -144,7 +148,6 @@ export function* sendZippedFile({selectedFile, errorHandler, successHandler}) {
144
148
 
145
149
  export function* getDefaultBeeTemplates() {
146
150
  try {
147
-
148
151
  const result = yield call(Api.getDefaultBeeTemplates);
149
152
  const edmTemplates = result.response;
150
153
  yield put({ type: types.GET_DEAFULT_BEE_TEMPLATES_SUCCESS, data: edmTemplates });
@@ -155,7 +158,6 @@ export function* getDefaultBeeTemplates() {
155
158
 
156
159
  export function* getTemplateDetails(id, channel) {
157
160
  try {
158
-
159
161
  const result = yield call(Api.getTemplateDetails, id, channel);
160
162
  // const sidebar = result.response.sidebar;
161
163
  yield put({ type: types.GET_TEMPLATE_DETAILS_SUCCESS, data: result.response });
@@ -173,7 +175,7 @@ export function* getSenderDetails({
173
175
  if (!apiResponse?.errors?.length) {
174
176
  yield put({
175
177
  type: types.GET_SENDER_DETAILS_SUCCESS,
176
- payload: apiResponse?.entity?.WHATSAPP[0]?.domainProperties?.hostName || '',
178
+ payload: get(apiResponse, `entity.${channel}[0].domainProperties.hostName`, ''),
177
179
  });
178
180
  } else {
179
181
  yield put({
@@ -189,53 +191,52 @@ export function* getSenderDetails({
189
191
  }
190
192
  }
191
193
 
192
- function* watchGetAllTemplates() {
193
- const watcher = yield takeLatest(types.GET_ALL_TEMPLATES_REQUEST, getAllTemplates);
194
- yield take(LOCATION_CHANGE);
195
- yield cancel(watcher);
194
+ export function* watchGetAllTemplates() {
195
+ yield takeLatest(types.GET_ALL_TEMPLATES_REQUEST, getAllTemplates);
196
+
197
+
196
198
  }
197
199
 
198
200
  function* watchDeleteTemplate() {
199
- const watcher = yield takeLatest(types.DELETE_TEMPLATE_REQUEST, deleteTemplate);
200
- yield take(LOCATION_CHANGE);
201
- yield cancel(watcher);
201
+ yield takeLatest(types.DELETE_TEMPLATE_REQUEST, deleteTemplate);
202
+
203
+
202
204
  }
203
205
 
204
206
  function* watchGetUserList() {
205
- const watcher = yield takeLatest(types.GET_USER_LIST_REQUEST, fetchUserList);
206
- yield take(LOCATION_CHANGE);
207
- yield cancel(watcher);
207
+ yield takeLatest(types.GET_USER_LIST_REQUEST, fetchUserList);
208
+
209
+
208
210
  }
209
211
 
210
212
  function* watchFetchWeCrmAccounts() {
213
+ yield takeLatest(types.GET_WECRM_ACCOUNTS_REQUEST, fetchWeCrmAccounts);
214
+
211
215
 
212
- const watcher = yield takeLatest(types.GET_WECRM_ACCOUNTS_REQUEST, fetchWeCrmAccounts);
213
- yield take(LOCATION_CHANGE);
214
- yield cancel(watcher);
215
216
  }
216
217
 
217
218
  function* watchSendingFile() {
218
- const watcher = yield takeLatest(types.SEND_ZIPPED_FILE_REQUEST, sendZippedFile);
219
- yield take(LOCATION_CHANGE);
220
- yield cancel(watcher);
219
+ yield takeLatest(types.SEND_ZIPPED_FILE_REQUEST, sendZippedFile);
220
+
221
+
221
222
  }
222
223
 
223
224
  function* watchGetDefaultBeeTemplates() {
224
- const watcher = yield takeLatest(types.GET_DEAFULT_BEE_TEMPLATES_REQUEST, getDefaultBeeTemplates);
225
- yield take(LOCATION_CHANGE);
226
- yield cancel(watcher);
225
+ yield takeLatest(types.GET_DEAFULT_BEE_TEMPLATES_REQUEST, getDefaultBeeTemplates);
226
+
227
+
227
228
  }
228
229
 
229
230
  function* watchGetTemplateDetails() {
230
- const watcher = yield takeLatest(types.GET_TEMPLATE_DETAILS_REQUEST, getTemplateDetails);
231
- yield take(LOCATION_CHANGE);
232
- yield cancel(watcher);
231
+ yield takeLatest(types.GET_TEMPLATE_DETAILS_REQUEST, getTemplateDetails);
232
+
233
+
233
234
  }
234
235
 
235
236
  function* watchGetSenderDetails() {
236
- const watcher = yield takeLatest(types.GET_SENDER_DETAILS_REQUEST, getSenderDetails);
237
- yield take(LOCATION_CHANGE);
238
- yield cancel(watcher);
237
+ yield takeLatest(types.GET_SENDER_DETAILS_REQUEST, getSenderDetails);
238
+
239
+
239
240
  }
240
241
 
241
242
  export function* watchGetCdnTransformationConfig() {
@@ -256,5 +257,20 @@ export default [
256
257
  watchGetTemplateDetails,
257
258
  watchGetOrgLevelCampaignSettings,
258
259
  watchGetSenderDetails,
259
- watchGetCdnTransformationConfig
260
+ watchGetCdnTransformationConfig,
260
261
  ];
262
+
263
+ export function* v2TemplateSaga() {
264
+ yield all([
265
+ watchGetAllTemplates(),
266
+ watchDeleteTemplate(),
267
+ watchGetUserList(),
268
+ watchFetchWeCrmAccounts(),
269
+ watchSendingFile(),
270
+ watchGetDefaultBeeTemplates(),
271
+ watchGetTemplateDetails(),
272
+ watchGetOrgLevelCampaignSettings(),
273
+ watchGetSenderDetails(),
274
+ watchGetCdnTransformationConfig(),
275
+ ]);
276
+ }