@capillarytech/creatives-library 7.17.35-alpha.2 → 7.17.36

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 (48) hide show
  1. package/containers/Templates/actions.js +0 -5
  2. package/index.js +6 -0
  3. package/package.json +1 -1
  4. package/routes.js +5 -0
  5. package/services/api.js +6 -1
  6. package/utils/common.js +0 -5
  7. package/v2Components/CapTagList/index.js +4 -0
  8. package/v2Components/WhatsappStatusContainer/_whatsappStatusContainer.scss +2 -1
  9. package/v2Containers/App/constants.js +1 -0
  10. package/v2Containers/CreativesContainer/SlideBoxContent.js +13 -0
  11. package/v2Containers/CreativesContainer/SlideBoxHeader.js +9 -6
  12. package/v2Containers/CreativesContainer/constants.js +1 -0
  13. package/v2Containers/CreativesContainer/index.scss +3 -0
  14. package/v2Containers/CreativesContainer/messages.js +8 -0
  15. package/v2Containers/CreativesContainer/tests/SlideBoxHeader.test.js +6 -1
  16. package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxHeader.test.js.snap +58 -0
  17. package/v2Containers/Line/Container/Wrapper/tests/__snapshots__/index.test.js.snap +18114 -88
  18. package/v2Containers/Templates/_templates.scss +20 -2
  19. package/v2Containers/Templates/actions.js +4 -3
  20. package/v2Containers/Templates/constants.js +2 -1
  21. package/v2Containers/Templates/index.js +319 -120
  22. package/v2Containers/Templates/messages.js +28 -8
  23. package/v2Containers/Templates/reducer.js +3 -1
  24. package/v2Containers/Templates/sagas.js +2 -2
  25. package/v2Containers/Templates/tests/__snapshots__/index.test.js.snap +724 -43
  26. package/v2Containers/Templates/tests/actions.test.js +18 -0
  27. package/v2Containers/Templates/tests/index.test.js +52 -1
  28. package/v2Containers/Templates/tests/mockData.js +41 -1
  29. package/v2Containers/Templates/tests/reducer.test.js +50 -0
  30. package/v2Containers/Templates/tests/sagas.test.js +40 -2
  31. package/v2Containers/Templates/tests/selector.test.js +17 -0
  32. package/v2Containers/TemplatesV2/index.js +2 -2
  33. package/v2Containers/TemplatesV2/messages.js +4 -0
  34. package/v2Containers/Zalo/actions.js +17 -0
  35. package/v2Containers/Zalo/constants.js +57 -0
  36. package/v2Containers/Zalo/index.js +391 -0
  37. package/v2Containers/Zalo/index.scss +76 -0
  38. package/v2Containers/Zalo/messages.js +74 -0
  39. package/v2Containers/Zalo/reducer.js +57 -0
  40. package/v2Containers/Zalo/saga.js +35 -0
  41. package/v2Containers/Zalo/selectors.js +14 -0
  42. package/v2Containers/Zalo/tests/actions.test.js +20 -0
  43. package/v2Containers/Zalo/tests/index.test.js +127 -0
  44. package/v2Containers/Zalo/tests/mockData.js +11470 -0
  45. package/v2Containers/Zalo/tests/reducer.test.js +85 -0
  46. package/v2Containers/Zalo/tests/saga.test.js +115 -0
  47. package/v2Containers/Zalo/tests/selectors.test.js +52 -0
  48. package/v2Containers/mockdata.js +817 -680
@@ -7,7 +7,6 @@
7
7
  import * as types from './constants';
8
8
 
9
9
  export function getAllTemplates(channel, queryParams) {
10
-
11
10
  return {
12
11
  type: types.GET_ALL_TEMPLATES_REQUEST, channel, queryParams,
13
12
  };
@@ -26,7 +25,6 @@
26
25
  }
27
26
 
28
27
  export function deleteTemplate(channel, id) {
29
-
30
28
  return {
31
29
  type: types.DELETE_TEMPLATE_REQUEST, channel, id,
32
30
  };
@@ -45,7 +43,6 @@
45
43
  }
46
44
 
47
45
  export function setWeChatAccount(weChatAccount) {
48
-
49
46
  return {
50
47
  type: types.SET_WECHAT_ACCOUNT,
51
48
  weChatAccount,
@@ -80,7 +77,6 @@
80
77
  }
81
78
 
82
79
  export function getTemplateDetails(id, channel) {
83
-
84
80
  return {
85
81
  type: types.GET_TEMPLATE_DETAILS_REQUEST,
86
82
  id,
@@ -95,7 +91,6 @@
95
91
  }
96
92
 
97
93
  export function resetUploadData() {
98
-
99
94
  return {
100
95
  type: types.RESET_UPLOAD_DATA,
101
96
  };
package/index.js CHANGED
@@ -91,6 +91,10 @@ import Whatsapp from './v2Containers/Whatsapp';
91
91
  import whatsappReducer from './v2Containers/Whatsapp/reducer';
92
92
  import whatsappSaga from './v2Containers/Whatsapp/sagas';
93
93
 
94
+ import Zalo from './v2Containers/Zalo';
95
+ import zaloReducer from './v2Containers/Zalo/reducer';
96
+ import zaloSaga from './v2Containers/Zalo/saga';
97
+
94
98
  import Rcs from './v2Containers/Rcs';
95
99
  import rcsReducer from './v2Containers/Rcs/reducer';
96
100
  import rcsSaga from './v2Containers/Rcs/sagas';
@@ -120,6 +124,7 @@ const ViberContainer = {Viber, viberReducer, viberSaga};
120
124
  const FacebookPreviewContainer = { FacebookPreview, facebookPreviewReducer, facebookPreviewSaga };
121
125
  const SmsTraiContainer = {SmsTraiCreate, SmsTraiCreateReducer, SmsTraiCreateSaga};
122
126
  const WhatsappContainer = { Whatsapp, whatsappReducer, whatsappSaga };
127
+ const zaloContainer = { Zalo, zaloReducer, zaloSaga };
123
128
  const RcsContainer = { Rcs, rcsReducer, rcsSaga };
124
129
 
125
130
  const GalleryContainer = {Gallery, galleryReducer, gallerySagas};
@@ -168,5 +173,6 @@ export { CapContainer,
168
173
  FacebookPreviewContainer,
169
174
  SmsTraiContainer,
170
175
  WhatsappContainer,
176
+ zaloContainer,
171
177
  RcsContainer,
172
178
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@capillarytech/creatives-library",
3
3
  "author": "meharaj",
4
- "version": "7.17.35-alpha.2",
4
+ "version": "7.17.36",
5
5
  "description": "Capillary creatives ui",
6
6
  "main": "./index.js",
7
7
  "module": "./index.es.js",
package/routes.js CHANGED
@@ -663,6 +663,8 @@ export default function createRoutes(store) {
663
663
  import('v2Containers/SmsTrai/Create/reducer'),
664
664
  import('v2Containers/Whatsapp/sagas'),
665
665
  import('v2Containers/Whatsapp/reducer'),
666
+ import('v2Containers/Zalo/saga'),
667
+ import('v2Containers/Zalo/reducer'),
666
668
  import('v2Containers/Rcs/sagas'),
667
669
  import('v2Containers/Rcs/reducer'),
668
670
  ]);
@@ -689,6 +691,7 @@ export default function createRoutes(store) {
689
691
  capFacebookPreviewSagas, capFacebookPreviewReducer,
690
692
  smsTraiSagas, smsTraiReducer,
691
693
  whatsappSagas, whatsappReducer,
694
+ zaloSagas, zaloReducer,
692
695
  rcsSagas, rcsReducer,
693
696
  ]) => {
694
697
  injectReducer('templates', reducer.default);
@@ -710,6 +713,7 @@ export default function createRoutes(store) {
710
713
  injectReducer('facebookPreview', capFacebookPreviewReducer.default);
711
714
  injectReducer('smsTrai', smsTraiReducer.default);
712
715
  injectReducer('whatsapp', whatsappReducer.default);
716
+ injectReducer('zalo', zaloReducer.default);
713
717
  injectReducer('rcs', rcsReducer.default);
714
718
  injectSagas(gallerySagas.default);
715
719
  injectSagas(sagas.default);
@@ -730,6 +734,7 @@ export default function createRoutes(store) {
730
734
  injectSagas(capFacebookPreviewSagas.default);
731
735
  injectSagas(smsTraiSagas.default);
732
736
  injectSagas(whatsappSagas.default);
737
+ injectSagas(zaloSagas.default);
733
738
  injectSagas(rcsSagas.default);
734
739
  renderRoute(component);
735
740
  });
package/services/api.js CHANGED
@@ -498,4 +498,9 @@ export const getCdnTransformationConfig = () => {
498
498
  export const getS3UrlFileSizes = (data) => {
499
499
  const url = `${API_ENDPOINT}/assets/files/metadata`;
500
500
  return request(url, getAPICallObject('POST', data));
501
- }
501
+ }
502
+
503
+ export const getTemplateInfoById = ({id, username, oa_id, token}) => {
504
+ const url = `${API_ENDPOINT}/templates/${id}/Zalo?username=${username}&oa_id=${oa_id}&token=${token}`;
505
+ return request(url, getAPICallObject('GET'));
506
+ }
package/utils/common.js CHANGED
@@ -13,7 +13,6 @@ import {
13
13
  REGISTRATION_CUSTOM_FIELD,
14
14
  JP_LOCALE_HIDE_FEATURE,
15
15
  ENABLE_CUSTOMER_BARCODE_TAG,
16
- CUSTOMER_BARCODE_TAG,
17
16
  } from '../containers/App/constants';
18
17
  import { apiMessageFormatHandler } from './commonUtils';
19
18
 
@@ -96,10 +95,6 @@ export function getTreeStructuredTags({tagsList, userLocale = 'en', offerDetails
96
95
  //filtering HOSPITALITY_RELATED_TAGS if org does not have HOSPITALITY_BASED_SCOPE feature enabled
97
96
  clonedTags = filterTags(HOSPITALITY_RELATED_TAGS, tagsList);
98
97
  }
99
- if (!hasCustomerBarcodeFeatureEnabled()) {
100
- //filtering CUSTOMER_BARCODE_TAG if org does not have CUSTOMER_BARCODE_TAG feature enabled
101
- clonedTags = filterTags(CUSTOMER_BARCODE_TAG, clonedTags);
102
- }
103
98
  _.forEach(clonedTags, (temp) => {
104
99
  const tag = temp.definition;
105
100
  if (!tag['tag-header']) { //if tag doesn't have subtag(s), which means this tag itself is tag and not a tag header.
@@ -187,6 +187,10 @@ class CapTagList extends React.Component { // eslint-disable-line react/prefer-s
187
187
  //filtering HOSPITALITY_RELATED_TAGS if org does not have HOSPITALITY_BASED_SCOPE feature enabled
188
188
  clonedTags = _.omit(clonedTags, HOSPITALITY_RELATED_TAGS);
189
189
  }
190
+ if (!hasCustomerBarcodeFeatureEnabled()) {
191
+ //filtering CUSTOMER_BARCODE_TAG if org does not have CUSTOMER_BARCODE_TAG feature enabled
192
+ clonedTags = _.omit(clonedTags, CUSTOMER_BARCODE_TAG);
193
+ }
190
194
  _.forEach(clonedTags, (val = '', key) => {
191
195
  let supportedTagsString = '';
192
196
  _.forEach(val.supportedTags, (supportedTag) => {
@@ -1,6 +1,7 @@
1
1
  @import '~@capillarytech/cap-ui-library/styles/_variables.scss';
2
2
 
3
- .whatsapp-status-container {
3
+ .whatsapp-status-container,
4
+ .zalo-status-container {
4
5
  margin-top: $CAP_SPACE_12;
5
6
  width: 150%;
6
7
  height: 20px;
@@ -53,6 +53,7 @@ export const RCS = 'rcs';
53
53
  export const LINE = 'line';
54
54
  export const EMAIL = 'email';
55
55
  export const ASSETS = 'assets';
56
+ export const ZALO = 'zalo';
56
57
 
57
58
  export const JP_LOCALE_HIDE_FEATURE = 'JP_LOCALE_HIDE_FEATURE';
58
59
 
@@ -25,6 +25,7 @@ import Whatsapp from '../Whatsapp';
25
25
  import Rcs from '../Rcs';
26
26
  import { getWhatsappContent } from '../Whatsapp/utils';
27
27
  import * as commonUtil from '../../utils/common';
28
+ import Zalo from '../Zalo';
28
29
  const CreativesWrapper = styled.div`
29
30
  .ant-popover,
30
31
  .ant-notification,
@@ -196,6 +197,7 @@ export function SlideBoxContent(props) {
196
197
  let isEditFTP = false;
197
198
  let isEditWhatsapp = false;
198
199
  let isEditRcs = false;
200
+ let isEditZalo = false;
199
201
  const isEmailCreate = isCreate && channel === constants.EMAIL;
200
202
  if (templateData && channel) {
201
203
  channel = templateData.type;// for edit mode with template data
@@ -211,6 +213,7 @@ export function SlideBoxContent(props) {
211
213
  isEmailPreview = slidBoxContent === 'preview' && channel === constants.EMAIL;
212
214
  isMpushPreview = slidBoxContent === 'preview' && channel === constants.MOBILE_PUSH;
213
215
  isEditFTP = isEdit && [constants.NO_COMMUNICATION, constants.FTP].includes(channel);
216
+ isEditZalo = isEdit && channel === constants.ZALO
214
217
  }
215
218
  const isDltEnabled = commonUtil.isTraiDLTEnable(isFullMode, smsRegister);
216
219
  const hasJPLocaleHideFeatureEnabled = commonUtil?.hasJPLocaleHideFeatureEnabled();
@@ -504,6 +507,16 @@ export function SlideBoxContent(props) {
504
507
  messageDetails={messageDetails}
505
508
  />
506
509
  }
510
+ {
511
+ isEditZalo &&
512
+ <Zalo
513
+ templateData={templateData}
514
+ location={creativesLocationProps}
515
+ selectedOfferDetails={selectedOfferDetails}
516
+ getDefaultTags={type}
517
+ channel={channel}
518
+ />
519
+ }
507
520
  {
508
521
  isCreateCallTask &&
509
522
  <CallTask
@@ -11,7 +11,7 @@ import whatsppMsg from '../Whatsapp/messages';
11
11
  import { LANGUAGE_OPTIONS } from '../Whatsapp/constants';
12
12
  import globalMessages from '../Cap/messages';
13
13
  import { MAP_TEMPLATE } from '../WeChat/Wrapper/constants';
14
- import { NO_COMMUNICATION, FTP, WHATSAPP, RCS } from '../App/constants';
14
+ import { NO_COMMUNICATION, FTP, WHATSAPP, RCS, ZALO } from '../App/constants';
15
15
  import { isTraiDLTEnable } from '../../utils/common';
16
16
  import { formatString } from '../../utils/Formatter';
17
17
  import {
@@ -26,8 +26,8 @@ const StyledLabel = styled(CapLabelInline)`
26
26
  const PrefixWrapper = styled.div`
27
27
  margin-right: 16px;
28
28
  `;
29
- const renderData = (type, value) => (
30
- <StyledLabel type={type}>
29
+ const renderData = (type, value, channel) => (
30
+ <StyledLabel className={channel?.toLowerCase() === ZALO ? 'zalo-template-name-spacing' : ''} type={type}>
31
31
  {value}
32
32
  </StyledLabel>
33
33
  );
@@ -40,8 +40,10 @@ export function SlideBoxHeader(props) {
40
40
  const showCreateTraiSMSHeader = isTraiDlt && channel.toLowerCase() === "sms";
41
41
  const isWhatsappEdit = channel.toLowerCase() === WHATSAPP && slidBoxContent === 'editTemplate';
42
42
  const isWhatsappCreate = channel.toLowerCase() === WHATSAPP && slidBoxContent === 'createTemplate';
43
+ const isZaloEdit = channel.toLowerCase() === ZALO && slidBoxContent === 'editTemplate';
44
+ const zaloOverview = isZaloEdit && isFullMode;
43
45
  const whatsappOverview = isWhatsappEdit && isFullMode;
44
- const headerMessage = whatsappOverview ? messages.whatsappOverview : messages.editMessageContent;
46
+ const headerMessage = whatsappOverview ? messages.whatsappOverview : zaloOverview ? messages.zaloOverview : messages.editMessageContent;
45
47
  const {
46
48
  whatsappTemplateName,
47
49
  whatsappTemplateCategory,
@@ -49,7 +51,7 @@ export function SlideBoxHeader(props) {
49
51
  } = templateData || {};
50
52
  const templateName = whatsappTemplateName || templateData?.name;
51
53
  const showRcsTemplateName = channel.toLowerCase() === RCS && slidBoxContent === 'editTemplate' && !isFullMode && templateName;
52
- const showTemplateName = isWhatsappEdit || showRcsTemplateName;
54
+ const showTemplateName = isWhatsappEdit || showRcsTemplateName || isZaloEdit;
53
55
  const whatsappCategory = whatsappTemplateCategory || get(templateData, `versions.base.content.whatsapp.category`, '');
54
56
  const whatsappLanguageCode = whatsappTemplateLanguageCode || get(templateData, `versions.base.content.whatsapp.languages[0].language`, '');
55
57
 
@@ -63,6 +65,7 @@ export function SlideBoxHeader(props) {
63
65
  ftp: 'FTP',
64
66
  whatsapp: <FormattedMessage {...messages.whatsappTemplate} />,
65
67
  rcs: <FormattedMessage {...messages.rcsCreative} />,
68
+ zalo: <FormattedMessage {...messages.zaloTemplate} />
66
69
  };
67
70
  return labels[currentChannel.toLowerCase()];
68
71
  };
@@ -102,7 +105,7 @@ export function SlideBoxHeader(props) {
102
105
  <>
103
106
  {showTemplateName ? (
104
107
  <>
105
- {renderData("label1", <FormattedMessage {...globalMessages.templateNameLabel} />)}
108
+ {renderData("label1", <FormattedMessage {...globalMessages.templateNameLabel} />, channel)}
106
109
  <StyledLabel className='whatsapp-rcs-slidebox-template-name' type="label2">{templateName}</StyledLabel>
107
110
  </>
108
111
  ) : ""}
@@ -18,6 +18,7 @@ export const NO_COMMUNICATION = "NO_COMMUNICATION";
18
18
  export const VIBER = "VIBER";
19
19
  export const WHATSAPP = "WHATSAPP";
20
20
  export const RCS = "RCS";
21
+ export const ZALO = "ZALO";
21
22
 
22
23
  export const SHOW_CONTANER_LOADER = "app/CreativesContainer/SHOW_CONTANER_LOADER";
23
24
  export const HIDE_CONTAINER_LOADER = "app/CreativesContainer/HIDE_CONTAINER_LOADER";
@@ -57,4 +57,7 @@ $classPrefix: add-creatives-section;
57
57
  overflow: hidden;
58
58
  text-overflow: ellipsis;
59
59
  margin-bottom: -3px;
60
+ }
61
+ .zalo-template-name-spacing {
62
+ margin-right: 8px;
60
63
  }
@@ -310,10 +310,18 @@ export default defineMessages({
310
310
  id: `${scope}.whatsappOverview`,
311
311
  defaultMessage: `WhatsApp template overview`,
312
312
  },
313
+ "zaloOverview": {
314
+ id: `${scope}.zaloOverview`,
315
+ defaultMessage: `Zalo template overview`,
316
+ },
313
317
  "whatsappTemplate": {
314
318
  id: `${scope}.whatsappTemplate`,
315
319
  defaultMessage: `WhatsApp template`,
316
320
  },
321
+ "zaloTemplate": {
322
+ id: `${scope}.zaloTemplate`,
323
+ defaultMessage: `Zalo template`,
324
+ },
317
325
  "learnTips": {
318
326
  id: `${scope}.learnTips`,
319
327
  defaultMessage: `Learn tips to get approved`,
@@ -4,7 +4,7 @@ import { shallowWithIntl } from '../../../helpers/intl-enzym-test-helpers';
4
4
  import { SlideBoxHeader } from '../SlideBoxHeader';
5
5
  import mockdata from '../../mockdata';
6
6
 
7
- const { whatsappEditTemplateData, rcsEditTemplateData, whatsappPreviewTemplateData, rcsPreviewTemplateData } = mockdata;
7
+ const { whatsappEditTemplateData, rcsEditTemplateData, whatsappPreviewTemplateData, rcsPreviewTemplateData,zaloEditTemplateData } = mockdata;
8
8
 
9
9
  jest.mock("../../../v2Components/FormBuilder", () => ({
10
10
  __esModule: true,
@@ -66,4 +66,9 @@ describe('Test SlideBoxHeader container', () => {
66
66
  renderFunction("RCS", "templates");
67
67
  expect(renderedComponent).toMatchSnapshot();
68
68
  });
69
+
70
+ it('Should render correct component for zalo channel edit mode', () => {
71
+ renderFunction("ZALO", "editTemplate", zaloEditTemplateData, true);
72
+ expect(renderedComponent).toMatchSnapshot();
73
+ });
69
74
  });
@@ -143,6 +143,7 @@ exports[`Test SlideBoxHeader container Should render correct component for whats
143
143
  <React.Fragment>
144
144
  <React.Fragment>
145
145
  <SlideBoxHeader__StyledLabel
146
+ className=""
146
147
  type="label1"
147
148
  >
148
149
  <FormattedMessage
@@ -160,6 +161,7 @@ exports[`Test SlideBoxHeader container Should render correct component for whats
160
161
  </React.Fragment>
161
162
  <React.Fragment>
162
163
  <SlideBoxHeader__StyledLabel
164
+ className=""
163
165
  type="label3"
164
166
  >
165
167
  <FormattedMessage
@@ -169,6 +171,7 @@ exports[`Test SlideBoxHeader container Should render correct component for whats
169
171
  />
170
172
  </SlideBoxHeader__StyledLabel>
171
173
  <SlideBoxHeader__StyledLabel
174
+ className=""
172
175
  type="label1"
173
176
  >
174
177
  <FormattedMessage
@@ -178,11 +181,13 @@ exports[`Test SlideBoxHeader container Should render correct component for whats
178
181
  />
179
182
  </SlideBoxHeader__StyledLabel>
180
183
  <SlideBoxHeader__StyledLabel
184
+ className=""
181
185
  type="label2"
182
186
  >
183
187
  Alert Update
184
188
  </SlideBoxHeader__StyledLabel>
185
189
  <SlideBoxHeader__StyledLabel
190
+ className=""
186
191
  type="label3"
187
192
  >
188
193
  <FormattedMessage
@@ -192,6 +197,7 @@ exports[`Test SlideBoxHeader container Should render correct component for whats
192
197
  />
193
198
  </SlideBoxHeader__StyledLabel>
194
199
  <SlideBoxHeader__StyledLabel
200
+ className=""
195
201
  type="label1"
196
202
  >
197
203
  <FormattedMessage
@@ -201,6 +207,7 @@ exports[`Test SlideBoxHeader container Should render correct component for whats
201
207
  />
202
208
  </SlideBoxHeader__StyledLabel>
203
209
  <SlideBoxHeader__StyledLabel
210
+ className=""
204
211
  type="label2"
205
212
  >
206
213
  <FormattedMessage
@@ -304,3 +311,54 @@ exports[`Test SlideBoxHeader container Should render correct component for whats
304
311
  />
305
312
  </div>
306
313
  `;
314
+
315
+ exports[`Test SlideBoxHeader container Should render correct component for zalo channel edit mode 1`] = `
316
+ <div
317
+ key="creatives-container-slidebox-header-content"
318
+ >
319
+ <CapHeader
320
+ description={
321
+ <React.Fragment>
322
+ <React.Fragment>
323
+ <SlideBoxHeader__StyledLabel
324
+ className="zalo-template-name-spacing"
325
+ type="label1"
326
+ >
327
+ <FormattedMessage
328
+ defaultMessage="Template name"
329
+ id="creatives.containersV2.templateNameLabel"
330
+ values={Object {}}
331
+ />
332
+ </SlideBoxHeader__StyledLabel>
333
+ <SlideBoxHeader__StyledLabel
334
+ className="whatsapp-rcs-slidebox-template-name"
335
+ type="label2"
336
+ >
337
+ Test sample
338
+ </SlideBoxHeader__StyledLabel>
339
+ </React.Fragment>
340
+ </React.Fragment>
341
+ }
342
+ descriptionClass=""
343
+ inline={false}
344
+ prefix={false}
345
+ size="large"
346
+ title={
347
+ <FormattedMessage
348
+ defaultMessage="Zalo template overview"
349
+ id="creatives.containersV2.Creatives.zaloOverview"
350
+ values={
351
+ Object {
352
+ "channel": <FormattedMessage
353
+ defaultMessage="Zalo template"
354
+ id="creatives.containersV2.Creatives.zaloTemplate"
355
+ values={Object {}}
356
+ />,
357
+ }
358
+ }
359
+ />
360
+ }
361
+ titleClass=""
362
+ />
363
+ </div>
364
+ `;