@capillarytech/creatives-library 7.7.16 → 7.7.19

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.
@@ -214,7 +214,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
214
214
  if (nextProps.isNewVersionFlow && !this.state.formData[this.state.currentTab - 1][this.state.formData[this.state.currentTab - 1].activeTab].tabKey) {
215
215
  this.resetTabKeys(nextProps.formData, nextProps.tabCount, false, true);
216
216
  }
217
- if (type === 'embedded' || this.props.schema.channel.toUpperCase() === 'EMAIL') {
217
+ if (type === 'embedded' || (this.props?.schema?.channel || "").toUpperCase() === 'EMAIL') {
218
218
  this.validateForm();
219
219
  }
220
220
  if ((this.props.schema && this.props.schema.channel && this.props.schema.channel.toUpperCase() === 'MOBILEPUSH')) {
@@ -2917,7 +2917,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
2917
2917
  }
2918
2918
 
2919
2919
  const currentLang = ((!_.isEmpty(this.state.formData) && !_.isEmpty(this.state.formData[`${this.state.currentTab - 1}`]) && !_.isEmpty(this.state.formData[`${this.state.currentTab - 1}`].selectedLanguages) && this.state.formData[`${this.state.currentTab - 1}`].selectedLanguages[langIndex]) ? this.state.formData[`${this.state.currentTab - 1}`].selectedLanguages[langIndex] : this.props.baseLanguage) || 'en';
2920
- const content = (!_.isEmpty(this.state.formData) && this.state.formData[`${this.state.currentTab - 1}`][currentLang]['template-content'] ? this.state.formData[`${this.state.currentTab - 1}`][currentLang]['template-content'] : '');
2920
+ const content = this.state?.formData?.[`${this.state.currentTab - 1}`]?.[currentLang]?.['template-content'] || "";
2921
2921
 
2922
2922
  if (this.state.formData[`${this.state.currentTab - 1}`][currentLang].is_drag_drop) {
2923
2923
  // content = "";
@@ -872,10 +872,15 @@ export class Email extends React.Component { // eslint-disable-line react/prefer
872
872
  const langIndex = formData[this.state.currentTab - 1].selectedLanguages.indexOf(langId);
873
873
 
874
874
  const temp = (schema.containers || {})[this.state.currentTab - 1];
875
+ const isStyleExists= temp?.tabBarExtraContent?.sections?.[0]?.inputFields?.[0]?.cols?.[4]?.content?.sections?.[0]?.inputFields?.[2]?.cols?.[0]?.style;
875
876
  if (baseLanguage === langId && (apiLangId === "undefined" || apiLangId === formData[this.state.currentTab - 1].activeTab)) {
876
- temp.tabBarExtraContent.sections[0].inputFields[0].cols[4].content.sections[0].inputFields[2].cols[0].style = {display: "none"};
877
+ if(isStyleExists){
878
+ temp.tabBarExtraContent.sections[0].inputFields[0].cols[4].content.sections[0].inputFields[2].cols[0].style = {display: "none"};
879
+ }
877
880
  } else if (apiLangId === "undefined" || apiLangId === formData[this.state.currentTab - 1].activeTab) {
878
- temp.tabBarExtraContent.sections[0].inputFields[0].cols[4].content.sections[0].inputFields[2].cols[0].style = {display: ""};
881
+ if(isStyleExists){
882
+ temp.tabBarExtraContent.sections[0].inputFields[0].cols[4].content.sections[0].inputFields[2].cols[0].style = {display: ""};
883
+ }
879
884
  }
880
885
 
881
886
  if (nextProps.Email.CmsSettings.isDragDrop) {
@@ -2717,7 +2722,7 @@ export class Email extends React.Component { // eslint-disable-line react/prefer
2717
2722
  }
2718
2723
  formData.base = _.cloneDeep(formData[0]);
2719
2724
 
2720
- this.setState({formData, loading: false, injectedTags: data.tags, tabKey, isDragDrop: (data.base.is_drag_drop !== 0 )}, () => {
2725
+ this.setState({formData, loading: false, injectedTags: data.tags, tabKey, isDragDrop: (data?.base?.is_drag_drop !== 0 )}, () => {
2721
2726
  // this.setState({tabKey: ''});
2722
2727
  _.forEach(formData[0].selectedLanguages, (language) => {
2723
2728
  if (formData[0][language].is_drag_drop) {
@@ -517,13 +517,13 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
517
517
  mode: this.props.params.mode,
518
518
  };
519
519
  const android = {};
520
- Object.keys(formData[0]).forEach((data) => {
520
+ Object.keys((formData[0] || {})).forEach((data) => {
521
521
  if (!!formData[0][data] && data !== "tabKey") {
522
522
  android[data] = formData[0][data];
523
523
  }
524
524
  });
525
525
  const ios = {};
526
- Object.keys(formData[1]).forEach((data) => {
526
+ Object.keys((formData[1] || {})).forEach((data) => {
527
527
  if (!!formData[1][data] && data !== "tabKey") {
528
528
  ios[data] = formData[1][data];
529
529
  }
@@ -611,7 +611,9 @@ export class MapTemplates extends React.Component { // eslint-disable-line react
611
611
  setSelectedTemplateData(weChatData) {
612
612
  let schema = _.cloneDeep(this.state.baseSchema);
613
613
  const { intl: {formatMessage}} = this.props;
614
- schema.standalone.sections[0].childSections[1].childSections[0].childSections[1].inputFields = [];
614
+ if(schema?.standalone?.sections?.[0]?.childSections?.[1]?.childSections?.[0]?.childSections?.[1]?.inputFields){
615
+ schema.standalone.sections[0].childSections[1].childSections[0].childSections[1].inputFields = []
616
+ };
615
617
  if (_.isEmpty(weChatData)) {
616
618
  // schema.standalone.sections[0].childSections[1].childSections[0].childSections[1].inputFields = [];
617
619
  const formData=_.cloneDeep(this.state.formData);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@capillarytech/creatives-library",
3
3
  "author": "meharaj",
4
- "version": "7.7.16",
4
+ "version": "7.7.19",
5
5
  "description": "Capillary creatives ui",
6
6
  "main": "./index.js",
7
7
  "module": "./index.es.js",
package/services/api.js CHANGED
@@ -32,14 +32,6 @@ function parseJSON(response) {
32
32
  return response.json();
33
33
  }
34
34
 
35
- function getUrlWithQueryParams({url, queryParams}) {
36
- let updatedUrl = url;
37
- Object.entries(queryParams).forEach(([key, value]) => {
38
- updatedUrl += `${key}=${key === 'name' ? encodeURIComponent(value) : value}&`;
39
- });
40
- return updatedUrl;
41
- };
42
-
43
35
  // const loginUrl = (process.env.NODE_ENV === 'production') ?
44
36
  // config.production.login_url : config.development.login_url;
45
37
 
@@ -258,25 +250,20 @@ export const getTemplateDetails = ({id, channel}) => {
258
250
  return request(url, getAPICallObject('GET'));
259
251
  };
260
252
 
261
- export const getAllTemplates = ({channel, queryParams = {}}) => {
262
- const url = getUrlWithQueryParams({
263
- url: `${API_ENDPOINT}/templates/${channel}?`,
264
- queryParams,
265
- });
253
+ export const getAllTemplates = ({channel, queryParams}) => {
254
+ const url = `${API_ENDPOINT}/templates/${channel}?query=${encodeURIComponent(JSON.stringify(queryParams))}`;
266
255
  return request(url, getAPICallObject('GET'));
267
256
  };
268
257
 
269
258
  export const deleteTemplate = ({channel, id}) => {
259
+
270
260
  const url = `${API_ENDPOINT}/templates/${id}/${channel}`;
271
261
  return request(url, getAPICallObject('DELETE'));
272
262
  //return API.deleteResource(url);
273
263
  };
274
264
 
275
- export const getAllAssets = ({assetType, queryParams = {}}) => {
276
- const url = getUrlWithQueryParams({
277
- url: `${API_ENDPOINT}/assets/${assetType}?`,
278
- queryParams,
279
- });
265
+ export const getAllAssets = ({assetType, queryParams}) => {
266
+ const url = `${API_ENDPOINT}/assets/${assetType}?query=${JSON.stringify(queryParams)}`;
280
267
  // const url = `https://nightly.capillary.in/arya/api/v1/creatives/assets/${assetType}?query=${JSON.stringify(queryParams)}`;
281
268
  return API.get(url);
282
269
  }
@@ -1,4 +1,16 @@
1
1
  {
2
+ "app.components.CapVideoUpload.dragAndDrop": "Drag and drop video here",
3
+ "app.components.CapVideoUpload.fileFormat": "Format: MP4",
4
+ "app.components.CapVideoUpload.imageReUpload": "Re upload",
5
+ "app.components.CapVideoUpload.or": "OR",
6
+ "app.components.CapVideoUpload.textMessageAddLabel": "How do you want to upload the image?",
7
+ "app.components.CapVideoUpload.textMessageCreateNew": "Create new",
8
+ "app.components.CapVideoUpload.textMessageORLabel": "OR",
9
+ "app.components.CapVideoUpload.textMessageSelectTemplate": "Select template",
10
+ "app.components.CapVideoUpload.uploadComputer": "Your computer",
11
+ "app.components.CapVideoUpload.videoIncorrectSize": "This file format/size is not supported.",
12
+ "app.components.CapVideoUpload.videoRatioDescription": "Video ratio: 9:16 to 16:9",
13
+ "app.components.CapVideoUpload.videoSizeDescription": "File size: Up to {size}",
2
14
  "app.components.TemplatePreview.includesOptoutTag": "Includes optout tag",
3
15
  "app.components.TemplatePreview.optoutCharactersTotal": "Includes optout tag ({optoutUrlLength} characters)",
4
16
  "creatives.components.AccessForbidden.forbiddenDesc": "This page access has not been provided to you.",
@@ -90,6 +102,17 @@
90
102
  "creatives.components.WechatRichmediaTemplatePreview.select": "Select",
91
103
  "creatives.componentsV2.BreadCrumbs.header": "This is the BreadCrumbs component !",
92
104
  "creatives.componentsV2.CallTaskPreview.header": "This is the CallTaskPreview component !",
105
+ "creatives.componentsV2.CapImageUpload.aspectRatio": "Aspect ratio: 1:1",
106
+ "creatives.componentsV2.CapImageUpload.dragAndDrop": "Drag and drop image here",
107
+ "creatives.componentsV2.CapImageUpload.format": "Format: JPG, PNG",
108
+ "creatives.componentsV2.CapImageUpload.imageDimenstionDescription": "Dimensions: {width}px x {height}px",
109
+ "creatives.componentsV2.CapImageUpload.imageGallery": "Gallery",
110
+ "creatives.componentsV2.CapImageUpload.imageIncorrectSize": "Please upload the image with correct type, size and dimension",
111
+ "creatives.componentsV2.CapImageUpload.imageReUpload": "Re upload",
112
+ "creatives.componentsV2.CapImageUpload.or": "OR",
113
+ "creatives.componentsV2.CapImageUpload.uploadComputer": "Your computer",
114
+ "creatives.componentsV2.CapImageUpload.uploadGallery": "Gallery",
115
+ "creatives.componentsV2.CapImageUpload.uploadImageDescription": "The relevant image that complements the message context.",
93
116
  "creatives.componentsV2.CapTagList.Cancel": "Cancel",
94
117
  "creatives.componentsV2.CapTagList.Ok": "Ok",
95
118
  "creatives.componentsV2.CapTagList.all": "All",
@@ -807,6 +830,40 @@
807
830
  "creatives.containersV2.Cap.storeCare": "Store Care",
808
831
  "creatives.containersV2.Cap.storePerformance": "Store Performance",
809
832
  "creatives.containersV2.Cap.wechat": "WeChat",
833
+ "creatives.containersV2.CapFacebookPreview.audienceNetworkInstreamVideo": "Audience network instream video",
834
+ "creatives.containersV2.CapFacebookPreview.audienceNetworkInstreamVideoMobile": "Audience network instream video mobile",
835
+ "creatives.containersV2.CapFacebookPreview.audienceNetworkOutstreamVideo": "Audience network outstream video",
836
+ "creatives.containersV2.CapFacebookPreview.audienceNetworkRewardedVideo": "Audience network rewarded video",
837
+ "creatives.containersV2.CapFacebookPreview.desktopFeedStandard": "Desktop feed standard",
838
+ "creatives.containersV2.CapFacebookPreview.facebookStoryMobile": "Facebook story mobile",
839
+ "creatives.containersV2.CapFacebookPreview.generatePreview": "Generate preview",
840
+ "creatives.containersV2.CapFacebookPreview.generatePreviewDisableToolTip": "Looks like either all the mandatory fields are not filled or there is no new change",
841
+ "creatives.containersV2.CapFacebookPreview.generatePreviewError": "Error in generating preview",
842
+ "creatives.containersV2.CapFacebookPreview.instagramExploreContextual": "Instagram explore contextual",
843
+ "creatives.containersV2.CapFacebookPreview.instagramExploreImmersive": "Instagram explore immersive",
844
+ "creatives.containersV2.CapFacebookPreview.instagramStandard": "Instagram standard",
845
+ "creatives.containersV2.CapFacebookPreview.instagramStory": "Instagram story",
846
+ "creatives.containersV2.CapFacebookPreview.instantArticleStandard": "Instant article standard",
847
+ "creatives.containersV2.CapFacebookPreview.instreamVideoDesktop": "Instream video desktop",
848
+ "creatives.containersV2.CapFacebookPreview.instreamVideoMobile": "Instream video mobile",
849
+ "creatives.containersV2.CapFacebookPreview.marketplaceDesktop": "Marketplace desktop",
850
+ "creatives.containersV2.CapFacebookPreview.marketplaceMobile": "Marketplace mobile",
851
+ "creatives.containersV2.CapFacebookPreview.messengerMobileInboxMedia": "Messenger mobile inbox media",
852
+ "creatives.containersV2.CapFacebookPreview.mobileBanner": "Mobile banner",
853
+ "creatives.containersV2.CapFacebookPreview.mobileFeedBasic": "Mobile feed basic",
854
+ "creatives.containersV2.CapFacebookPreview.mobileFeedStandard": "Mobile feed standard",
855
+ "creatives.containersV2.CapFacebookPreview.mobileFullwidth": "Mobile fullwidth",
856
+ "creatives.containersV2.CapFacebookPreview.mobileInterstitial": "Mobile interstitial",
857
+ "creatives.containersV2.CapFacebookPreview.mobileMediumRectangle": "Mobile medium rectangle",
858
+ "creatives.containersV2.CapFacebookPreview.mobileNative": "Mobile native",
859
+ "creatives.containersV2.CapFacebookPreview.previewAdDesc": "Please add Media, Primary text & Website link & click on “Generate preview” to view preview.",
860
+ "creatives.containersV2.CapFacebookPreview.previewBasedonAdPlacement": "Preview based on ad placement",
861
+ "creatives.containersV2.CapFacebookPreview.refreshPreview": "Refresh preview",
862
+ "creatives.containersV2.CapFacebookPreview.rightColumnStandard": "Right column standard",
863
+ "creatives.containersV2.CapFacebookPreview.suggestedVideoDesktop": "Suggested video desktop",
864
+ "creatives.containersV2.CapFacebookPreview.suggestedVideoMobile": "Suggested video mobile",
865
+ "creatives.containersV2.CapFacebookPreview.videoNotePreview": "Facebook may take time to upload the video. Please try Refreshing.",
866
+ "creatives.containersV2.CapFacebookPreview.watchFeedMobile": "Watch feed mobile",
810
867
  "creatives.containersV2.ChannelTemplates.header": "This is ChannelTemplates container !",
811
868
  "creatives.containersV2.Create.addLabel": "Add label",
812
869
  "creatives.containersV2.Create.alertMessage": "Alert",
@@ -1059,11 +1116,53 @@
1059
1116
  "creatives.containersV2.FTP.selectFtpServerDesc": "FTP not configured for this org. Please add FTP server",
1060
1117
  "creatives.containersV2.FTP.selectTag": "Select tag",
1061
1118
  "creatives.containersV2.FTP.unsupportedTagsValidationError": "Unsupported tags: {unsupportedTags}. Please remove them from this message.",
1119
+ "creatives.containersV2.Facebook.Advertisement.AdvertisementType": "How you would like your ad to look?",
1120
+ "creatives.containersV2.Facebook.Advertisement.addCard": "Add card",
1121
+ "creatives.containersV2.Facebook.Advertisement.callToAction": "Call to action",
1122
+ "creatives.containersV2.Facebook.Advertisement.callToActionMandatoryError": "call to action is mandatory for Video Media. Please select call to action",
1123
+ "creatives.containersV2.Facebook.Advertisement.carouselDesc": "Create an Ad with 2 or more scrollable images or videos",
1124
+ "creatives.containersV2.Facebook.Advertisement.carouselTitle": "Carousel",
1125
+ "creatives.containersV2.Facebook.Advertisement.clickButtonLabel": "Continue",
1126
+ "creatives.containersV2.Facebook.Advertisement.createNotification": "Facebook template created successfully",
1127
+ "creatives.containersV2.Facebook.Advertisement.creativeName": "Creative name",
1128
+ "creatives.containersV2.Facebook.Advertisement.creativesTemplatesEditName": "Edit name",
1129
+ "creatives.containersV2.Facebook.Advertisement.deleteTooltipLabel": "Delete",
1130
+ "creatives.containersV2.Facebook.Advertisement.displayLink": "Display link",
1131
+ "creatives.containersV2.Facebook.Advertisement.displayLinkPlaceHolder": "Enter the link that you want to show on your ad",
1132
+ "creatives.containersV2.Facebook.Advertisement.doneButtonLabel": "Done",
1133
+ "creatives.containersV2.Facebook.Advertisement.duplicateTooltipLabel": "Duplicate",
1134
+ "creatives.containersV2.Facebook.Advertisement.editNotification": "Facebook template updated successfully",
1135
+ "creatives.containersV2.Facebook.Advertisement.facebookPage": "Facebook page",
1136
+ "creatives.containersV2.Facebook.Advertisement.image": "Image",
1137
+ "creatives.containersV2.Facebook.Advertisement.imageVideoDesc": "Create an Ad with one image or video",
1138
+ "creatives.containersV2.Facebook.Advertisement.imageVideoTitle": "Single image or video",
1139
+ "creatives.containersV2.Facebook.Advertisement.inValidUrliErrorMessage": "Website link is not valid",
1140
+ "creatives.containersV2.Facebook.Advertisement.linkDesc": "Link description",
1141
+ "creatives.containersV2.Facebook.Advertisement.linkDescPlaceHolder": "Enter the additional details",
1142
+ "creatives.containersV2.Facebook.Advertisement.linkDescToolTip": "Description over 40 characters may be cut off.",
1143
+ "creatives.containersV2.Facebook.Advertisement.linkHeadline": "Link headline",
1144
+ "creatives.containersV2.Facebook.Advertisement.linkHeadlinePlaceHolder": "Enter the short headline",
1145
+ "creatives.containersV2.Facebook.Advertisement.linkHeadlineToolTip": "Headlines over 40 characters may be cut off.",
1146
+ "creatives.containersV2.Facebook.Advertisement.newFacebookCreatives": "New Facebook creative",
1147
+ "creatives.containersV2.Facebook.Advertisement.optional": "(Optional)",
1148
+ "creatives.containersV2.Facebook.Advertisement.primaryText": "Primary text",
1149
+ "creatives.containersV2.Facebook.Advertisement.primaryTextPlaceholder": "Enter text that clearly tells people about what you are promoting",
1150
+ "creatives.containersV2.Facebook.Advertisement.primaryTextToolTip": "Facebook recommends 125 characters or fewer.",
1151
+ "creatives.containersV2.Facebook.Advertisement.shiftLeftTooltipLabel": "Shift Left",
1152
+ "creatives.containersV2.Facebook.Advertisement.shiftRightTooltipLabel": "Shift Right",
1153
+ "creatives.containersV2.Facebook.Advertisement.video_slideshow": "Video",
1154
+ "creatives.containersV2.Facebook.Advertisement.webSiteLink": "Website link",
1155
+ "creatives.containersV2.Facebook.Advertisement.websiteLinkPlaceHolder": "Enter the URL for the web page that you want people to visit",
1156
+ "creatives.containersV2.Facebook.adManagerHeading": "Where do you want to create your Facebook ad creative?",
1157
+ "creatives.containersV2.Facebook.capAdManagerHeading": "You can create Facebook ads creative in Engage+ Facebook ad Manager.",
1158
+ "creatives.containersV2.Facebook.capFbAdManager": "Capillary Facebook ad manager",
1159
+ "creatives.containersV2.Facebook.facebookDisableinfo": "Please integrate Facebook page ID & page name to enable this option.",
1062
1160
  "creatives.containersV2.Facebook.fbAccount": "Facebook Account",
1063
1161
  "creatives.containersV2.Facebook.fbAdCampaignSetDetailsDescription": "Once this message is approved, a campaign and an ad set will be created on Facebook Ad Manager with the same name as the current campaign and message name.",
1064
1162
  "creatives.containersV2.Facebook.fbAdCampaignSetDetailsTitle": "Ad campaign & ad set details",
1163
+ "creatives.containersV2.Facebook.fbAdManager": "Facebook ad manager",
1065
1164
  "creatives.containersV2.Facebook.fbAdSetName": "Ad set name",
1066
- "creatives.containersV2.Facebook.fbAdsDescription": "You may create ads in Facebook Ad Manager under the below mentioned ad set. The performance of these ads will be reported here in Engage+.",
1165
+ "creatives.containersV2.Facebook.fbAdsDescription": "Proceed with empty content block & you can create ads in Facebook Ad Manager under the mentioned ad set.",
1067
1166
  "creatives.containersV2.Facebook.fbAdsDetailOne": "Only FB campaign & ad set creation is supported in Engage+",
1068
1167
  "creatives.containersV2.Facebook.fbAdsDetailThree": "You can create ads later in Facebook ad manager.",
1069
1168
  "creatives.containersV2.Facebook.fbAdsDetailTwo": "You can proceed with an empty content block",
@@ -1071,7 +1170,7 @@
1071
1170
  "creatives.containersV2.Facebook.fbAudience": "Audience",
1072
1171
  "creatives.containersV2.Facebook.fbCampaignName": "FB Campaign name",
1073
1172
  "creatives.containersV2.Facebook.fbChange": "Change",
1074
- "creatives.containersV2.Facebook.fbConfirm": "Confirm",
1173
+ "creatives.containersV2.Facebook.fbContinue": "Continue",
1075
1174
  "creatives.containersV2.Facebook.fbMarketingObjective": "FB Marketing objective",
1076
1175
  "creatives.containersV2.Facebook.fbMarketingObjectiveAppInstallTitle": "App Installs",
1077
1176
  "creatives.containersV2.Facebook.fbMarketingObjectiveAppInstallsDescription": "Get more people to install your app.",
@@ -1480,6 +1579,7 @@
1480
1579
  "creatives.containersV2.Templates.newTemplate": "New template",
1481
1580
  "creatives.containersV2.Templates.noAccountMessage": "Please select an account to proceed",
1482
1581
  "creatives.containersV2.Templates.noAccountsPresent": "Push notifications are not setup for your brand",
1582
+ "creatives.containersV2.Templates.noAccountsPresentFacebook": "Please setup the Facebook account & Facebook page to start creating content in Capillary's FB content creator.",
1483
1583
  "creatives.containersV2.Templates.noAccountsPresentLine": "Line accounts are not setup for your brand",
1484
1584
  "creatives.containersV2.Templates.noAccountsPresentViber": "Viber accounts are not setup for your brand",
1485
1585
  "creatives.containersV2.Templates.noAccountsPresentWeChat": "Wechat accounts are not setup for your brand",
@@ -1527,6 +1627,7 @@
1527
1627
  "creatives.containersV2.TemplatesV2.edit": "Edit",
1528
1628
  "creatives.containersV2.TemplatesV2.email": "Email",
1529
1629
  "creatives.containersV2.TemplatesV2.facebook": "Facebook",
1630
+ "creatives.containersV2.TemplatesV2.facebookDisableinfo": "Please integrate Facebook page ID & page name to enable this option.",
1530
1631
  "creatives.containersV2.TemplatesV2.gallery": "Gallery",
1531
1632
  "creatives.containersV2.TemplatesV2.header": "This is TemplatesV2 container !",
1532
1633
  "creatives.containersV2.TemplatesV2.line": "Line",
@@ -1583,6 +1684,7 @@
1583
1684
  "creatives.containersV2.WeChat.wechatCreateSuccess": "WeChat template mapped successfully",
1584
1685
  "creatives.containersV2.WeChat.wechatEditSuccess": "WeChat template edited successfully",
1585
1686
  "creatives.containersV2.appName": "App Name",
1687
+ "creatives.containersV2.applyNow": "Apply now",
1586
1688
  "creatives.containersV2.areYouSureText": "Are you sure?",
1587
1689
  "creatives.containersV2.audience": "Audience",
1588
1690
  "creatives.containersV2.campaignsDashboard": "Campaigns",
@@ -1590,7 +1692,9 @@
1590
1692
  "creatives.containersV2.cancel": "Cancel",
1591
1693
  "creatives.containersV2.changeOk": "Ok, change",
1592
1694
  "creatives.containersV2.incentive": "Incentive",
1695
+ "creatives.containersV2.learnMore": "Learn More",
1593
1696
  "creatives.containersV2.newOrgName": "{newOrgName}",
1697
+ "creatives.containersV2.noCallToAction": "No call to action",
1594
1698
  "creatives.containersV2.orgChangeText": "Changing from <b>{oldOrgName}</b> to <b>{newOrgName}</b> will change the organisation for applications open in other tabs as well.<br/>Do you want to make the change to <b>{newOrgName}</b>?",
1595
1699
  "creatives.containersV2.orgChangedText": "Organization changed to",
1596
1700
  "creatives.containersV2.orgRefreshHeading": "Org refresh",
@@ -1662,6 +1766,9 @@
1662
1766
  "creatives.containersV2.richMedia.Create.wechatTitle": "Title",
1663
1767
  "creatives.containersV2.richMedia.Create.wrongFormatFile": "Wrong file upoaded. Please upload image file",
1664
1768
  "creatives.containersV2.richMedia.Create.wrongUrl": "Enter correct URL",
1769
+ "creatives.containersV2.shopNow": "Shop Now",
1770
+ "creatives.containersV2.signUp": "Sign Up",
1771
+ "creatives.containersV2.subscribe": "Subscribe",
1665
1772
  "creatives.containersV2.viber.addLabels": "Add labels",
1666
1773
  "creatives.containersV2.viber.button": "Button",
1667
1774
  "creatives.containersV2.viber.buttonText": "Button text",
@@ -1697,6 +1804,7 @@
1697
1804
  "creatives.containersV2.viber.viberCreativeTitle": "Viber creative",
1698
1805
  "creatives.containersV2.viber.viberEditNotification": "Viber template updated successfully",
1699
1806
  "creatives.containersV2.viber.viberImageIncorrectSize": "Please upload the image with correct type, size and dimension",
1807
+ "creatives.containersV2.watchMore": "Watch More",
1700
1808
  "customdatepicker.cancel": "Cancel",
1701
1809
  "customdatepicker.done": "Done",
1702
1810
  "reon.components.Cap.Workbench": "WorkBench",
@@ -1,4 +1,16 @@
1
1
  {
2
+ "app.components.CapVideoUpload.dragAndDrop": "",
3
+ "app.components.CapVideoUpload.fileFormat": "",
4
+ "app.components.CapVideoUpload.imageReUpload": "",
5
+ "app.components.CapVideoUpload.or": "",
6
+ "app.components.CapVideoUpload.textMessageAddLabel": "",
7
+ "app.components.CapVideoUpload.textMessageCreateNew": "",
8
+ "app.components.CapVideoUpload.textMessageORLabel": "",
9
+ "app.components.CapVideoUpload.textMessageSelectTemplate": "",
10
+ "app.components.CapVideoUpload.uploadComputer": "",
11
+ "app.components.CapVideoUpload.videoIncorrectSize": "",
12
+ "app.components.CapVideoUpload.videoRatioDescription": "",
13
+ "app.components.CapVideoUpload.videoSizeDescription": "",
2
14
  "app.components.TemplatePreview.includesOptoutTag": "",
3
15
  "app.components.TemplatePreview.optoutCharactersTotal": "",
4
16
  "creatives.components.AccessForbidden.forbiddenDesc": "",
@@ -90,6 +102,17 @@
90
102
  "creatives.components.WechatRichmediaTemplatePreview.select": "",
91
103
  "creatives.componentsV2.BreadCrumbs.header": "",
92
104
  "creatives.componentsV2.CallTaskPreview.header": "",
105
+ "creatives.componentsV2.CapImageUpload.aspectRatio": "",
106
+ "creatives.componentsV2.CapImageUpload.dragAndDrop": "",
107
+ "creatives.componentsV2.CapImageUpload.format": "",
108
+ "creatives.componentsV2.CapImageUpload.imageDimenstionDescription": "",
109
+ "creatives.componentsV2.CapImageUpload.imageGallery": "",
110
+ "creatives.componentsV2.CapImageUpload.imageIncorrectSize": "",
111
+ "creatives.componentsV2.CapImageUpload.imageReUpload": "",
112
+ "creatives.componentsV2.CapImageUpload.or": "",
113
+ "creatives.componentsV2.CapImageUpload.uploadComputer": "",
114
+ "creatives.componentsV2.CapImageUpload.uploadGallery": "",
115
+ "creatives.componentsV2.CapImageUpload.uploadImageDescription": "",
93
116
  "creatives.componentsV2.CapTagList.Cancel": "",
94
117
  "creatives.componentsV2.CapTagList.Ok": "",
95
118
  "creatives.componentsV2.CapTagList.all": "",
@@ -807,6 +830,40 @@
807
830
  "creatives.containersV2.Cap.storeCare": "",
808
831
  "creatives.containersV2.Cap.storePerformance": "",
809
832
  "creatives.containersV2.Cap.wechat": "",
833
+ "creatives.containersV2.CapFacebookPreview.audienceNetworkInstreamVideo": "",
834
+ "creatives.containersV2.CapFacebookPreview.audienceNetworkInstreamVideoMobile": "",
835
+ "creatives.containersV2.CapFacebookPreview.audienceNetworkOutstreamVideo": "",
836
+ "creatives.containersV2.CapFacebookPreview.audienceNetworkRewardedVideo": "",
837
+ "creatives.containersV2.CapFacebookPreview.desktopFeedStandard": "",
838
+ "creatives.containersV2.CapFacebookPreview.facebookStoryMobile": "",
839
+ "creatives.containersV2.CapFacebookPreview.generatePreview": "",
840
+ "creatives.containersV2.CapFacebookPreview.generatePreviewDisableToolTip": "",
841
+ "creatives.containersV2.CapFacebookPreview.generatePreviewError": "",
842
+ "creatives.containersV2.CapFacebookPreview.instagramExploreContextual": "",
843
+ "creatives.containersV2.CapFacebookPreview.instagramExploreImmersive": "",
844
+ "creatives.containersV2.CapFacebookPreview.instagramStandard": "",
845
+ "creatives.containersV2.CapFacebookPreview.instagramStory": "",
846
+ "creatives.containersV2.CapFacebookPreview.instantArticleStandard": "",
847
+ "creatives.containersV2.CapFacebookPreview.instreamVideoDesktop": "",
848
+ "creatives.containersV2.CapFacebookPreview.instreamVideoMobile": "",
849
+ "creatives.containersV2.CapFacebookPreview.marketplaceDesktop": "",
850
+ "creatives.containersV2.CapFacebookPreview.marketplaceMobile": "",
851
+ "creatives.containersV2.CapFacebookPreview.messengerMobileInboxMedia": "",
852
+ "creatives.containersV2.CapFacebookPreview.mobileBanner": "",
853
+ "creatives.containersV2.CapFacebookPreview.mobileFeedBasic": "",
854
+ "creatives.containersV2.CapFacebookPreview.mobileFeedStandard": "",
855
+ "creatives.containersV2.CapFacebookPreview.mobileFullwidth": "",
856
+ "creatives.containersV2.CapFacebookPreview.mobileInterstitial": "",
857
+ "creatives.containersV2.CapFacebookPreview.mobileMediumRectangle": "",
858
+ "creatives.containersV2.CapFacebookPreview.mobileNative": "",
859
+ "creatives.containersV2.CapFacebookPreview.previewAdDesc": "",
860
+ "creatives.containersV2.CapFacebookPreview.previewBasedonAdPlacement": "",
861
+ "creatives.containersV2.CapFacebookPreview.refreshPreview": "",
862
+ "creatives.containersV2.CapFacebookPreview.rightColumnStandard": "",
863
+ "creatives.containersV2.CapFacebookPreview.suggestedVideoDesktop": "",
864
+ "creatives.containersV2.CapFacebookPreview.suggestedVideoMobile": "",
865
+ "creatives.containersV2.CapFacebookPreview.videoNotePreview": "",
866
+ "creatives.containersV2.CapFacebookPreview.watchFeedMobile": "",
810
867
  "creatives.containersV2.ChannelTemplates.header": "",
811
868
  "creatives.containersV2.Create.addLabel": "",
812
869
  "creatives.containersV2.Create.alertMessage": "",
@@ -1059,9 +1116,51 @@
1059
1116
  "creatives.containersV2.FTP.selectFtpServerDesc": "",
1060
1117
  "creatives.containersV2.FTP.selectTag": "",
1061
1118
  "creatives.containersV2.FTP.unsupportedTagsValidationError": "",
1119
+ "creatives.containersV2.Facebook.Advertisement.AdvertisementType": "",
1120
+ "creatives.containersV2.Facebook.Advertisement.addCard": "",
1121
+ "creatives.containersV2.Facebook.Advertisement.callToAction": "",
1122
+ "creatives.containersV2.Facebook.Advertisement.callToActionMandatoryError": "",
1123
+ "creatives.containersV2.Facebook.Advertisement.carouselDesc": "",
1124
+ "creatives.containersV2.Facebook.Advertisement.carouselTitle": "",
1125
+ "creatives.containersV2.Facebook.Advertisement.clickButtonLabel": "",
1126
+ "creatives.containersV2.Facebook.Advertisement.createNotification": "",
1127
+ "creatives.containersV2.Facebook.Advertisement.creativeName": "",
1128
+ "creatives.containersV2.Facebook.Advertisement.creativesTemplatesEditName": "",
1129
+ "creatives.containersV2.Facebook.Advertisement.deleteTooltipLabel": "",
1130
+ "creatives.containersV2.Facebook.Advertisement.displayLink": "",
1131
+ "creatives.containersV2.Facebook.Advertisement.displayLinkPlaceHolder": "",
1132
+ "creatives.containersV2.Facebook.Advertisement.doneButtonLabel": "",
1133
+ "creatives.containersV2.Facebook.Advertisement.duplicateTooltipLabel": "",
1134
+ "creatives.containersV2.Facebook.Advertisement.editNotification": "",
1135
+ "creatives.containersV2.Facebook.Advertisement.facebookPage": "",
1136
+ "creatives.containersV2.Facebook.Advertisement.image": "",
1137
+ "creatives.containersV2.Facebook.Advertisement.imageVideoDesc": "",
1138
+ "creatives.containersV2.Facebook.Advertisement.imageVideoTitle": "",
1139
+ "creatives.containersV2.Facebook.Advertisement.inValidUrliErrorMessage": "",
1140
+ "creatives.containersV2.Facebook.Advertisement.linkDesc": "",
1141
+ "creatives.containersV2.Facebook.Advertisement.linkDescPlaceHolder": "",
1142
+ "creatives.containersV2.Facebook.Advertisement.linkDescToolTip": "",
1143
+ "creatives.containersV2.Facebook.Advertisement.linkHeadline": "",
1144
+ "creatives.containersV2.Facebook.Advertisement.linkHeadlinePlaceHolder": "",
1145
+ "creatives.containersV2.Facebook.Advertisement.linkHeadlineToolTip": "",
1146
+ "creatives.containersV2.Facebook.Advertisement.newFacebookCreatives": "",
1147
+ "creatives.containersV2.Facebook.Advertisement.optional": "",
1148
+ "creatives.containersV2.Facebook.Advertisement.primaryText": "",
1149
+ "creatives.containersV2.Facebook.Advertisement.primaryTextPlaceholder": "",
1150
+ "creatives.containersV2.Facebook.Advertisement.primaryTextToolTip": "",
1151
+ "creatives.containersV2.Facebook.Advertisement.shiftLeftTooltipLabel": "",
1152
+ "creatives.containersV2.Facebook.Advertisement.shiftRightTooltipLabel": "",
1153
+ "creatives.containersV2.Facebook.Advertisement.video_slideshow": "",
1154
+ "creatives.containersV2.Facebook.Advertisement.webSiteLink": "",
1155
+ "creatives.containersV2.Facebook.Advertisement.websiteLinkPlaceHolder": "",
1156
+ "creatives.containersV2.Facebook.adManagerHeading": "",
1157
+ "creatives.containersV2.Facebook.capAdManagerHeading": "",
1158
+ "creatives.containersV2.Facebook.capFbAdManager": "",
1159
+ "creatives.containersV2.Facebook.facebookDisableinfo": "",
1062
1160
  "creatives.containersV2.Facebook.fbAccount": "",
1063
1161
  "creatives.containersV2.Facebook.fbAdCampaignSetDetailsDescription": "",
1064
1162
  "creatives.containersV2.Facebook.fbAdCampaignSetDetailsTitle": "",
1163
+ "creatives.containersV2.Facebook.fbAdManager": "",
1065
1164
  "creatives.containersV2.Facebook.fbAdSetName": "",
1066
1165
  "creatives.containersV2.Facebook.fbAdsDescription": "",
1067
1166
  "creatives.containersV2.Facebook.fbAdsDetailOne": "",
@@ -1071,7 +1170,7 @@
1071
1170
  "creatives.containersV2.Facebook.fbAudience": "",
1072
1171
  "creatives.containersV2.Facebook.fbCampaignName": "",
1073
1172
  "creatives.containersV2.Facebook.fbChange": "",
1074
- "creatives.containersV2.Facebook.fbConfirm": "",
1173
+ "creatives.containersV2.Facebook.fbContinue": "",
1075
1174
  "creatives.containersV2.Facebook.fbMarketingObjective": "",
1076
1175
  "creatives.containersV2.Facebook.fbMarketingObjectiveAppInstallTitle": "",
1077
1176
  "creatives.containersV2.Facebook.fbMarketingObjectiveAppInstallsDescription": "",
@@ -1480,6 +1579,7 @@
1480
1579
  "creatives.containersV2.Templates.newTemplate": "",
1481
1580
  "creatives.containersV2.Templates.noAccountMessage": "",
1482
1581
  "creatives.containersV2.Templates.noAccountsPresent": "",
1582
+ "creatives.containersV2.Templates.noAccountsPresentFacebook": "",
1483
1583
  "creatives.containersV2.Templates.noAccountsPresentLine": "",
1484
1584
  "creatives.containersV2.Templates.noAccountsPresentViber": "",
1485
1585
  "creatives.containersV2.Templates.noAccountsPresentWeChat": "",
@@ -1527,6 +1627,7 @@
1527
1627
  "creatives.containersV2.TemplatesV2.edit": "",
1528
1628
  "creatives.containersV2.TemplatesV2.email": "",
1529
1629
  "creatives.containersV2.TemplatesV2.facebook": "",
1630
+ "creatives.containersV2.TemplatesV2.facebookDisableinfo": "",
1530
1631
  "creatives.containersV2.TemplatesV2.gallery": "",
1531
1632
  "creatives.containersV2.TemplatesV2.header": "",
1532
1633
  "creatives.containersV2.TemplatesV2.line": "",
@@ -1583,6 +1684,7 @@
1583
1684
  "creatives.containersV2.WeChat.wechatCreateSuccess": "",
1584
1685
  "creatives.containersV2.WeChat.wechatEditSuccess": "",
1585
1686
  "creatives.containersV2.appName": "",
1687
+ "creatives.containersV2.applyNow": "",
1586
1688
  "creatives.containersV2.areYouSureText": "",
1587
1689
  "creatives.containersV2.audience": "",
1588
1690
  "creatives.containersV2.campaignsDashboard": "",
@@ -1590,7 +1692,9 @@
1590
1692
  "creatives.containersV2.cancel": "",
1591
1693
  "creatives.containersV2.changeOk": "",
1592
1694
  "creatives.containersV2.incentive": "",
1695
+ "creatives.containersV2.learnMore": "",
1593
1696
  "creatives.containersV2.newOrgName": "",
1697
+ "creatives.containersV2.noCallToAction": "",
1594
1698
  "creatives.containersV2.orgChangeText": "",
1595
1699
  "creatives.containersV2.orgChangedText": "",
1596
1700
  "creatives.containersV2.orgRefreshHeading": "",
@@ -1662,6 +1766,9 @@
1662
1766
  "creatives.containersV2.richMedia.Create.wechatTitle": "",
1663
1767
  "creatives.containersV2.richMedia.Create.wrongFormatFile": "",
1664
1768
  "creatives.containersV2.richMedia.Create.wrongUrl": "",
1769
+ "creatives.containersV2.shopNow": "",
1770
+ "creatives.containersV2.signUp": "",
1771
+ "creatives.containersV2.subscribe": "",
1665
1772
  "creatives.containersV2.viber.addLabels": "",
1666
1773
  "creatives.containersV2.viber.button": "",
1667
1774
  "creatives.containersV2.viber.buttonText": "",
@@ -1697,6 +1804,7 @@
1697
1804
  "creatives.containersV2.viber.viberCreativeTitle": "",
1698
1805
  "creatives.containersV2.viber.viberEditNotification": "",
1699
1806
  "creatives.containersV2.viber.viberImageIncorrectSize": "",
1807
+ "creatives.containersV2.watchMore": "",
1700
1808
  "customdatepicker.cancel": "",
1701
1809
  "customdatepicker.done": "",
1702
1810
  "reon.components.Cap.Workbench": "",
@@ -31,8 +31,12 @@ const creativeDetails = ({
31
31
 
32
32
  const isLabelsUsed = (content = '') => {
33
33
  const tagRegex = /{{[(A-Z\w+(\s\w+)*$\(\)@!#$%^&*~.,/\\]+}}/g; // eslint-disable-line no-useless-escape
34
- content = content.replaceAll('{{optout}}', '');
35
- content = content.replaceAll('{{unsubscribe}}', '');
34
+ const isContentString= typeof content === "string";
35
+ if(isContentString){
36
+ content = content.replaceAll('{{optout}}', '');
37
+ content = content.replaceAll('{{unsubscribe}}', '');
38
+ }
39
+
36
40
  const tags = [...content.matchAll(tagRegex)];
37
41
  return !!tags.length;
38
42
  };
@@ -5,13 +5,17 @@ const gtmEvents = require.context('./gtmEvents', true, /\.js$/, 'lazy');
5
5
  export const gtmPush = (eventType, eventObject) => {
6
6
  try {
7
7
  gtmEvents(`./${eventType}.js`)
8
- .then(event => {
8
+ .then((event) => {
9
9
  event.default(eventObject);
10
10
  })
11
- .catch(err => {
12
- Bugsnag.notify(err);
11
+ .catch((err) => {
12
+ if (err) {
13
+ Bugsnag.notify(err);
14
+ }
13
15
  });
14
16
  } catch (e) {
15
- Bugsnag.notify(e);
17
+ if (e) {
18
+ Bugsnag.notify(e);
19
+ }
16
20
  }
17
21
  };