@pushwoosh/smart-components-kit 1.0.88 → 1.0.90

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 (90) hide show
  1. package/CampaignsConfigurationDrawer/CampaignsConfigurationDrawer.js +50 -16
  2. package/CampaignsConfigurationDrawer/polyglot/index.d.ts +2 -0
  3. package/CampaignsConfigurationDrawer/polyglot/index.js +10 -0
  4. package/CampaignsConfigurationDrawer/polyglot/messages_en.d.ts +3 -0
  5. package/CampaignsConfigurationDrawer/polyglot/messages_en.js +18 -0
  6. package/CampaignsConfigurationDrawer/polyglot/messages_ru.d.ts +3 -0
  7. package/CampaignsConfigurationDrawer/polyglot/messages_ru.js +18 -0
  8. package/CampaignsConfigurationDrawer/polyglot/types.d.ts +19 -0
  9. package/CampaignsConfigurationDrawer/polyglot/types.js +1 -0
  10. package/DynamicContentPickerForm/DynamicContentCustomPickerForm.js +5 -1
  11. package/DynamicContentPickerForm/DynamicContentEventPickerForm.js +11 -3
  12. package/DynamicContentPickerForm/DynamicContentTagPickerForm.js +11 -3
  13. package/DynamicContentPickerForm/SimpleDynamicContentPickerFormSmart.js +8 -2
  14. package/DynamicContentPickerForm/VariedDynamicContentPickerFormSmart.js +28 -14
  15. package/DynamicContentPickerForm/polyglot/index.d.ts +2 -0
  16. package/DynamicContentPickerForm/polyglot/index.js +10 -0
  17. package/DynamicContentPickerForm/polyglot/messages_en.d.ts +3 -0
  18. package/DynamicContentPickerForm/polyglot/messages_en.js +16 -0
  19. package/DynamicContentPickerForm/polyglot/messages_ru.d.ts +3 -0
  20. package/DynamicContentPickerForm/polyglot/messages_ru.js +16 -0
  21. package/DynamicContentPickerForm/polyglot/types.d.ts +17 -0
  22. package/DynamicContentPickerForm/polyglot/types.js +1 -0
  23. package/EmailTemplatePreview/EmailTemplatePreview.js +5 -1
  24. package/EmailTemplatePreview/polyglot/index.d.ts +5 -0
  25. package/EmailTemplatePreview/polyglot/index.js +10 -0
  26. package/EmailTemplatePreview/polyglot/messages_en.d.ts +3 -0
  27. package/EmailTemplatePreview/polyglot/messages_en.js +3 -0
  28. package/EmailTemplatePreview/polyglot/messages_ru.d.ts +3 -0
  29. package/EmailTemplatePreview/polyglot/messages_ru.js +3 -0
  30. package/EmailTemplatePreview/polyglot/types.d.ts +4 -0
  31. package/EmailTemplatePreview/polyglot/types.js +1 -0
  32. package/ExportCSV/ExportCsvBanner/ExportCsvBanner.js +24 -8
  33. package/ExportCSV/polyglot/index.d.ts +2 -0
  34. package/ExportCSV/polyglot/index.js +10 -0
  35. package/ExportCSV/polyglot/messages_en.d.ts +3 -0
  36. package/ExportCSV/polyglot/messages_en.js +9 -0
  37. package/ExportCSV/polyglot/messages_ru.d.ts +3 -0
  38. package/ExportCSV/polyglot/messages_ru.js +9 -0
  39. package/ExportCSV/polyglot/types.d.ts +10 -0
  40. package/ExportCSV/polyglot/types.js +1 -0
  41. package/MediaStore/CreateVariantDrawer.d.ts +12 -0
  42. package/MediaStore/CreateVariantDrawer.js +216 -0
  43. package/MediaStore/MediaStore.d.ts +12 -0
  44. package/MediaStore/MediaStore.js +258 -0
  45. package/MediaStore/index.d.ts +1 -0
  46. package/MediaStore/index.js +1 -0
  47. package/MediaStore/mediaFile.utils.d.ts +5 -0
  48. package/MediaStore/mediaFile.utils.js +10 -0
  49. package/MediaStore/polyglot/index.d.ts +2 -0
  50. package/MediaStore/polyglot/index.js +10 -0
  51. package/MediaStore/polyglot/messages_en.d.ts +3 -0
  52. package/MediaStore/polyglot/messages_en.js +28 -0
  53. package/MediaStore/polyglot/messages_ru.d.ts +3 -0
  54. package/MediaStore/polyglot/messages_ru.js +28 -0
  55. package/MediaStore/polyglot/types.d.ts +31 -0
  56. package/MediaStore/polyglot/types.js +1 -0
  57. package/MediaStore/styled.d.ts +27 -0
  58. package/MediaStore/styled.js +95 -0
  59. package/OpenActions/components/OpenActionsSummary/OpenActionsSummary.js +47 -3
  60. package/OpenActions/polyglot/index.d.ts +2 -0
  61. package/OpenActions/polyglot/index.js +10 -0
  62. package/OpenActions/polyglot/messages_en.d.ts +3 -0
  63. package/OpenActions/polyglot/messages_en.js +14 -0
  64. package/OpenActions/polyglot/messages_ru.d.ts +3 -0
  65. package/OpenActions/polyglot/messages_ru.js +14 -0
  66. package/OpenActions/polyglot/types.d.ts +18 -0
  67. package/OpenActions/polyglot/types.js +1 -0
  68. package/PlatformsConfigurationDrawer/components/DesktopPage/DesktopPage.js +29 -9
  69. package/PlatformsConfigurationDrawer/components/MainPage/MainPage.js +41 -13
  70. package/PlatformsConfigurationDrawer/components/MobilePage/MobilePage.js +35 -11
  71. package/PlatformsConfigurationDrawer/polyglot/index.d.ts +2 -0
  72. package/PlatformsConfigurationDrawer/polyglot/index.js +10 -0
  73. package/PlatformsConfigurationDrawer/polyglot/messages_en.d.ts +3 -0
  74. package/PlatformsConfigurationDrawer/polyglot/messages_en.js +24 -0
  75. package/PlatformsConfigurationDrawer/polyglot/messages_ru.d.ts +3 -0
  76. package/PlatformsConfigurationDrawer/polyglot/messages_ru.js +24 -0
  77. package/PlatformsConfigurationDrawer/polyglot/types.d.ts +25 -0
  78. package/PlatformsConfigurationDrawer/polyglot/types.js +1 -0
  79. package/ResendModal/ResendModal.js +23 -7
  80. package/ResendModal/polyglot/index.d.ts +2 -0
  81. package/ResendModal/polyglot/index.js +10 -0
  82. package/ResendModal/polyglot/messages_en.d.ts +3 -0
  83. package/ResendModal/polyglot/messages_en.js +9 -0
  84. package/ResendModal/polyglot/messages_ru.d.ts +3 -0
  85. package/ResendModal/polyglot/messages_ru.js +9 -0
  86. package/ResendModal/polyglot/types.d.ts +10 -0
  87. package/ResendModal/polyglot/types.js +1 -0
  88. package/index.d.ts +1 -0
  89. package/index.js +1 -0
  90. package/package.json +1 -1
@@ -0,0 +1,10 @@
1
+ import { createLang } from '@pushwoosh/dumb-components/polyglot';
2
+ import { messages as en } from './messages_en';
3
+ import { messages as ru } from './messages_ru';
4
+ export const {
5
+ Lang,
6
+ useLang
7
+ } = createLang({
8
+ en,
9
+ ru
10
+ });
@@ -0,0 +1,3 @@
1
+ import type { LangMessages } from '@pushwoosh/dumb-components/polyglot';
2
+ import { type MediaStoreMessages } from './types';
3
+ export declare const messages: LangMessages<MediaStoreMessages>;
@@ -0,0 +1,28 @@
1
+ export const messages = {
2
+ 'SMART.MEDIA_STORE.UPLOADING': 'Uploading...',
3
+ 'SMART.MEDIA_STORE.DROPZONE_HINT': 'Drag & drop images here or click to upload',
4
+ 'SMART.MEDIA_STORE.LOADING': 'Loading...',
5
+ 'SMART.MEDIA_STORE.EMPTY': 'No media files found',
6
+ 'SMART.MEDIA_STORE.SELECT_HINT': 'Click to select',
7
+ 'SMART.MEDIA_STORE.PREV_BUTTON': 'Previous',
8
+ 'SMART.MEDIA_STORE.NEXT_BUTTON': 'Next',
9
+ 'SMART.MEDIA_STORE.LOAD_ERROR': 'Failed to load media files',
10
+ 'SMART.MEDIA_STORE.UPLOAD_ERROR': 'Failed to upload image',
11
+ 'SMART.MEDIA_STORE.UPLOAD_SUCCESS': 'Image uploaded',
12
+ 'SMART.MEDIA_STORE.VARIANTS_BADGE': '{{count}} var.',
13
+ 'SMART.MEDIA_STORE.SELECT_ORIGINAL': 'Original',
14
+ 'SMART.MEDIA_STORE.CREATE_VARIANT_HINT': 'Create variants',
15
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.TITLE': 'Create variant',
16
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.CLOSE': 'Close',
17
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.RATIO_LABEL': 'Aspect ratio',
18
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.SIZE_LABEL': 'Size',
19
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.WIDTH': 'Width',
20
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.HEIGHT': 'Height',
21
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.QUALITY_LABEL': 'JPEG quality (1–100)',
22
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.CREATE_BUTTON': 'Create variant',
23
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.RATIO_EXISTS': 'A variant with this aspect ratio already exists',
24
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.EXISTING_LABEL': 'Existing variants',
25
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.NO_VARIANTS': 'No variants yet',
26
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.SUCCESS': 'Variant created',
27
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.ERROR': 'Failed to create variant'
28
+ };
@@ -0,0 +1,3 @@
1
+ import type { LangMessages } from '@pushwoosh/dumb-components/polyglot';
2
+ import { type MediaStoreMessages } from './types';
3
+ export declare const messages: LangMessages<MediaStoreMessages>;
@@ -0,0 +1,28 @@
1
+ export const messages = {
2
+ 'SMART.MEDIA_STORE.UPLOADING': 'Загрузка...',
3
+ 'SMART.MEDIA_STORE.DROPZONE_HINT': 'Перетащите изображения сюда или нажмите для загрузки',
4
+ 'SMART.MEDIA_STORE.LOADING': 'Загрузка...',
5
+ 'SMART.MEDIA_STORE.EMPTY': 'Медиафайлы не найдены',
6
+ 'SMART.MEDIA_STORE.SELECT_HINT': 'Нажмите, чтобы выбрать',
7
+ 'SMART.MEDIA_STORE.PREV_BUTTON': 'Назад',
8
+ 'SMART.MEDIA_STORE.NEXT_BUTTON': 'Вперёд',
9
+ 'SMART.MEDIA_STORE.LOAD_ERROR': 'Не удалось загрузить медиафайлы',
10
+ 'SMART.MEDIA_STORE.UPLOAD_ERROR': 'Не удалось загрузить изображение',
11
+ 'SMART.MEDIA_STORE.UPLOAD_SUCCESS': 'Изображение загружено',
12
+ 'SMART.MEDIA_STORE.VARIANTS_BADGE': '{{count}} вар.',
13
+ 'SMART.MEDIA_STORE.SELECT_ORIGINAL': 'Оригинал',
14
+ 'SMART.MEDIA_STORE.CREATE_VARIANT_HINT': 'Создать варианты',
15
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.TITLE': 'Создание варианта',
16
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.CLOSE': 'Закрыть',
17
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.RATIO_LABEL': 'Соотношение сторон',
18
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.SIZE_LABEL': 'Размер',
19
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.WIDTH': 'Ширина',
20
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.HEIGHT': 'Высота',
21
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.QUALITY_LABEL': 'Качество JPEG (1–100)',
22
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.CREATE_BUTTON': 'Создать вариант',
23
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.RATIO_EXISTS': 'Вариант с таким соотношением сторон уже существует',
24
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.EXISTING_LABEL': 'Созданные варианты',
25
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.NO_VARIANTS': 'Вариантов пока нет',
26
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.SUCCESS': 'Вариант создан',
27
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.ERROR': 'Не удалось создать вариант'
28
+ };
@@ -0,0 +1,31 @@
1
+ import type { NoParams } from '@pushwoosh/dumb-components/polyglot';
2
+ export type MediaStoreMessages = {
3
+ 'SMART.MEDIA_STORE.UPLOADING': NoParams;
4
+ 'SMART.MEDIA_STORE.DROPZONE_HINT': NoParams;
5
+ 'SMART.MEDIA_STORE.LOADING': NoParams;
6
+ 'SMART.MEDIA_STORE.EMPTY': NoParams;
7
+ 'SMART.MEDIA_STORE.SELECT_HINT': NoParams;
8
+ 'SMART.MEDIA_STORE.PREV_BUTTON': NoParams;
9
+ 'SMART.MEDIA_STORE.NEXT_BUTTON': NoParams;
10
+ 'SMART.MEDIA_STORE.LOAD_ERROR': NoParams;
11
+ 'SMART.MEDIA_STORE.UPLOAD_ERROR': NoParams;
12
+ 'SMART.MEDIA_STORE.UPLOAD_SUCCESS': NoParams;
13
+ 'SMART.MEDIA_STORE.VARIANTS_BADGE': {
14
+ count: number;
15
+ };
16
+ 'SMART.MEDIA_STORE.SELECT_ORIGINAL': NoParams;
17
+ 'SMART.MEDIA_STORE.CREATE_VARIANT_HINT': NoParams;
18
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.TITLE': NoParams;
19
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.CLOSE': NoParams;
20
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.RATIO_LABEL': NoParams;
21
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.SIZE_LABEL': NoParams;
22
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.WIDTH': NoParams;
23
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.HEIGHT': NoParams;
24
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.QUALITY_LABEL': NoParams;
25
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.CREATE_BUTTON': NoParams;
26
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.RATIO_EXISTS': NoParams;
27
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.EXISTING_LABEL': NoParams;
28
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.NO_VARIANTS': NoParams;
29
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.SUCCESS': NoParams;
30
+ 'SMART.MEDIA_STORE.CREATE_VARIANT.ERROR': NoParams;
31
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,27 @@
1
+ export declare const Grid: import("styled-components").StyledComponent<"div", any, {}, never>;
2
+ export declare const Tile: import("styled-components").StyledComponent<"div", any, {}, never>;
3
+ export declare const TileImage: import("styled-components").StyledComponent<"img", any, {}, never>;
4
+ export declare const VariantBadge: import("styled-components").StyledComponent<"span", any, {}, never>;
5
+ export declare const TileActions: import("styled-components").StyledComponent<"div", any, {}, never>;
6
+ export declare const EmptyState: import("styled-components").StyledComponent<"div", any, {}, never>;
7
+ export declare const Dropzone: import("styled-components").StyledComponent<"button", any, {
8
+ $dragOver?: boolean;
9
+ }, never>;
10
+ export declare const HiddenInput: import("styled-components").StyledComponent<"input", any, {}, never>;
11
+ export declare const PreviewStage: import("styled-components").StyledComponent<"div", any, {}, never>;
12
+ export declare const PreviewFrame: import("styled-components").StyledComponent<"div", any, {
13
+ $ratio: number;
14
+ }, never>;
15
+ export declare const PreviewImage: import("styled-components").StyledComponent<"img", any, {}, never>;
16
+ export declare const FieldLabel: import("styled-components").StyledComponent<"div", any, {}, never>;
17
+ export declare const Chips: import("styled-components").StyledComponent<"div", any, {}, never>;
18
+ export declare const Chip: import("styled-components").StyledComponent<"button", any, {
19
+ $active?: boolean;
20
+ }, never>;
21
+ export declare const Segment: import("styled-components").StyledComponent<"div", any, {}, never>;
22
+ export declare const SegmentItem: import("styled-components").StyledComponent<"button", any, {
23
+ $active?: boolean;
24
+ }, never>;
25
+ export declare const VariantStrip: import("styled-components").StyledComponent<"div", any, {}, never>;
26
+ export declare const VariantThumb: import("styled-components").StyledComponent<"div", any, {}, never>;
27
+ export declare const VariantThumbCaption: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -0,0 +1,95 @@
1
+ import styled from 'styled-components';
2
+ import { Color, FontWeight } from '@pushwoosh/kit-constants';
3
+ export const Grid = styled.div.withConfig({
4
+ displayName: "Grid",
5
+ componentId: "sc-1d9kmgw-0"
6
+ })(["display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;"]);
7
+ export const Tile = styled.div.withConfig({
8
+ displayName: "Tile",
9
+ componentId: "sc-1d9kmgw-1"
10
+ })(["position:relative;border-radius:6px;overflow:hidden;border:1px solid ", ";transition:border-color 0.15s;&:hover{border-color:", ";}"], Color.DIVIDER, Color.PRIMARY);
11
+ export const TileImage = styled.img.withConfig({
12
+ displayName: "TileImage",
13
+ componentId: "sc-1d9kmgw-2"
14
+ })(["width:100%;aspect-ratio:1;object-fit:cover;display:block;"]);
15
+ export const VariantBadge = styled.span.withConfig({
16
+ displayName: "VariantBadge",
17
+ componentId: "sc-1d9kmgw-3"
18
+ })(["position:absolute;top:6px;right:6px;font-size:10px;font-weight:", ";line-height:1;color:", ";background:", ";border-radius:20px;padding:3px 7px;pointer-events:none;"], FontWeight.BOLD, Color.CLEAR, Color.PRIMARY);
19
+ export const TileActions = styled.div.withConfig({
20
+ displayName: "TileActions",
21
+ componentId: "sc-1d9kmgw-4"
22
+ })(["position:absolute;top:6px;left:6px;display:flex;gap:6px;padding:4px;border-radius:8px;background:rgba(0,0,0,0.45);backdrop-filter:blur(2px);opacity:0;transition:opacity 0.15s;", ":hover &{opacity:1;}@media (hover:none){opacity:1;}"], Tile);
23
+ export const EmptyState = styled.div.withConfig({
24
+ displayName: "EmptyState",
25
+ componentId: "sc-1d9kmgw-5"
26
+ })(["text-align:center;padding:48px 16px;color:", ";"], Color.LOCKED);
27
+ export const Dropzone = styled.button.withConfig({
28
+ displayName: "Dropzone",
29
+ componentId: "sc-1d9kmgw-6"
30
+ })(["width:100%;min-height:96px;margin-bottom:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px;font:inherit;font-size:13px;color:", ";cursor:pointer;border:2px dashed ", ";border-radius:8px;background:", ";transition:border-color 0.15s,background 0.15s;&:hover{border-color:", ";}&:disabled{cursor:default;opacity:0.7;}"], Color.LOCKED, ({
31
+ $dragOver
32
+ }) => $dragOver ? Color.PRIMARY : Color.DIVIDER, ({
33
+ $dragOver
34
+ }) => $dragOver ? Color.SOFT_LIGHT : Color.CLEAR, Color.PRIMARY);
35
+ export const HiddenInput = styled.input.withConfig({
36
+ displayName: "HiddenInput",
37
+ componentId: "sc-1d9kmgw-7"
38
+ })(["display:none;"]);
39
+ /* ---------- CreateVariantDrawer ---------- */
40
+ export const PreviewStage = styled.div.withConfig({
41
+ displayName: "PreviewStage",
42
+ componentId: "sc-1d9kmgw-8"
43
+ })(["display:flex;align-items:center;justify-content:center;min-height:200px;max-height:360px;padding:12px;border:1px solid ", ";border-radius:6px;overflow:hidden;background:", ";"], Color.DIVIDER, Color.SOFT_LIGHT);
44
+ export const PreviewFrame = styled.div.withConfig({
45
+ displayName: "PreviewFrame",
46
+ componentId: "sc-1d9kmgw-9"
47
+ })(["aspect-ratio:", ";max-width:100%;max-height:336px;overflow:hidden;border-radius:4px;"], ({
48
+ $ratio
49
+ }) => $ratio);
50
+ export const PreviewImage = styled.img.withConfig({
51
+ displayName: "PreviewImage",
52
+ componentId: "sc-1d9kmgw-10"
53
+ })(["width:100%;height:100%;object-fit:cover;display:block;"]);
54
+ export const FieldLabel = styled.div.withConfig({
55
+ displayName: "FieldLabel",
56
+ componentId: "sc-1d9kmgw-11"
57
+ })(["font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.4px;color:", ";margin-bottom:6px;"], Color.LOCKED);
58
+ export const Chips = styled.div.withConfig({
59
+ displayName: "Chips",
60
+ componentId: "sc-1d9kmgw-12"
61
+ })(["display:flex;flex-wrap:wrap;gap:7px;"]);
62
+ export const Chip = styled.button.withConfig({
63
+ displayName: "Chip",
64
+ componentId: "sc-1d9kmgw-13"
65
+ })(["font:inherit;font-size:13px;cursor:pointer;padding:6px 12px;border-radius:20px;border:1px solid ", ";background:", ";color:", ";transition:background 0.12s,border-color 0.12s;"], ({
66
+ $active
67
+ }) => $active ? Color.PRIMARY : Color.DIVIDER, ({
68
+ $active
69
+ }) => $active ? Color.PRIMARY : Color.CLEAR, ({
70
+ $active
71
+ }) => $active ? Color.CLEAR : Color.MAIN);
72
+ export const Segment = styled.div.withConfig({
73
+ displayName: "Segment",
74
+ componentId: "sc-1d9kmgw-14"
75
+ })(["display:inline-flex;border:1px solid ", ";border-radius:6px;overflow:hidden;"], Color.DIVIDER);
76
+ export const SegmentItem = styled.button.withConfig({
77
+ displayName: "SegmentItem",
78
+ componentId: "sc-1d9kmgw-15"
79
+ })(["font:inherit;font-size:13px;cursor:pointer;padding:7px 14px;border:none;background:", ";color:", ";& + &{border-left:1px solid ", ";}"], ({
80
+ $active
81
+ }) => $active ? Color.PRIMARY : Color.CLEAR, ({
82
+ $active
83
+ }) => $active ? Color.CLEAR : Color.MAIN, Color.DIVIDER);
84
+ export const VariantStrip = styled.div.withConfig({
85
+ displayName: "VariantStrip",
86
+ componentId: "sc-1d9kmgw-16"
87
+ })(["display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start;"]);
88
+ export const VariantThumb = styled.div.withConfig({
89
+ displayName: "VariantThumb",
90
+ componentId: "sc-1d9kmgw-17"
91
+ })(["width:88px;border:1px solid ", ";border-radius:6px;overflow:hidden;background:", ";"], Color.DIVIDER, Color.SOFT_LIGHT);
92
+ export const VariantThumbCaption = styled.div.withConfig({
93
+ displayName: "VariantThumbCaption",
94
+ componentId: "sc-1d9kmgw-18"
95
+ })(["font-size:10px;text-align:center;padding:3px 2px;color:", ";"], Color.LOCKED);
@@ -8,10 +8,12 @@ import { Text } from '@pushwoosh/kit-typography';
8
8
  import { useSPAContext } from '@pushwoosh/spa-context';
9
9
  import { LinkRow, ClickActionSection } from './styles';
10
10
  import { getSafariUrl, isWebLink } from '../../helpers';
11
+ import { Lang, useLang } from '../../polyglot';
11
12
  export const OpenActionsSummary = ({
12
13
  openActions
13
14
  }) => {
14
15
  var _applicationData$valu;
16
+ const lang = useLang();
15
17
  const {
16
18
  platformsDeeplinkUrls = {},
17
19
  defaultDeeplinkUrl: allPlatformsDeeplinkUrl,
@@ -30,7 +32,11 @@ export const OpenActionsSummary = ({
30
32
  }) : Promise.resolve(undefined), [rpcGateway, applicationCode]);
31
33
  const hasCustomPlatformsDeeplink = Object.keys(platformsDeeplinkUrls).length > 0;
32
34
  const safariUrl = getSafariUrl((applicationData === null || applicationData === void 0 || (_applicationData$valu = applicationData.value) === null || _applicationData$valu === void 0 ? void 0 : _applicationData$valu.application) || null, safariUrlArgs ?? '');
33
- const renderInfoBlock = (device, action, url = null, urlText) => React.createElement(Vertical, null, React.createElement("span", null, "For", ' ', React.createElement("strong", null, device), ' ', "subscribers:", ' ', React.createElement("strong", null, action)), url && React.createElement(LinkRow, null, React.createElement(Link, {
35
+ const renderInfoBlock = (device, action, url = null, urlText) => React.createElement(Vertical, null, React.createElement("span", null, React.createElement(Lang, {
36
+ message: "SMART.OPEN_ACTIONS.INFO_BLOCK",
37
+ device: device,
38
+ action: action
39
+ })), url && React.createElement(LinkRow, null, React.createElement(Link, {
34
40
  as: Tag.A,
35
41
  rel: "noopener noreferrer",
36
42
  target: "_blank",
@@ -43,7 +49,7 @@ export const OpenActionsSummary = ({
43
49
  view: "lined",
44
50
  size: "small"
45
51
  })))));
46
- const renderPlatformDeepLink = (platformKey, url, label = 'deep link') => {
52
+ const renderPlatformDeepLink = (platformKey, url, label) => {
47
53
  const isEnumKey = typeof platformKey === 'number';
48
54
  const icon = isEnumKey ? PlatformsIcons[platformKey] : null;
49
55
  const labelText = isEnumKey ? PlatformsLabels[platformKey] : platformKey;
@@ -75,7 +81,45 @@ export const OpenActionsSummary = ({
75
81
  };
76
82
  return React.createElement(Vertical, {
77
83
  "$gap": 8
78
- }, openActions ? React.createElement(React.Fragment, null, showRichmedia && renderInfoBlock('mobile', 'open in-app banner', getRichmediaLink(showRichmedia), showRichmedia.name || showRichmedia.code), !showRichmedia && hasCustomPlatformsDeeplink && renderInfoBlock('mobile', 'follow the Deep link'), !showRichmedia && Object.entries(platformsDeeplinkUrls).map(([platformKey, url]) => renderPlatformDeepLink(+platformKey, url)), !showRichmedia && allPlatformsDeeplinkUrl && hasCustomPlatformsDeeplink && renderPlatformDeepLink('Other platforms', allPlatformsDeeplinkUrl, isWebLink(allPlatformsDeeplinkUrl) ? 'open URL in browser' : 'deep link'), !showRichmedia && allPlatformsDeeplinkUrl && !hasCustomPlatformsDeeplink && renderInfoBlock('mobile', isWebLink(allPlatformsDeeplinkUrl) ? 'open URL in browser' : 'follow the Deep link', allPlatformsDeeplinkUrl), !showRichmedia && !allPlatformsDeeplinkUrl && !hasCustomPlatformsDeeplink && renderInfoBlock('mobile', 'open home page in application'), webPageUrl && renderInfoBlock('web', 'open URL in browser', webPageUrl), webPageUrl && safariUrl && renderInfoBlock('Safari', 'open URL in Safari browser', safariUrl), !webPageUrl && renderInfoBlock('web', 'open home page in browser')) : React.createElement(Spinner, {
84
+ }, openActions ? React.createElement(React.Fragment, null, showRichmedia && renderInfoBlock(lang({
85
+ message: 'SMART.OPEN_ACTIONS.DEVICE.MOBILE'
86
+ }), lang({
87
+ message: 'SMART.OPEN_ACTIONS.ACTION.OPEN_INAPP'
88
+ }), getRichmediaLink(showRichmedia), showRichmedia.name || showRichmedia.code), !showRichmedia && hasCustomPlatformsDeeplink && renderInfoBlock(lang({
89
+ message: 'SMART.OPEN_ACTIONS.DEVICE.MOBILE'
90
+ }), lang({
91
+ message: 'SMART.OPEN_ACTIONS.ACTION.FOLLOW_DEEPLINK'
92
+ })), !showRichmedia && Object.entries(platformsDeeplinkUrls).map(([platformKey, url]) => renderPlatformDeepLink(+platformKey, url, lang({
93
+ message: 'SMART.OPEN_ACTIONS.ACTION.DEEP_LINK'
94
+ }))), !showRichmedia && allPlatformsDeeplinkUrl && hasCustomPlatformsDeeplink && renderPlatformDeepLink(lang({
95
+ message: 'SMART.OPEN_ACTIONS.DEVICE.OTHER_PLATFORMS'
96
+ }), allPlatformsDeeplinkUrl, isWebLink(allPlatformsDeeplinkUrl) ? lang({
97
+ message: 'SMART.OPEN_ACTIONS.ACTION.OPEN_URL_BROWSER'
98
+ }) : lang({
99
+ message: 'SMART.OPEN_ACTIONS.ACTION.DEEP_LINK'
100
+ })), !showRichmedia && allPlatformsDeeplinkUrl && !hasCustomPlatformsDeeplink && renderInfoBlock(lang({
101
+ message: 'SMART.OPEN_ACTIONS.DEVICE.MOBILE'
102
+ }), isWebLink(allPlatformsDeeplinkUrl) ? lang({
103
+ message: 'SMART.OPEN_ACTIONS.ACTION.OPEN_URL_BROWSER'
104
+ }) : lang({
105
+ message: 'SMART.OPEN_ACTIONS.ACTION.FOLLOW_DEEPLINK'
106
+ }), allPlatformsDeeplinkUrl), !showRichmedia && !allPlatformsDeeplinkUrl && !hasCustomPlatformsDeeplink && renderInfoBlock(lang({
107
+ message: 'SMART.OPEN_ACTIONS.DEVICE.MOBILE'
108
+ }), lang({
109
+ message: 'SMART.OPEN_ACTIONS.ACTION.OPEN_HOME_APP'
110
+ })), webPageUrl && renderInfoBlock(lang({
111
+ message: 'SMART.OPEN_ACTIONS.DEVICE.WEB'
112
+ }), lang({
113
+ message: 'SMART.OPEN_ACTIONS.ACTION.OPEN_URL_BROWSER'
114
+ }), webPageUrl), webPageUrl && safariUrl && renderInfoBlock(lang({
115
+ message: 'SMART.OPEN_ACTIONS.DEVICE.SAFARI'
116
+ }), lang({
117
+ message: 'SMART.OPEN_ACTIONS.ACTION.OPEN_URL_SAFARI'
118
+ }), safariUrl), !webPageUrl && renderInfoBlock(lang({
119
+ message: 'SMART.OPEN_ACTIONS.DEVICE.WEB'
120
+ }), lang({
121
+ message: 'SMART.OPEN_ACTIONS.ACTION.OPEN_HOME_BROWSER'
122
+ }))) : React.createElement(Spinner, {
79
123
  color: Color.MAIN,
80
124
  size: "medium"
81
125
  }));
@@ -0,0 +1,2 @@
1
+ import { type OpenActionsMessages } from './types';
2
+ export declare const Lang: import("react").FC<import("@pushwoosh/dumb-components/polyglot").LangProps<OpenActionsMessages>>, useLang: () => (props: import("@pushwoosh/dumb-components/polyglot").LangProps<OpenActionsMessages>) => string;
@@ -0,0 +1,10 @@
1
+ import { createLang } from '@pushwoosh/dumb-components/polyglot';
2
+ import { messages as en } from './messages_en';
3
+ import { messages as ru } from './messages_ru';
4
+ export const {
5
+ Lang,
6
+ useLang
7
+ } = createLang({
8
+ en,
9
+ ru
10
+ });
@@ -0,0 +1,3 @@
1
+ import type { LangMessages } from '@pushwoosh/dumb-components/polyglot';
2
+ import { type OpenActionsMessages } from './types';
3
+ export declare const messages: LangMessages<OpenActionsMessages>;
@@ -0,0 +1,14 @@
1
+ export const messages = {
2
+ 'SMART.OPEN_ACTIONS.INFO_BLOCK': 'For <strong>{{device}}</strong> subscribers: <strong>{{action}}</strong>',
3
+ 'SMART.OPEN_ACTIONS.DEVICE.MOBILE': 'mobile',
4
+ 'SMART.OPEN_ACTIONS.DEVICE.WEB': 'web',
5
+ 'SMART.OPEN_ACTIONS.DEVICE.SAFARI': 'Safari',
6
+ 'SMART.OPEN_ACTIONS.DEVICE.OTHER_PLATFORMS': 'Other platforms',
7
+ 'SMART.OPEN_ACTIONS.ACTION.OPEN_INAPP': 'open in-app banner',
8
+ 'SMART.OPEN_ACTIONS.ACTION.FOLLOW_DEEPLINK': 'follow the Deep link',
9
+ 'SMART.OPEN_ACTIONS.ACTION.OPEN_URL_BROWSER': 'open URL in browser',
10
+ 'SMART.OPEN_ACTIONS.ACTION.DEEP_LINK': 'deep link',
11
+ 'SMART.OPEN_ACTIONS.ACTION.OPEN_HOME_APP': 'open home page in application',
12
+ 'SMART.OPEN_ACTIONS.ACTION.OPEN_URL_SAFARI': 'open URL in Safari browser',
13
+ 'SMART.OPEN_ACTIONS.ACTION.OPEN_HOME_BROWSER': 'open home page in browser'
14
+ };
@@ -0,0 +1,3 @@
1
+ import type { LangMessages } from '@pushwoosh/dumb-components/polyglot';
2
+ import { type OpenActionsMessages } from './types';
3
+ export declare const messages: LangMessages<OpenActionsMessages>;
@@ -0,0 +1,14 @@
1
+ export const messages = {
2
+ 'SMART.OPEN_ACTIONS.INFO_BLOCK': 'Для подписчиков <strong>{{device}}</strong>: <strong>{{action}}</strong>',
3
+ 'SMART.OPEN_ACTIONS.DEVICE.MOBILE': 'мобильных приложений',
4
+ 'SMART.OPEN_ACTIONS.DEVICE.WEB': 'веба',
5
+ 'SMART.OPEN_ACTIONS.DEVICE.SAFARI': 'Safari',
6
+ 'SMART.OPEN_ACTIONS.DEVICE.OTHER_PLATFORMS': 'Другие платформы',
7
+ 'SMART.OPEN_ACTIONS.ACTION.OPEN_INAPP': 'открыть in-app баннер',
8
+ 'SMART.OPEN_ACTIONS.ACTION.FOLLOW_DEEPLINK': 'перейти по диплинку',
9
+ 'SMART.OPEN_ACTIONS.ACTION.OPEN_URL_BROWSER': 'открыть URL в браузере',
10
+ 'SMART.OPEN_ACTIONS.ACTION.DEEP_LINK': 'диплинк',
11
+ 'SMART.OPEN_ACTIONS.ACTION.OPEN_HOME_APP': 'открыть главную страницу в приложении',
12
+ 'SMART.OPEN_ACTIONS.ACTION.OPEN_URL_SAFARI': 'открыть URL в браузере Safari',
13
+ 'SMART.OPEN_ACTIONS.ACTION.OPEN_HOME_BROWSER': 'открыть главную страницу в браузере'
14
+ };
@@ -0,0 +1,18 @@
1
+ import type { NoParams } from '@pushwoosh/dumb-components/polyglot';
2
+ export type OpenActionsMessages = {
3
+ 'SMART.OPEN_ACTIONS.INFO_BLOCK': {
4
+ device: string;
5
+ action: string;
6
+ };
7
+ 'SMART.OPEN_ACTIONS.DEVICE.MOBILE': NoParams;
8
+ 'SMART.OPEN_ACTIONS.DEVICE.WEB': NoParams;
9
+ 'SMART.OPEN_ACTIONS.DEVICE.SAFARI': NoParams;
10
+ 'SMART.OPEN_ACTIONS.DEVICE.OTHER_PLATFORMS': NoParams;
11
+ 'SMART.OPEN_ACTIONS.ACTION.OPEN_INAPP': NoParams;
12
+ 'SMART.OPEN_ACTIONS.ACTION.FOLLOW_DEEPLINK': NoParams;
13
+ 'SMART.OPEN_ACTIONS.ACTION.OPEN_URL_BROWSER': NoParams;
14
+ 'SMART.OPEN_ACTIONS.ACTION.DEEP_LINK': NoParams;
15
+ 'SMART.OPEN_ACTIONS.ACTION.OPEN_HOME_APP': NoParams;
16
+ 'SMART.OPEN_ACTIONS.ACTION.OPEN_URL_SAFARI': NoParams;
17
+ 'SMART.OPEN_ACTIONS.ACTION.OPEN_HOME_BROWSER': NoParams;
18
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -4,6 +4,7 @@ import { Color, AllPlatforms } from '@pushwoosh/kit-constants';
4
4
  import { Vertical, Columns } from '@pushwoosh/kit-helpers';
5
5
  import { ArrowRoundIcon, CloseIcon, PlatformLogoIcon } from '@pushwoosh/kit-icons';
6
6
  import { H2, H4, Text } from '@pushwoosh/kit-typography';
7
+ import { useLang } from '../../polyglot';
7
8
  import { ColumnsWrapper, BreadCrumbs, Header, Close, Card, CardIcon } from '../../styled';
8
9
  export function DesktopPage(props) {
9
10
  const {
@@ -11,6 +12,7 @@ export function DesktopPage(props) {
11
12
  onBack,
12
13
  onClose
13
14
  } = props;
15
+ const lang = useLang();
14
16
  const hasWindowsPlatform = Object.hasOwn((application === null || application === void 0 ? void 0 : application.platforms) || {}, AllPlatforms.Windows);
15
17
  const hasMacOSPlatform = Object.hasOwn((application === null || application === void 0 ? void 0 : application.platforms) || {}, AllPlatforms.OSX);
16
18
  return React.createElement(React.Fragment, null, React.createElement(Header, null, React.createElement(ColumnsWrapper, null, React.createElement(Columns, {
@@ -25,7 +27,9 @@ export function DesktopPage(props) {
25
27
  direction: "left",
26
28
  size: "medium",
27
29
  view: "filled"
28
- })), React.createElement(H2, null, "Platform for desktop app"), React.createElement(Close, null, React.createElement(Button, {
30
+ })), React.createElement(H2, null, lang({
31
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.DESKTOP.HEADING'
32
+ })), React.createElement(Close, null, React.createElement(Button, {
29
33
  view: "ghost",
30
34
  color: "secondary",
31
35
  icon: React.createElement(CloseIcon, {
@@ -34,26 +38,38 @@ export function DesktopPage(props) {
34
38
  onClick: onClose
35
39
  }))), React.createElement(BreadCrumbs, null, React.createElement(Text, {
36
40
  "$color": Color.LOCKED
37
- }, "Channel"), React.createElement(Text, {
41
+ }, lang({
42
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.BREADCRUMB.CHANNEL'
43
+ })), React.createElement(Text, {
38
44
  "$color": Color.LOCKED
39
45
  }, "\u00A0\u203A\u00A0"), React.createElement(Text, {
40
46
  "$color": Color.LOCKED
41
- }, "Platform"), React.createElement(Text, {
47
+ }, lang({
48
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.BREADCRUMB.PLATFORM'
49
+ })), React.createElement(Text, {
42
50
  "$color": Color.PHANTOM
43
51
  }, "\u00A0\u203A\u00A0"), React.createElement(Text, {
44
52
  "$color": Color.PHANTOM
45
- }, "Gateway"), React.createElement(Text, {
53
+ }, lang({
54
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.BREADCRUMB.GATEWAY'
55
+ })), React.createElement(Text, {
46
56
  "$color": Color.PHANTOM
47
57
  }, "\u00A0\u203A\u00A0"), React.createElement(Text, {
48
58
  "$color": Color.PHANTOM
49
- }, "SDK"), React.createElement(Text, {
59
+ }, lang({
60
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.BREADCRUMB.SDK'
61
+ })), React.createElement(Text, {
50
62
  "$color": Color.PHANTOM
51
63
  }, "\u00A0\u203A\u00A0"), React.createElement(Text, {
52
64
  "$color": Color.PHANTOM
53
- }, "Test message")))), React.createElement(Vertical, {
65
+ }, lang({
66
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.BREADCRUMB.TEST_MESSAGE'
67
+ }))))), React.createElement(Vertical, {
54
68
  "$padding": "12px 0 0",
55
69
  "$gap": 8
56
- }, React.createElement(H4, null, "Which platform will we configure first?"), React.createElement(Columns, {
70
+ }, React.createElement(H4, null, lang({
71
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.PLATFORM_QUESTION'
72
+ })), React.createElement(Columns, {
57
73
  "$sizes": "1fr 1fr",
58
74
  "$gap": 6
59
75
  }, hasWindowsPlatform && React.createElement(Card, {
@@ -62,11 +78,15 @@ export function DesktopPage(props) {
62
78
  }, React.createElement(CardIcon, null, React.createElement(PlatformLogoIcon, {
63
79
  type: "windows",
64
80
  size: "medium"
65
- })), React.createElement(H4, null, "Windows")), hasMacOSPlatform && React.createElement(Card, {
81
+ })), React.createElement(H4, null, lang({
82
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.CARD.WINDOWS'
83
+ }))), hasMacOSPlatform && React.createElement(Card, {
66
84
  as: "a",
67
85
  href: `/applications/${application === null || application === void 0 ? void 0 : application.code}/configure/osx`
68
86
  }, React.createElement(CardIcon, null, React.createElement(PlatformLogoIcon, {
69
87
  type: "macos",
70
88
  size: "medium"
71
- })), React.createElement(H4, null, "MacOS")))));
89
+ })), React.createElement(H4, null, lang({
90
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.CARD.MACOS'
91
+ }))))));
72
92
  }
@@ -4,6 +4,7 @@ import { Color, AllPlatforms } from '@pushwoosh/kit-constants';
4
4
  import { Vertical, Columns } from '@pushwoosh/kit-helpers';
5
5
  import { CloseIcon, DeviceIcon, EmailIcon, WhatsappIcon, SmsIcon } from '@pushwoosh/kit-icons';
6
6
  import { H2, Paragraph, H4, Text } from '@pushwoosh/kit-typography';
7
+ import { useLang } from '../../polyglot';
7
8
  import { Header, Close, Card, CardIcon } from '../../styled';
8
9
  export function MainPage(props) {
9
10
  const {
@@ -12,28 +13,41 @@ export function MainPage(props) {
12
13
  onClickMobile,
13
14
  onClose
14
15
  } = props;
16
+ const lang = useLang();
15
17
  const hasDesktopPlatforms = Object.hasOwn((application === null || application === void 0 ? void 0 : application.platforms) || {}, AllPlatforms.Windows) || Object.hasOwn((application === null || application === void 0 ? void 0 : application.platforms) || {}, AllPlatforms.OSX);
16
18
  return React.createElement(React.Fragment, null, React.createElement(Header, null, React.createElement(Vertical, {
17
19
  "$gap": 4
18
- }, React.createElement(H2, null, "Channel to configure"), React.createElement(Paragraph, null, React.createElement(Text, {
20
+ }, React.createElement(H2, null, lang({
21
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.MAIN.HEADING'
22
+ })), React.createElement(Paragraph, null, React.createElement(Text, {
19
23
  "$color": Color.LOCKED
20
- }, "Channel"), React.createElement(Text, {
24
+ }, lang({
25
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.BREADCRUMB.CHANNEL'
26
+ })), React.createElement(Text, {
21
27
  "$color": Color.PHANTOM
22
28
  }, "\u00A0\u203A\u00A0"), React.createElement(Text, {
23
29
  "$color": Color.PHANTOM
24
- }, "Platform"), React.createElement(Text, {
30
+ }, lang({
31
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.BREADCRUMB.PLATFORM'
32
+ })), React.createElement(Text, {
25
33
  "$color": Color.PHANTOM
26
34
  }, "\u00A0\u203A\u00A0"), React.createElement(Text, {
27
35
  "$color": Color.PHANTOM
28
- }, "Gateway"), React.createElement(Text, {
36
+ }, lang({
37
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.BREADCRUMB.GATEWAY'
38
+ })), React.createElement(Text, {
29
39
  "$color": Color.PHANTOM
30
40
  }, "\u00A0\u203A\u00A0"), React.createElement(Text, {
31
41
  "$color": Color.PHANTOM
32
- }, "SDK"), React.createElement(Text, {
42
+ }, lang({
43
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.BREADCRUMB.SDK'
44
+ })), React.createElement(Text, {
33
45
  "$color": Color.PHANTOM
34
46
  }, "\u00A0\u203A\u00A0"), React.createElement(Text, {
35
47
  "$color": Color.PHANTOM
36
- }, "Test message"))), React.createElement(Close, null, React.createElement(Button, {
48
+ }, lang({
49
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.BREADCRUMB.TEST_MESSAGE'
50
+ })))), React.createElement(Close, null, React.createElement(Button, {
37
51
  view: "ghost",
38
52
  color: "secondary",
39
53
  icon: React.createElement(CloseIcon, {
@@ -43,7 +57,9 @@ export function MainPage(props) {
43
57
  }))), React.createElement(Vertical, {
44
58
  "$padding": "12px 0 0",
45
59
  "$gap": 8
46
- }, React.createElement(H4, null, "Where would you like to send your messages?"), React.createElement(Columns, {
60
+ }, React.createElement(H4, null, lang({
61
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.MAIN.QUESTION'
62
+ })), React.createElement(Columns, {
47
63
  "$sizes": "1fr 1fr",
48
64
  "$gap": 6
49
65
  }, React.createElement(Card, {
@@ -53,38 +69,50 @@ export function MainPage(props) {
53
69
  type: "mobile",
54
70
  size: "medium",
55
71
  view: "filled"
56
- })), React.createElement(H4, null, "Mobile application")), hasDesktopPlatforms && React.createElement(Card, {
72
+ })), React.createElement(H4, null, lang({
73
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.CARD.MOBILE'
74
+ }))), hasDesktopPlatforms && React.createElement(Card, {
57
75
  as: "div",
58
76
  onClick: onClickDesktop
59
77
  }, React.createElement(CardIcon, null, React.createElement(DeviceIcon, {
60
78
  type: "desktop",
61
79
  size: "medium",
62
80
  view: "filled"
63
- })), React.createElement(H4, null, "Desktop application")), React.createElement(Card, {
81
+ })), React.createElement(H4, null, lang({
82
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.CARD.DESKTOP'
83
+ }))), React.createElement(Card, {
64
84
  as: "a",
65
85
  href: `/applications/${application === null || application === void 0 ? void 0 : application.code}/configure/web`
66
86
  }, React.createElement(CardIcon, null, React.createElement(DeviceIcon, {
67
87
  type: "web",
68
88
  size: "medium",
69
89
  view: "filled"
70
- })), React.createElement(H4, null, "Website")), React.createElement(Card, {
90
+ })), React.createElement(H4, null, lang({
91
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.CARD.WEBSITE'
92
+ }))), React.createElement(Card, {
71
93
  as: "a",
72
94
  href: `/applications/${application === null || application === void 0 ? void 0 : application.code}/configure/email`
73
95
  }, React.createElement(CardIcon, null, React.createElement(EmailIcon, {
74
96
  size: "medium",
75
97
  view: "filled"
76
- })), React.createElement(H4, null, "Emails")), React.createElement(Card, {
98
+ })), React.createElement(H4, null, lang({
99
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.CARD.EMAILS'
100
+ }))), React.createElement(Card, {
77
101
  as: "a",
78
102
  href: `/applications/${application === null || application === void 0 ? void 0 : application.code}/configure`
79
103
  }, React.createElement(CardIcon, null, React.createElement(WhatsappIcon, {
80
104
  size: "medium",
81
105
  view: "filled"
82
- })), React.createElement(H4, null, "Whatsapp")), React.createElement(Card, {
106
+ })), React.createElement(H4, null, lang({
107
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.CARD.WHATSAPP'
108
+ }))), React.createElement(Card, {
83
109
  as: "a",
84
110
  href: "https://help.pushwoosh.com/hc/en-us/requests/new",
85
111
  target: "_blank"
86
112
  }, React.createElement(CardIcon, null, React.createElement(SmsIcon, {
87
113
  size: "medium",
88
114
  view: "filled"
89
- })), React.createElement(H4, null, "SMS")))));
115
+ })), React.createElement(H4, null, lang({
116
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.CARD.SMS'
117
+ }))))));
90
118
  }