@capillarytech/creatives-library 7.11.12 → 7.11.14

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.
package/config/app.js CHANGED
@@ -17,6 +17,7 @@ const config = {
17
17
  },
18
18
  development: {
19
19
  api_endpoint: 'https://crm-nightly-new.cc.capillarytech.com/arya/api/v1/creatives',
20
+ //api_endpoint: 'http://localhost:2022/arya/api/v1/creatives',
20
21
  campaigns_api_endpoint: 'https://crm-nightly-new.cc.capillarytech.com/iris/v2/campaigns',
21
22
  campaigns_api_org_endpoint: 'https://crm-nightly-new.cc.capillarytech.com/iris/v2/org/campaign',
22
23
  auth_endpoint: 'https://crm-nightly-new.cc.capillarytech.com/arya/api/v1/auth',
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@capillarytech/creatives-library",
3
3
  "author": "meharaj",
4
- "version": "7.11.12",
4
+ "version": "7.11.14",
5
5
  "description": "Capillary creatives ui",
6
6
  "main": "./index.js",
7
7
  "module": "./index.es.js",
@@ -12,6 +12,7 @@
12
12
  },
13
13
  "license": "LicenseRef-LICENSE",
14
14
  "dependencies": {
15
+ "@babel/polyfill": "7.4.3",
15
16
  "@bugsnag/js": "^7.2.1",
16
17
  "@bugsnag/plugin-react": "^7.2.1",
17
18
  "@capillarytech/cap-ui-utils": "1.4.2",
@@ -7,6 +7,7 @@ import moment from 'moment';
7
7
  import PropTypes from 'prop-types';
8
8
  import messages from './messages';
9
9
  import whatsppMsg from '../Whatsapp/messages';
10
+ import { LANGUAGE_OPTIONS } from '../Whatsapp/constants'
10
11
  import globalMessages from '../Cap/messages'
11
12
  import { MAP_TEMPLATE } from '../WeChat/Wrapper/constants';
12
13
  import { NO_COMMUNICATION, FTP, WHATSAPP } from '../App/constants';
@@ -43,10 +44,11 @@ export function SlideBoxHeader(props) {
43
44
  const {
44
45
  whatsappTemplateName,
45
46
  whatsappTemplateCategory,
47
+ whatsappTemplateLanguageCode,
46
48
  } = templateData || {};
47
49
  const whatsappName = whatsappTemplateName || templateData?.name;
48
50
  const whatsappCategory = whatsappTemplateCategory || get(templateData, `versions.base.content.whatsapp.category`, '');
49
-
51
+ const whatsappLanguageCode = whatsappTemplateLanguageCode || get(templateData, `versions.base.content.whatsapp.languages[0].language`, '');
50
52
 
51
53
  const getChannelLabel = (currentChannel = '') => {
52
54
  const labels = {
@@ -103,7 +105,7 @@ export function SlideBoxHeader(props) {
103
105
  {renderWhatsappData("label2", formatString(whatsappCategory))}
104
106
  {renderWhatsappData("label3", <FormattedMessage {...whatsppMsg.labelSeperator} />)}
105
107
  {renderWhatsappData("label1", <FormattedMessage {...whatsppMsg.languageLabel} />)}
106
- {renderWhatsappData("label2", <FormattedMessage {...whatsppMsg.templateLanguageEnglish} />)}
108
+ {renderWhatsappData("label2", LANGUAGE_OPTIONS?.find(option => option.value === whatsappLanguageCode)?.label)}
107
109
  </>)
108
110
  }
109
111
  prefix={creativesMode !== 'edit' && !isFullMode && showPrefix &&
@@ -190,7 +190,7 @@ exports[`Test SlideBoxHeader container Should render correct component for whats
190
190
  >
191
191
  <FormattedMessage
192
192
  defaultMessage="English"
193
- id="creatives.containersV2.Whatsapp.templateLanguageEnglish"
193
+ id="creatives.containersV2.Whatsapp.english"
194
194
  values={Object {}}
195
195
  />
196
196
  </SlideBoxHeader__StyledLabel>
@@ -662,6 +662,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
662
662
  const { name = '', versions = {} } = whatsappSelectedTemplateData;
663
663
  creativesParams.whatsappTemplateName = name;
664
664
  creativesParams.whatsappTemplateCategory = get(versions, `base.content.whatsapp.category`, '');
665
+ creativesParams.whatsappTemplateLanguageCode = get(versions, `base.content.whatsapp.languages[0].language`, '');
665
666
  }
666
667
  }
667
668
  creativesParams.type = this.state.channel.toUpperCase();
@@ -129,3 +129,290 @@ export const WHATSAPP_MEDIA_TYPES = {
129
129
  IMAGE: 'IMAGE',
130
130
  VIDEO: 'VIDEO',
131
131
  };
132
+
133
+ export const LANGUAGE_OPTIONS = [
134
+ {
135
+ value: 'af',
136
+ label: <FormattedMessage {...messages.afrikaans} />,
137
+ },
138
+ {
139
+ value: 'sq',
140
+ label: <FormattedMessage {...messages.albanian} />,
141
+ },
142
+ {
143
+ value: 'ar',
144
+ label: <FormattedMessage {...messages.arabic} />,
145
+ },
146
+ {
147
+ value: 'az',
148
+ label: <FormattedMessage {...messages.azerbaijani} />,
149
+ },
150
+ {
151
+ value: 'bn',
152
+ label: <FormattedMessage {...messages.bengali} />,
153
+ },
154
+ {
155
+ value: 'bg',
156
+ label: <FormattedMessage {...messages.bulgarian} />,
157
+ },
158
+ {
159
+ value: 'ca',
160
+ label: <FormattedMessage {...messages.catalan} />,
161
+ },
162
+ {
163
+ value: 'zh_CN',
164
+ label: <FormattedMessage {...messages.chineseCHN} />,
165
+ },
166
+ {
167
+ value: 'zh_HK',
168
+ label: <FormattedMessage {...messages.chineseHKG} />,
169
+ },
170
+ {
171
+ value: 'zh_TW',
172
+ label: <FormattedMessage {...messages.chineseTAI} />,
173
+ },
174
+ {
175
+ value: 'hr',
176
+ label: <FormattedMessage {...messages.croatian} />,
177
+ },
178
+ {
179
+ value: 'cs',
180
+ label: <FormattedMessage {...messages.czech} />,
181
+ },
182
+ {
183
+ value: 'da',
184
+ label: <FormattedMessage {...messages.danish} />,
185
+ },
186
+ {
187
+ value: 'nl',
188
+ label: <FormattedMessage {...messages.dutch} />,
189
+ },
190
+ {
191
+ value: 'en',
192
+ label: <FormattedMessage {...messages.english} />,
193
+ },
194
+ {
195
+ value: 'en_GB',
196
+ label: <FormattedMessage {...messages.englishUK} />,
197
+ },
198
+ {
199
+ value: 'en_US',
200
+ label: <FormattedMessage {...messages.englishUS} />,
201
+ },
202
+ {
203
+ value: 'et',
204
+ label: <FormattedMessage {...messages.estonian} />,
205
+ },
206
+ {
207
+ value: 'fil',
208
+ label: <FormattedMessage {...messages.filipino} />,
209
+ },
210
+ {
211
+ value: 'fi',
212
+ label: <FormattedMessage {...messages.finnish} />,
213
+ },
214
+ {
215
+ value: 'fr',
216
+ label: <FormattedMessage {...messages.french} />,
217
+ },
218
+ {
219
+ value: 'ka',
220
+ label: <FormattedMessage {...messages.georgian} />,
221
+ },
222
+ {
223
+ value: 'de',
224
+ label: <FormattedMessage {...messages.german} />,
225
+ },
226
+ {
227
+ value: 'el',
228
+ label: <FormattedMessage {...messages.greek} />,
229
+ },
230
+ {
231
+ value: 'gu',
232
+ label: <FormattedMessage {...messages.gujarati} />,
233
+ },
234
+ {
235
+ value: 'ha',
236
+ label: <FormattedMessage {...messages.hausa} />,
237
+ },
238
+ {
239
+ value: 'he',
240
+ label: <FormattedMessage {...messages.hebrew} />,
241
+ },
242
+ {
243
+ value: 'hi',
244
+ label: <FormattedMessage {...messages.hindi} />,
245
+ },
246
+ {
247
+ value: 'hu',
248
+ label: <FormattedMessage {...messages.hungarian} />,
249
+ },
250
+ {
251
+ value: 'id',
252
+ label: <FormattedMessage {...messages.indonesian} />,
253
+ },
254
+ {
255
+ value: 'ga',
256
+ label: <FormattedMessage {...messages.irish} />,
257
+ },
258
+ {
259
+ value: 'it',
260
+ label: <FormattedMessage {...messages.italian} />,
261
+ },
262
+ {
263
+ value: 'ja',
264
+ label: <FormattedMessage {...messages.japanese} />,
265
+ },
266
+ {
267
+ value: 'kn',
268
+ label: <FormattedMessage {...messages.kannada} />,
269
+ },
270
+ {
271
+ value: 'kk',
272
+ label: <FormattedMessage {...messages.kazakh} />,
273
+ },
274
+ {
275
+ value: 'rw_RW',
276
+ label: <FormattedMessage {...messages.kinyarwanda} />,
277
+ },
278
+ {
279
+ value: 'ko',
280
+ label: <FormattedMessage {...messages.korean} />,
281
+ },
282
+ {
283
+ value: 'ky_KG',
284
+ label: <FormattedMessage {...messages.kyrgyz} />,
285
+ },
286
+ {
287
+ value: 'lo',
288
+ label: <FormattedMessage {...messages.lao} />,
289
+ },
290
+ {
291
+ value: 'lv',
292
+ label: <FormattedMessage {...messages.latvian} />,
293
+ },
294
+ {
295
+ value: 'lt',
296
+ label: <FormattedMessage {...messages.lithuanian} />,
297
+ },
298
+ {
299
+ value: 'mk',
300
+ label: <FormattedMessage {...messages.macedonian} />,
301
+ },
302
+ {
303
+ value: 'ms',
304
+ label: <FormattedMessage {...messages.malay} />,
305
+ },
306
+ {
307
+ value: 'ml',
308
+ label: <FormattedMessage {...messages.malayalam} />,
309
+ },
310
+ {
311
+ value: 'mr',
312
+ label: <FormattedMessage {...messages.marathi} />,
313
+ },
314
+ {
315
+ value: 'nb',
316
+ label: <FormattedMessage {...messages.norwegian} />,
317
+ },
318
+ {
319
+ value: 'fa',
320
+ label: <FormattedMessage {...messages.persian} />,
321
+ },
322
+ {
323
+ value: 'pl',
324
+ label: <FormattedMessage {...messages.polish} />,
325
+ },
326
+ {
327
+ value: 'pt_BR',
328
+ label: <FormattedMessage {...messages.portugueseBR} />,
329
+ },
330
+ {
331
+ value: 'pt_PT',
332
+ label: <FormattedMessage {...messages.portuguesePOR} />,
333
+ },
334
+ {
335
+ value: 'pa',
336
+ label: <FormattedMessage {...messages.punjabi} />,
337
+ },
338
+ {
339
+ value: 'ro',
340
+ label: <FormattedMessage {...messages.romanian} />,
341
+ },
342
+ {
343
+ value: 'ru',
344
+ label: <FormattedMessage {...messages.russian} />,
345
+ },
346
+ {
347
+ value: 'sr',
348
+ label: <FormattedMessage {...messages.serbian} />,
349
+ },
350
+ {
351
+ value: 'sk',
352
+ label: <FormattedMessage {...messages.slovak} />,
353
+ },
354
+ {
355
+ value: 'sl',
356
+ label: <FormattedMessage {...messages.slovenian} />,
357
+ },
358
+ {
359
+ value: 'es',
360
+ label: <FormattedMessage {...messages.spanish} />,
361
+ },
362
+ {
363
+ value: 'es_AR',
364
+ label: <FormattedMessage {...messages.spanishARG} />,
365
+ },
366
+ {
367
+ value: 'es_ES',
368
+ label: <FormattedMessage {...messages.spanishSPA} />,
369
+ },
370
+ {
371
+ value: 'es_MX',
372
+ label: <FormattedMessage {...messages.spanishMEX} />,
373
+ },
374
+ {
375
+ value: 'sw',
376
+ label: <FormattedMessage {...messages.swahili} />,
377
+ },
378
+ {
379
+ value: 'sv',
380
+ label: <FormattedMessage {...messages.swedish} />,
381
+ },
382
+ {
383
+ value: 'ta',
384
+ label: <FormattedMessage {...messages.tamil} />,
385
+ },
386
+ {
387
+ value: 'te',
388
+ label: <FormattedMessage {...messages.telugu} />,
389
+ },
390
+ {
391
+ value: 'th',
392
+ label: <FormattedMessage {...messages.thai} />,
393
+ },
394
+ {
395
+ value: 'tr',
396
+ label: <FormattedMessage {...messages.turkish} />,
397
+ },
398
+ {
399
+ value: 'uk',
400
+ label: <FormattedMessage {...messages.ukrainian} />,
401
+ },
402
+ {
403
+ value: 'ur',
404
+ label: <FormattedMessage {...messages.urdu} />,
405
+ },
406
+ {
407
+ value: 'uz',
408
+ label: <FormattedMessage {...messages.uzbek} />,
409
+ },
410
+ {
411
+ value: 'vi',
412
+ label: <FormattedMessage {...messages.vietnamese} />,
413
+ },
414
+ {
415
+ value: 'zu',
416
+ label: <FormattedMessage {...messages.zulu} />,
417
+ },
418
+ ];
@@ -41,6 +41,7 @@ import {
41
41
  TEMPLATE_MESSAGE_MAX_LENGTH,
42
42
  WHATSAPP,
43
43
  CATEGORY_OPTIONS,
44
+ LANGUAGE_OPTIONS,
44
45
  WHATSAPP_STATUSES,
45
46
  TAG,
46
47
  EMBEDDED,
@@ -89,6 +90,9 @@ export const Whatsapp = (props) => {
89
90
  const [templateCategory, setTemplateCategory] = useState(
90
91
  formatMessage(messages.select),
91
92
  );
93
+ const [templateLanguage, setTemplateLanguage] = useState(
94
+ formatMessage(messages.select),
95
+ );
92
96
  const [templateMessage, setTemplateMessage] = useState('');
93
97
  const [templateMessageError, setTemplateMessageError] = useState(false);
94
98
  const [addedVarCount, setAddedVarCount] = useState(0);
@@ -440,6 +444,10 @@ export const Whatsapp = (props) => {
440
444
  setTemplateCategory(value);
441
445
  };
442
446
 
447
+ const onTemplateLanguageChange = (value) => {
448
+ setTemplateLanguage(value);
449
+ };
450
+
443
451
  const onAddVar = () => {
444
452
  const validVarArr = templateMessage.match(validVarRegex) || [];
445
453
  const tempMsg = `${templateMessage}{{${validVarArr.length + 1}}}`;
@@ -503,18 +511,14 @@ export const Whatsapp = (props) => {
503
511
  return errorMessage;
504
512
  };
505
513
 
506
- const getPayloadContent = () => (
507
- (isEditFlow && !isFullMode)
508
- ? `${updatedSmsEditor.join('')}\n${formatMessage(
514
+ const getPayloadContent = () =>
515
+ isEditFlow && !isFullMode
516
+ ? `${updatedSmsEditor.join('')}\n${formatMessage(
509
517
  messages.templateMessageUnsubscribeText,
510
518
  )}`
511
- : `${templateMessage}\n${formatMessage(
512
- messages.modifiedUnsubscribeText,
513
- {
519
+ : `${templateMessage}\n${formatMessage(messages.modifiedUnsubscribeText, {
514
520
  value: `{{${addedVarCount + 1}}}`,
515
- },
516
- )}`
517
- );
521
+ })}`;
518
522
 
519
523
  const createPayload = () => ({
520
524
  name: templateName,
@@ -525,7 +529,7 @@ export const Whatsapp = (props) => {
525
529
  category: templateCategory,
526
530
  languages: [
527
531
  {
528
- language: 'en',
532
+ language: templateLanguage,
529
533
  content: getPayloadContent(),
530
534
  },
531
535
  ],
@@ -590,8 +594,12 @@ export const Whatsapp = (props) => {
590
594
  if (templateName.trim() === '' || templateNameError) {
591
595
  return true;
592
596
  }
593
- //if template category is not selected
594
- if (templateCategory === 'Select') {
597
+ //if template category or language is not selected
598
+ if (
599
+ [templateCategory, templateLanguage].includes(
600
+ formatMessage(messages.select),
601
+ )
602
+ ) {
595
603
  return true;
596
604
  }
597
605
  //if template message is not entered
@@ -624,7 +632,7 @@ export const Whatsapp = (props) => {
624
632
  }
625
633
  />
626
634
  <CapInput
627
- id={`whatsapp_template_name_input`}
635
+ id="whatsapp_template_name_input"
628
636
  onChange={onTemplateNameChange}
629
637
  errorMessage={templateNameError}
630
638
  placeholder={formatMessage(globalMessages.templateNamePlaceholder)}
@@ -635,18 +643,18 @@ export const Whatsapp = (props) => {
635
643
  {/* template category */}
636
644
  {renderLabel('templateCategoryLabel')}
637
645
  <CapSelect
638
- id={'select-whatsapp-category'}
646
+ id="select-whatsapp-category"
639
647
  options={templateCategoryOptions || []}
640
648
  onChange={onTemplateCategoryChange}
641
649
  value={templateCategory}
642
650
  />
643
651
  {/* template language */}
644
652
  {renderLabel('messageLanguageLabel')}
645
- <CapInput
646
- id={`whatsapp_template_language_input`}
647
- defaultValue={'English'}
648
- size="default"
649
- disabled
653
+ <CapSelect
654
+ id="select-whatsapp-language"
655
+ options={LANGUAGE_OPTIONS || []}
656
+ onChange={onTemplateLanguageChange}
657
+ value={templateLanguage}
650
658
  />
651
659
  {/* template mdeia type */}
652
660
  {renderLabel('mediaLabel')}
@@ -682,7 +690,9 @@ export const Whatsapp = (props) => {
682
690
  type="flat"
683
691
  isAddBtn
684
692
  onClick={onAddVar}
685
- disabled={(addedVarCount >= 19 || templateMessageError) && templateMessage}
693
+ disabled={
694
+ (addedVarCount >= 19 || templateMessageError) && templateMessage
695
+ }
686
696
  >
687
697
  {formatMessage(messages.addVar)}
688
698
  </CapButton>
@@ -1,4 +1,4 @@
1
- @import "~@capillarytech/cap-ui-library/styles/_variables";
1
+ @import '~@capillarytech/cap-ui-library/styles/_variables';
2
2
 
3
3
  .cap-whatsapp-creatives {
4
4
  .whatsapp-render-heading {
@@ -52,7 +52,8 @@
52
52
  margin-right: $CAP_SPACE_16;
53
53
  width: 95%;
54
54
  }
55
- #select-whatsapp-category {
55
+ #select-whatsapp-category,
56
+ #select-whatsapp-language {
56
57
  width: 100%;
57
58
  }
58
59