@capillarytech/creatives-library 8.0.159 → 8.0.161

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 (312) hide show
  1. package/components/BreadCrumbs/index.js +65 -0
  2. package/components/BreadCrumbs/messages.js +13 -0
  3. package/components/CapTagList/index.js +235 -0
  4. package/components/CapTagList/messages.js +45 -0
  5. package/components/Card/_customCard.scss +40 -0
  6. package/components/Card/index.js +78 -0
  7. package/components/Card/tests/__snapshots__/index.test.js.snap +22 -0
  8. package/components/Card/tests/index.test.js +20 -0
  9. package/components/CardGrid/index.js +71 -0
  10. package/components/Ckeditor/index.js +238 -0
  11. package/components/Ckeditor/messages.js +13 -0
  12. package/components/Ckeditor/style.scss +3 -0
  13. package/components/Component/index.js +29 -0
  14. package/components/CustomPopOver/index.js +81 -0
  15. package/components/CustomPopOver/messages.js +17 -0
  16. package/components/DateFilter/index.js +349 -0
  17. package/components/DateFilter/messages.js +57 -0
  18. package/components/DateRange/index.js +114 -0
  19. package/components/DateRange/messages.js +25 -0
  20. package/components/Edmeditor/index.js +65 -0
  21. package/components/Edmeditor/messages.js +13 -0
  22. package/components/EmailPreview/_emailPreview.scss +119 -0
  23. package/components/EmailPreview/assets/images/iPad.svg +10 -0
  24. package/components/EmailPreview/assets/images/mobile.png +0 -0
  25. package/components/EmailPreview/index.js +107 -0
  26. package/components/EmailPreview/messages.js +33 -0
  27. package/components/Footer/index.js +27 -0
  28. package/components/Footer/messages.js +13 -0
  29. package/components/FormBuilder/_formBuilder.scss +83 -0
  30. package/components/FormBuilder/index.js +3279 -0
  31. package/components/FormBuilder/messages.js +61 -0
  32. package/components/Header/index.js +44 -0
  33. package/components/Header/messages.js +29 -0
  34. package/components/ImagePreview/_imagePreview.scss +63 -0
  35. package/components/ImagePreview/index.js +52 -0
  36. package/components/ImagePreview/messages.js +17 -0
  37. package/components/PageHeader/_pageHeader.scss +22 -0
  38. package/components/PageHeader/index.js +37 -0
  39. package/components/PageHeader/messages.js +13 -0
  40. package/components/Pagination/_pagination.scss +5 -0
  41. package/components/Pagination/index.js +49 -0
  42. package/components/PreviewSideBar/_previewsidebar.scss +28 -0
  43. package/components/PreviewSideBar/index.js +152 -0
  44. package/components/PreviewSideBar/messages.js +41 -0
  45. package/components/Sidebar/_sidebar.scss +115 -0
  46. package/components/Sidebar/index.js +214 -0
  47. package/components/Sidebar/messages.js +21 -0
  48. package/components/SlideBox/_slideBox.scss +63 -0
  49. package/components/SlideBox/index.js +47 -0
  50. package/components/SlideBox/tests/index.test.js +103 -0
  51. package/components/SmsEditor/index.js +55 -0
  52. package/components/SmsTest/index.js +117 -0
  53. package/components/SmsTest/messages.js +21 -0
  54. package/components/TemplatePreview/WechatRichmediaTemplatePreview/_wechatRichmediaTemplatePrev.scss +42 -0
  55. package/components/TemplatePreview/WechatRichmediaTemplatePreview/index.js +141 -0
  56. package/components/TemplatePreview/WechatRichmediaTemplatePreview/messages.js +21 -0
  57. package/components/TemplatePreview/_templatePreview.scss +642 -0
  58. package/components/TemplatePreview/assets/images/WECHAT_5x.png +0 -0
  59. package/components/TemplatePreview/assets/images/androidPushMessage.svg +45 -0
  60. package/components/TemplatePreview/assets/images/home-screen-android.svg +21 -0
  61. package/components/TemplatePreview/assets/images/home-screen-ios.svg +16 -0
  62. package/components/TemplatePreview/assets/images/iPhonePushMessage.svg +135 -0
  63. package/components/TemplatePreview/assets/images/mobile.svg +24 -0
  64. package/components/TemplatePreview/assets/images/sms-body.png +0 -0
  65. package/components/TemplatePreview/assets/images/sms-icon.png +0 -0
  66. package/components/TemplatePreview/assets/images/sms_mobile.png +0 -0
  67. package/components/TemplatePreview/assets/images/sms_mobile_android.svg +22 -0
  68. package/components/TemplatePreview/assets/images/sms_mobile_ios.svg +16 -0
  69. package/components/TemplatePreview/assets/images/user-icon.svg +19 -0
  70. package/components/TemplatePreview/assets/images/wechat-mobile.svg +78 -0
  71. package/components/TemplatePreview/assets/images/wechat_mobile_android.svg +20 -0
  72. package/components/TemplatePreview/index.js +617 -0
  73. package/components/TemplatePreview/messages.js +78 -0
  74. package/components/Toastr/index.js +60 -0
  75. package/components/Toastr/messages.js +13 -0
  76. package/components/ToastrMessage/index.js +113 -0
  77. package/components/ToastrMessage/messages.js +17 -0
  78. package/components/TopBar/_topbar.scss +46 -0
  79. package/components/TopBar/assets/images/capillary_logo.png +0 -0
  80. package/components/TopBar/assets/images/old_capillary_logo.png +0 -0
  81. package/components/TopBar/index.js +113 -0
  82. package/components/TopBar/messages.js +29 -0
  83. package/containers/App/actions.js +7 -0
  84. package/containers/App/constants.js +114 -0
  85. package/containers/App/index.js +52 -0
  86. package/containers/App/reducer.js +19 -0
  87. package/containers/App/sagas.js +31 -0
  88. package/containers/App/selectors.js +25 -0
  89. package/containers/App/test/saga.test.js +11 -0
  90. package/containers/Assets/Gallery/_gallery.scss +126 -0
  91. package/containers/Assets/Gallery/actions.js +37 -0
  92. package/containers/Assets/Gallery/constants.js +23 -0
  93. package/containers/Assets/Gallery/index.js +473 -0
  94. package/containers/Assets/Gallery/messages.js +93 -0
  95. package/containers/Assets/Gallery/reducer.js +81 -0
  96. package/containers/Assets/Gallery/sagas.js +80 -0
  97. package/containers/Assets/Gallery/selectors.js +25 -0
  98. package/containers/Assets/Gallery/tests/__snapshots__/reducer.test.js.snap +9 -0
  99. package/containers/Assets/Gallery/tests/actions.test.js +25 -0
  100. package/containers/Assets/Gallery/tests/reducer.test.js +96 -0
  101. package/containers/Assets/Gallery/tests/saga.test.js +157 -0
  102. package/containers/Cap/actions.js +66 -0
  103. package/containers/Cap/constants.js +25 -0
  104. package/containers/Cap/index.js +402 -0
  105. package/containers/Cap/messages.js +75 -0
  106. package/containers/Cap/reducer.js +113 -0
  107. package/containers/Cap/sagas.js +159 -0
  108. package/containers/Cap/selectors.js +75 -0
  109. package/containers/Cap/tests/__snapshots__/index.test.js.snap +2270 -0
  110. package/containers/Cap/tests/index.test.js +22 -0
  111. package/containers/Cap/tests/saga.test.js +284 -0
  112. package/containers/Dashboard/actions.js +15 -0
  113. package/containers/Dashboard/constants.js +7 -0
  114. package/containers/Dashboard/index.js +76 -0
  115. package/containers/Dashboard/messages.js +13 -0
  116. package/containers/Dashboard/reducer.js +21 -0
  117. package/containers/Dashboard/sagas.js +17 -0
  118. package/containers/Dashboard/selectors.js +25 -0
  119. package/containers/Dashboard/test/saga.test.js +9 -0
  120. package/containers/Ebill/_ebill.scss +5 -0
  121. package/containers/Ebill/actions.js +43 -0
  122. package/containers/Ebill/constants.js +20 -0
  123. package/containers/Ebill/index.js +1278 -0
  124. package/containers/Ebill/messages.js +77 -0
  125. package/containers/Ebill/reducer.js +72 -0
  126. package/containers/Ebill/sagas.js +74 -0
  127. package/containers/Ebill/selectors.js +25 -0
  128. package/containers/Ebill/test/saga.test.js +11 -0
  129. package/containers/Email/_email.scss +141 -0
  130. package/containers/Email/actions.js +81 -0
  131. package/containers/Email/constants.js +36 -0
  132. package/containers/Email/index.js +3325 -0
  133. package/containers/Email/messages.js +289 -0
  134. package/containers/Email/reducer.js +142 -0
  135. package/containers/Email/sagas.js +135 -0
  136. package/containers/Email/selectors.js +31 -0
  137. package/containers/Email/test/saga.test.js +671 -0
  138. package/containers/LanguageProvider/actions.js +17 -0
  139. package/containers/LanguageProvider/constants.js +8 -0
  140. package/containers/LanguageProvider/index.js +80 -0
  141. package/containers/LanguageProvider/reducer.js +30 -0
  142. package/containers/LanguageProvider/selectors.js +20 -0
  143. package/containers/LanguageProvider/tests/actions.test.js +19 -0
  144. package/containers/LanguageProvider/tests/index.test.js +78 -0
  145. package/containers/LanguageProvider/tests/reducer.test.js +20 -0
  146. package/containers/LanguageProvider/tests/selectors.test.js +15 -0
  147. package/containers/Line/Create/_lineCreate.scss +54 -0
  148. package/containers/Line/Create/actions.js +90 -0
  149. package/containers/Line/Create/constants.js +39 -0
  150. package/containers/Line/Create/index.js +836 -0
  151. package/containers/Line/Create/messages.js +189 -0
  152. package/containers/Line/Create/reducer.js +99 -0
  153. package/containers/Line/Create/sagas.js +121 -0
  154. package/containers/Line/Create/selectors.js +36 -0
  155. package/containers/Line/Create/tests/saga.test.js +202 -0
  156. package/containers/Line/Edit/_lineEdit.scss +35 -0
  157. package/containers/Line/Edit/actions.js +79 -0
  158. package/containers/Line/Edit/constants.js +27 -0
  159. package/containers/Line/Edit/index.js +1050 -0
  160. package/containers/Line/Edit/messages.js +177 -0
  161. package/containers/Line/Edit/reducer.js +83 -0
  162. package/containers/Line/Edit/sagas.js +80 -0
  163. package/containers/Line/Edit/selectors.js +29 -0
  164. package/containers/Line/Edit/test/saga.test.js +160 -0
  165. package/containers/Login/assets/images/capillary_logo.png +0 -0
  166. package/containers/Login/components/LoginForm/index.js +62 -0
  167. package/containers/Login/components/LoginForm/messages.js +33 -0
  168. package/containers/Login/index.js +130 -0
  169. package/containers/Login/messages.js +25 -0
  170. package/containers/Login/selectors.js +25 -0
  171. package/containers/MobilePush/Create/_mobilePushCreate.scss +39 -0
  172. package/containers/MobilePush/Create/actions.js +46 -0
  173. package/containers/MobilePush/Create/constants.js +23 -0
  174. package/containers/MobilePush/Create/index.js +2303 -0
  175. package/containers/MobilePush/Create/messages.js +269 -0
  176. package/containers/MobilePush/Create/reducer.js +70 -0
  177. package/containers/MobilePush/Create/sagas.js +74 -0
  178. package/containers/MobilePush/Create/selectors.js +28 -0
  179. package/containers/MobilePush/Create/test/saga.test.js +19 -0
  180. package/containers/MobilePush/Edit/_mobilePushCreate.scss +39 -0
  181. package/containers/MobilePush/Edit/actions.js +91 -0
  182. package/containers/MobilePush/Edit/constants.js +35 -0
  183. package/containers/MobilePush/Edit/index.js +2601 -0
  184. package/containers/MobilePush/Edit/messages.js +266 -0
  185. package/containers/MobilePush/Edit/reducer.js +112 -0
  186. package/containers/MobilePush/Edit/sagas.js +126 -0
  187. package/containers/MobilePush/Edit/selectors.js +29 -0
  188. package/containers/MobilePush/Edit/tests/saga.test.js +255 -0
  189. package/containers/NotFoundPage/index.js +25 -0
  190. package/containers/NotFoundPage/messages.js +13 -0
  191. package/containers/NotFoundPage/tests/index.test.js +17 -0
  192. package/containers/Sms/Create/_smsCreate.scss +42 -0
  193. package/containers/Sms/Create/actions.js +27 -0
  194. package/containers/Sms/Create/constants.js +16 -0
  195. package/containers/Sms/Create/index.js +1488 -0
  196. package/containers/Sms/Create/messages.js +109 -0
  197. package/containers/Sms/Create/reducer.js +41 -0
  198. package/containers/Sms/Create/sagas.js +40 -0
  199. package/containers/Sms/Create/selectors.js +28 -0
  200. package/containers/Sms/Create/test/saga.test.js +11 -0
  201. package/containers/Sms/Edit/actions.js +40 -0
  202. package/containers/Sms/Edit/constants.js +17 -0
  203. package/containers/Sms/Edit/index.js +1472 -0
  204. package/containers/Sms/Edit/messages.js +105 -0
  205. package/containers/Sms/Edit/reducer.js +50 -0
  206. package/containers/Sms/Edit/sagas.js +60 -0
  207. package/containers/Sms/Edit/selectors.js +32 -0
  208. package/containers/Sms/Edit/test/saga.test.js +13 -0
  209. package/containers/TagList/_tagList.scss +8 -0
  210. package/containers/TagList/actions.js +15 -0
  211. package/containers/TagList/constants.js +32 -0
  212. package/containers/TagList/index.js +236 -0
  213. package/containers/TagList/messages.js +13 -0
  214. package/containers/TagList/reducer.js +23 -0
  215. package/containers/TagList/sagas.js +11 -0
  216. package/containers/TagList/selectors.js +25 -0
  217. package/containers/Templates/_templates.scss +333 -0
  218. package/containers/Templates/actions.js +103 -0
  219. package/containers/Templates/constants.js +60 -0
  220. package/containers/Templates/index.js +1756 -0
  221. package/containers/Templates/messages.js +337 -0
  222. package/containers/Templates/reducer.js +142 -0
  223. package/containers/Templates/sagas.js +163 -0
  224. package/containers/Templates/selectors.js +28 -0
  225. package/containers/Templates/test/saga.test.js +241 -0
  226. package/containers/WeChat/MapTemplates/_mapTemplates.scss +8 -0
  227. package/containers/WeChat/MapTemplates/actions.js +52 -0
  228. package/containers/WeChat/MapTemplates/constants.js +28 -0
  229. package/containers/WeChat/MapTemplates/index.js +1610 -0
  230. package/containers/WeChat/MapTemplates/messages.js +157 -0
  231. package/containers/WeChat/MapTemplates/reducer.js +74 -0
  232. package/containers/WeChat/MapTemplates/sagas.js +84 -0
  233. package/containers/WeChat/MapTemplates/selectors.js +25 -0
  234. package/containers/WeChat/MapTemplates/test/saga.test.js +155 -0
  235. package/containers/WeChat/RichmediaTemplates/Create/_createRichmedia.scss +57 -0
  236. package/containers/WeChat/RichmediaTemplates/Create/actions.js +36 -0
  237. package/containers/WeChat/RichmediaTemplates/Create/constants.js +15 -0
  238. package/containers/WeChat/RichmediaTemplates/Create/index.js +1071 -0
  239. package/containers/WeChat/RichmediaTemplates/Create/messages.js +165 -0
  240. package/containers/WeChat/RichmediaTemplates/Create/reducer.js +60 -0
  241. package/containers/WeChat/RichmediaTemplates/Create/richmediaschema.js +497 -0
  242. package/containers/WeChat/RichmediaTemplates/Create/sagas.js +51 -0
  243. package/containers/WeChat/RichmediaTemplates/Create/selectors.js +37 -0
  244. package/containers/WeChat/RichmediaTemplates/Create/test/saga.test.js +13 -0
  245. package/containers/WeChat/RichmediaTemplates/Edit/actions.js +20 -0
  246. package/containers/WeChat/RichmediaTemplates/Edit/constants.js +10 -0
  247. package/containers/WeChat/RichmediaTemplates/Edit/index.js +136 -0
  248. package/containers/WeChat/RichmediaTemplates/Edit/messages.js +13 -0
  249. package/containers/WeChat/RichmediaTemplates/Edit/reducer.js +28 -0
  250. package/containers/WeChat/RichmediaTemplates/Edit/sagas.js +36 -0
  251. package/containers/WeChat/RichmediaTemplates/Edit/selectors.js +30 -0
  252. package/containers/WeChat/RichmediaTemplates/Edit/test/saga.test.js +12 -0
  253. package/containers/WeChat/RichmediaTemplates/View/actions.js +15 -0
  254. package/containers/WeChat/RichmediaTemplates/View/constants.js +7 -0
  255. package/containers/WeChat/RichmediaTemplates/View/index.js +47 -0
  256. package/containers/WeChat/RichmediaTemplates/View/messages.js +21 -0
  257. package/containers/WeChat/RichmediaTemplates/View/reducer.js +23 -0
  258. package/containers/WeChat/RichmediaTemplates/View/sagas.js +11 -0
  259. package/containers/WeChat/RichmediaTemplates/View/selectors.js +25 -0
  260. package/index.js +2 -4
  261. package/package.json +1 -1
  262. package/routes.js +202 -136
  263. package/services/getSchema.js +1 -1
  264. package/services/localStorageApi.js +0 -1
  265. package/tests/i18n.test.js +1 -1
  266. package/utils/asyncInjectors.js +78 -0
  267. package/utils/authWrapper.js +1 -1
  268. package/utils/callNativeEvent.js +16 -0
  269. package/utils/checkStore.js +21 -0
  270. package/utils/common.js +2 -2
  271. package/utils/customAuthWrapper.js +62 -0
  272. package/utils/customConnectedAuthWrapper.js +26 -0
  273. package/utils/tagValidations.js +1 -1
  274. package/utils/tests/authWrapper.test.js +1 -1
  275. package/utils/tests/checkStore.test.js +1 -1
  276. package/utils/tests/customAuth.test.js +1 -1
  277. package/utils/transformerUtils.js +1 -1
  278. package/v2Components/CapTagList/index.js +14 -9
  279. package/v2Components/Carousel/style.scss +1 -1
  280. package/v2Components/CustomerSearchSection/index.js +83 -79
  281. package/v2Components/EmailMobilePreview/index.js +2 -2
  282. package/v2Components/EmailPreview/_emailPreview.scss +1 -0
  283. package/v2Components/EmailPreviewV2/_emailPreviewV2.scss +1 -0
  284. package/v2Components/FormBuilder/index.js +80 -55
  285. package/v2Components/TemplatePreview/index.js +1 -2
  286. package/v2Components/TestAndPreviewSlidebox/PreviewSection.js +1 -1
  287. package/v2Components/TestAndPreviewSlidebox/SendTestMessage.js +1 -1
  288. package/v2Components/TestAndPreviewSlidebox/_testAndPreviewSlidebox.scss +2 -1
  289. package/v2Components/TestAndPreviewSlidebox/index.js +223 -22
  290. package/v2Components/TestAndPreviewSlidebox/reducer.js +15 -6
  291. package/v2Components/TestAndPreviewSlidebox/sagas.js +24 -3
  292. package/v2Components/TestAndPreviewSlidebox/tests/PreviewSection.test.js +1 -1
  293. package/v2Components/TestAndPreviewSlidebox/tests/reducer.test.js +21 -5
  294. package/v2Components/TestAndPreviewSlidebox/tests/saga.test.js +20 -5
  295. package/v2Containers/Cap/tests/saga.test.js +1 -1
  296. package/v2Containers/CreativesContainer/SlideBoxContent.js +9 -3
  297. package/v2Containers/CreativesContainer/index.js +22 -15
  298. package/v2Containers/CreativesContainer/tests/SlideBoxContent.test.js +599 -1
  299. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +1941 -0
  300. package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +5 -0
  301. package/v2Containers/Email/index.js +116 -32
  302. package/v2Containers/EmailWrapper/hooks/useEmailWrapper.js +3 -0
  303. package/v2Containers/EmailWrapper/index.js +6 -0
  304. package/v2Containers/FTP/index.js +1 -1
  305. package/v2Containers/Line/Container/Text/index.js +1 -1
  306. package/v2Containers/Sms/Create/index.js +1 -1
  307. package/v2Containers/Sms/Edit/index.js +1 -1
  308. package/v2Containers/TagList/index.js +1 -1
  309. package/v2Containers/TagList/utils.js +1 -1
  310. package/v2Containers/Templates/index.js +1 -1
  311. package/v2Containers/Templates/sagas.js +1 -1
  312. package/constants/unified.js +0 -189
@@ -103,6 +103,7 @@ export class Creatives extends React.Component {
103
103
  activeFormBuilderTab: constants.ANDROID,
104
104
  // NEW: Test and Preview feature state
105
105
  showTestAndPreviewSlidebox: false,
106
+ isTestAndPreviewMode: false, // Add flag to track Test & Preview mode
106
107
  };
107
108
  this.liquidFlow = Boolean(commonUtil.hasLiquidSupportFeature());
108
109
  this.creativesTemplateSteps = {
@@ -877,7 +878,7 @@ export class Creatives extends React.Component {
877
878
  const { Templates, templateData: templateDataProps } = this.props;
878
879
  const selectedWhatsappAccount = Templates?.selectedWhatsappAccount;
879
880
  const { accountDetails: selectedAccountDetails, accountId: selectedAccountId } = templateDataProps || {};
880
- const accountDetails = (selectedWhatsappAccount ? selectedWhatsappAccount : selectedAccountDetails);
881
+ const accountDetails = (selectedWhatsappAccount || selectedAccountDetails);
881
882
  const accountId = selectedAccountId || (selectedWhatsappAccount?.id || '');
882
883
  const { versions } = template.value;
883
884
  const {
@@ -917,13 +918,12 @@ export class Creatives extends React.Component {
917
918
  //to send {{unsubscribe}} to backend inside varMapped
918
919
  const unsubscribeRegex = /Click {{unsubscribe}} to unsubscribe/g;
919
920
  if (
920
- languages[0].content?.match(unsubscribeRegex)?.length > 0 &&
921
- Object.keys(varMapped)?.every(
921
+ languages[0].content?.match(unsubscribeRegex)?.length > 0
922
+ && Object.keys(varMapped)?.every(
922
923
  (key) => !key?.includes("_unsubscribe")
923
924
  )
924
925
  ) {
925
- varMapped[`{{${Object.keys(varMapped).length + 1}}}_unsubscribe`] =
926
- "{{unsubscribe}}";
926
+ varMapped[`{{${Object.keys(varMapped).length + 1}}}_unsubscribe`] = "{{unsubscribe}}";
927
927
  }
928
928
  const whatsappMedia = {
929
929
  header,
@@ -1255,14 +1255,21 @@ export class Creatives extends React.Component {
1255
1255
  this.setState({ isDiscardMessage: true });
1256
1256
  }
1257
1257
 
1258
+
1258
1259
  // NEW: Handler for Test and Preview button
1259
1260
  handleTestAndPreview = () => {
1260
- this.setState({ showTestAndPreviewSlidebox: true });
1261
+ this.setState({
1262
+ showTestAndPreviewSlidebox: true,
1263
+ isTestAndPreviewMode: true, // Set flag to prevent validation
1264
+ });
1261
1265
  }
1262
1266
 
1263
1267
  // NEW: Handler to close Test and Preview slidebox
1264
1268
  handleCloseTestAndPreview = () => {
1265
- this.setState({ showTestAndPreviewSlidebox: false });
1269
+ this.setState({
1270
+ showTestAndPreviewSlidebox: false,
1271
+ isTestAndPreviewMode: false, // Reset flag when closing
1272
+ });
1266
1273
  }
1267
1274
 
1268
1275
  shouldShowFooter = () => {
@@ -1300,8 +1307,8 @@ export class Creatives extends React.Component {
1300
1307
  }
1301
1308
  if (channel === constants.MOBILE_PUSH
1302
1309
  && ((slidBoxContent === 'createTemplate' && !isEmpty(mobilePushCreateMode))
1303
- || (slidBoxContent === 'editTemplate' && (currentStep === 'modeSelection' || isFullMode))) &&
1304
- templateNameExists) {
1310
+ || (slidBoxContent === 'editTemplate' && (currentStep === 'modeSelection' || isFullMode)))
1311
+ && templateNameExists) {
1305
1312
  showFooter = true;
1306
1313
  }
1307
1314
 
@@ -1312,8 +1319,8 @@ export class Creatives extends React.Component {
1312
1319
  }
1313
1320
 
1314
1321
  if (showFooter) {
1315
- if (slidBoxContent === "createTemplate" && ((channel === constants.EMAIL && currentStep === 'createTemplateContent') ||
1316
- ([constants.SMS, constants.WECHAT].includes(channel) && currentStep === 'modeSelection'))) {
1322
+ if (slidBoxContent === "createTemplate" && ((channel === constants.EMAIL && currentStep === 'createTemplateContent')
1323
+ || ([constants.SMS, constants.WECHAT].includes(channel) && currentStep === 'modeSelection'))) {
1317
1324
  showFooter = showFooter && !this.state.isLoadingContent;
1318
1325
  } else if (slidBoxContent === "editTemplate"
1319
1326
  && ([constants.SMS, constants.WECHAT, constants.EMAIL].includes(channel)
@@ -1378,7 +1385,7 @@ export class Creatives extends React.Component {
1378
1385
  onBlur={() => { this.setState({ isEditName: false }, () => { this.showTemplateName({ formData, onFormDataChange }); }); }}
1379
1386
  onChange={(ev) => {
1380
1387
  const { value } = ev.currentTarget;
1381
- const isEmptyTemplateName = value.trim() ? false : true;
1388
+ const isEmptyTemplateName = !value.trim();
1382
1389
 
1383
1390
  const newFormData = { ...formData, 'template-name': value, 'isTemplateNameEdited': true };
1384
1391
  this.setState({ isTemplateNameEmpty: isEmptyTemplateName });
@@ -1405,7 +1412,6 @@ export class Creatives extends React.Component {
1405
1412
  }
1406
1413
 
1407
1414
  showLiquidErrorInFooter = (errorMessagesFromFormBuilder, currentFormBuilderTab) => {
1408
-
1409
1415
  this.setState({
1410
1416
  isLiquidValidationError: !isEmpty(get(errorMessagesFromFormBuilder, constants.LIQUID_ERROR_MSG, [])) || !isEmpty(get(errorMessagesFromFormBuilder, constants.STANDARD_ERROR_MSG, [])),
1411
1417
  liquidErrorMessage: errorMessagesFromFormBuilder,
@@ -1476,6 +1482,7 @@ export class Creatives extends React.Component {
1476
1482
  liquidErrorMessage,
1477
1483
  activeFormBuilderTab,
1478
1484
  showTestAndPreviewSlidebox,
1485
+ isTestAndPreviewMode,
1479
1486
  } = this.state;
1480
1487
  const {
1481
1488
  isFullMode,
@@ -1498,8 +1505,7 @@ export class Creatives extends React.Component {
1498
1505
  isLoyaltyModule,
1499
1506
  loyaltyMetaData = {},
1500
1507
  } = this.props;
1501
- const mapTemplateCreate =
1502
- slidBoxContent === "createTemplate"
1508
+ const mapTemplateCreate = slidBoxContent === "createTemplate"
1503
1509
  && weChatTemplateType === MAP_TEMPLATE
1504
1510
  && templateStep !== "modeSelection";
1505
1511
  const slideBoxWrapperMargin = (get(liquidErrorMessage, 'STANDARD_ERROR_MSG.length', 0) > 0 && get(liquidErrorMessage, 'LIQUID_ERROR_MSG.length', 0) > 0)
@@ -1606,6 +1612,7 @@ export class Creatives extends React.Component {
1606
1612
  showTestAndPreviewSlidebox={showTestAndPreviewSlidebox}
1607
1613
  handleTestAndPreview={this.handleTestAndPreview}
1608
1614
  handleCloseTestAndPreview={this.handleCloseTestAndPreview}
1615
+ isTestAndPreviewMode={(() => this.state.isTestAndPreviewMode)()}
1609
1616
  />
1610
1617
  )}
1611
1618
  footer={this.shouldShowFooter() ? (