@pushwoosh/smart-components-kit 1.0.89 → 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 (70) 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/OpenActions/components/OpenActionsSummary/OpenActionsSummary.js +47 -3
  42. package/OpenActions/polyglot/index.d.ts +2 -0
  43. package/OpenActions/polyglot/index.js +10 -0
  44. package/OpenActions/polyglot/messages_en.d.ts +3 -0
  45. package/OpenActions/polyglot/messages_en.js +14 -0
  46. package/OpenActions/polyglot/messages_ru.d.ts +3 -0
  47. package/OpenActions/polyglot/messages_ru.js +14 -0
  48. package/OpenActions/polyglot/types.d.ts +18 -0
  49. package/OpenActions/polyglot/types.js +1 -0
  50. package/PlatformsConfigurationDrawer/components/DesktopPage/DesktopPage.js +29 -9
  51. package/PlatformsConfigurationDrawer/components/MainPage/MainPage.js +41 -13
  52. package/PlatformsConfigurationDrawer/components/MobilePage/MobilePage.js +35 -11
  53. package/PlatformsConfigurationDrawer/polyglot/index.d.ts +2 -0
  54. package/PlatformsConfigurationDrawer/polyglot/index.js +10 -0
  55. package/PlatformsConfigurationDrawer/polyglot/messages_en.d.ts +3 -0
  56. package/PlatformsConfigurationDrawer/polyglot/messages_en.js +24 -0
  57. package/PlatformsConfigurationDrawer/polyglot/messages_ru.d.ts +3 -0
  58. package/PlatformsConfigurationDrawer/polyglot/messages_ru.js +24 -0
  59. package/PlatformsConfigurationDrawer/polyglot/types.d.ts +25 -0
  60. package/PlatformsConfigurationDrawer/polyglot/types.js +1 -0
  61. package/ResendModal/ResendModal.js +23 -7
  62. package/ResendModal/polyglot/index.d.ts +2 -0
  63. package/ResendModal/polyglot/index.js +10 -0
  64. package/ResendModal/polyglot/messages_en.d.ts +3 -0
  65. package/ResendModal/polyglot/messages_en.js +9 -0
  66. package/ResendModal/polyglot/messages_ru.d.ts +3 -0
  67. package/ResendModal/polyglot/messages_ru.js +9 -0
  68. package/ResendModal/polyglot/types.d.ts +10 -0
  69. package/ResendModal/polyglot/types.js +1 -0
  70. package/package.json +1 -1
@@ -4,6 +4,7 @@ import { Color, ShapeRadius } from '@pushwoosh/kit-constants';
4
4
  import { Horizontal } from '@pushwoosh/kit-helpers';
5
5
  import { DangerTriangleIcon, DownloadIcon } from '@pushwoosh/kit-icons';
6
6
  import { Text } from '@pushwoosh/kit-typography';
7
+ import { useLang } from '../polyglot';
7
8
  import { useExportService } from '../useExportService';
8
9
  import { useExportVisibility } from './hooks/useExportVisibility';
9
10
  export const ExportCsvBanner = ({
@@ -14,6 +15,7 @@ export const ExportCsvBanner = ({
14
15
  isKeepPageOpenWarning,
15
16
  onClose
16
17
  }) => {
18
+ const lang = useLang();
17
19
  const {
18
20
  getLastTasks,
19
21
  getStatus,
@@ -72,13 +74,17 @@ export const ExportCsvBanner = ({
72
74
  status,
73
75
  filename: data.file,
74
76
  args,
75
- progressTitle: 'Exporting list:',
76
- resultSubTitle: 'Result:'
77
+ progressTitle: lang({
78
+ message: 'SMART.EXPORT_CSV.PROGRESS_TITLE'
79
+ }),
80
+ resultSubTitle: lang({
81
+ message: 'SMART.EXPORT_CSV.RESULT_SUBTITLE'
82
+ })
77
83
  });
78
84
  }
79
85
  });
80
86
  }
81
- }, [getLastTasks, isHidden, lastTasksParams, updateExportTask]);
87
+ }, [getLastTasks, isHidden, lastTasksParams, updateExportTask, lang]);
82
88
  const handleClose = useCallback(() => {
83
89
  hide();
84
90
  onClose === null || onClose === void 0 || onClose();
@@ -99,7 +105,9 @@ export const ExportCsvBanner = ({
99
105
  "$bgColor": Color.CLEAR
100
106
  }, status === 'STATUS_SUCCESS' && React.createElement(ExportResult, {
101
107
  type: "success",
102
- title: "Exporting complete",
108
+ title: lang({
109
+ message: 'SMART.EXPORT_CSV.SUCCESS_TITLE'
110
+ }),
103
111
  subtitle: `${resultSubTitle} ${filename}`,
104
112
  handleClose: handleClose,
105
113
  rightSlot: React.createElement("a", {
@@ -112,7 +120,9 @@ export const ExportCsvBanner = ({
112
120
  size: "small",
113
121
  view: "filled"
114
122
  })
115
- }, "Download CSV"))
123
+ }, lang({
124
+ message: 'SMART.EXPORT_CSV.DOWNLOAD'
125
+ })))
116
126
  }), status === 'STATUS_PENDING' && (isKeepPageOpenWarning ? React.createElement(ProgressBar, {
117
127
  title: progressTitle,
118
128
  percentValue: progress,
@@ -120,14 +130,20 @@ export const ExportCsvBanner = ({
120
130
  "$color": Color.WARNING,
121
131
  "$variant": "h5",
122
132
  "$uppercase": true
123
- }, "Keep page open during export")
133
+ }, lang({
134
+ message: 'SMART.EXPORT_CSV.KEEP_PAGE_OPEN'
135
+ }))
124
136
  }) : React.createElement(ProgressBar, {
125
137
  title: progressTitle,
126
138
  percentValue: progress
127
139
  })), status === 'STATUS_FAILED' && React.createElement(ExportResult, {
128
140
  type: "error",
129
- title: "Export failed",
130
- subtitle: "Please try again",
141
+ title: lang({
142
+ message: 'SMART.EXPORT_CSV.FAILED_TITLE'
143
+ }),
144
+ subtitle: lang({
145
+ message: 'SMART.EXPORT_CSV.FAILED_SUBTITLE'
146
+ }),
131
147
  leftSlotIcon: React.createElement(DangerTriangleIcon, {
132
148
  size: "medium",
133
149
  view: "filled"
@@ -0,0 +1,2 @@
1
+ import { type ExportCsvMessages } from './types';
2
+ export declare const Lang: import("react").FC<import("@pushwoosh/dumb-components/polyglot").LangProps<ExportCsvMessages>>, useLang: () => (props: import("@pushwoosh/dumb-components/polyglot").LangProps<ExportCsvMessages>) => 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 ExportCsvMessages } from './types';
3
+ export declare const messages: LangMessages<ExportCsvMessages>;
@@ -0,0 +1,9 @@
1
+ export const messages = {
2
+ 'SMART.EXPORT_CSV.PROGRESS_TITLE': 'Exporting list:',
3
+ 'SMART.EXPORT_CSV.RESULT_SUBTITLE': 'Result:',
4
+ 'SMART.EXPORT_CSV.SUCCESS_TITLE': 'Exporting complete',
5
+ 'SMART.EXPORT_CSV.DOWNLOAD': 'Download CSV',
6
+ 'SMART.EXPORT_CSV.KEEP_PAGE_OPEN': 'Keep page open during export',
7
+ 'SMART.EXPORT_CSV.FAILED_TITLE': 'Export failed',
8
+ 'SMART.EXPORT_CSV.FAILED_SUBTITLE': 'Please try again'
9
+ };
@@ -0,0 +1,3 @@
1
+ import type { LangMessages } from '@pushwoosh/dumb-components/polyglot';
2
+ import { type ExportCsvMessages } from './types';
3
+ export declare const messages: LangMessages<ExportCsvMessages>;
@@ -0,0 +1,9 @@
1
+ export const messages = {
2
+ 'SMART.EXPORT_CSV.PROGRESS_TITLE': 'Экспорт списка:',
3
+ 'SMART.EXPORT_CSV.RESULT_SUBTITLE': 'Результат:',
4
+ 'SMART.EXPORT_CSV.SUCCESS_TITLE': 'Экспорт завершён',
5
+ 'SMART.EXPORT_CSV.DOWNLOAD': 'Скачать CSV',
6
+ 'SMART.EXPORT_CSV.KEEP_PAGE_OPEN': 'Не закрывайте страницу во время экспорта',
7
+ 'SMART.EXPORT_CSV.FAILED_TITLE': 'Ошибка экспорта',
8
+ 'SMART.EXPORT_CSV.FAILED_SUBTITLE': 'Попробуйте ещё раз'
9
+ };
@@ -0,0 +1,10 @@
1
+ import type { NoParams } from '@pushwoosh/dumb-components/polyglot';
2
+ export type ExportCsvMessages = {
3
+ 'SMART.EXPORT_CSV.PROGRESS_TITLE': NoParams;
4
+ 'SMART.EXPORT_CSV.RESULT_SUBTITLE': NoParams;
5
+ 'SMART.EXPORT_CSV.SUCCESS_TITLE': NoParams;
6
+ 'SMART.EXPORT_CSV.DOWNLOAD': NoParams;
7
+ 'SMART.EXPORT_CSV.KEEP_PAGE_OPEN': NoParams;
8
+ 'SMART.EXPORT_CSV.FAILED_TITLE': NoParams;
9
+ 'SMART.EXPORT_CSV.FAILED_SUBTITLE': NoParams;
10
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -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
  }
@@ -4,6 +4,7 @@ import { Color } from '@pushwoosh/kit-constants';
4
4
  import { Columns, Vertical } 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 MobilePage(props) {
9
10
  const {
@@ -11,6 +12,7 @@ export function MobilePage(props) {
11
12
  onBack,
12
13
  onClose
13
14
  } = props;
15
+ const lang = useLang();
14
16
  return React.createElement(React.Fragment, null, React.createElement(Header, null, React.createElement(ColumnsWrapper, null, React.createElement(Columns, {
15
17
  "$sizes": "auto 1fr auto",
16
18
  "$alignItems": "center",
@@ -23,7 +25,9 @@ export function MobilePage(props) {
23
25
  direction: "left",
24
26
  size: "medium",
25
27
  view: "filled"
26
- })), React.createElement(H2, null, "Platform for mobile app"), React.createElement(Close, null, React.createElement(Button, {
28
+ })), React.createElement(H2, null, lang({
29
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.MOBILE.HEADING'
30
+ })), React.createElement(Close, null, React.createElement(Button, {
27
31
  view: "ghost",
28
32
  color: "secondary",
29
33
  icon: React.createElement(CloseIcon, {
@@ -32,26 +36,38 @@ export function MobilePage(props) {
32
36
  onClick: onClose
33
37
  }))), React.createElement(BreadCrumbs, null, React.createElement(Text, {
34
38
  "$color": Color.LOCKED
35
- }, "Channel"), React.createElement(Text, {
39
+ }, lang({
40
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.BREADCRUMB.CHANNEL'
41
+ })), React.createElement(Text, {
36
42
  "$color": Color.LOCKED
37
43
  }, "\u00A0\u203A\u00A0"), React.createElement(Text, {
38
44
  "$color": Color.LOCKED
39
- }, "Platform"), React.createElement(Text, {
45
+ }, lang({
46
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.BREADCRUMB.PLATFORM'
47
+ })), React.createElement(Text, {
40
48
  "$color": Color.PHANTOM
41
49
  }, "\u00A0\u203A\u00A0"), React.createElement(Text, {
42
50
  "$color": Color.PHANTOM
43
- }, "Gateway"), React.createElement(Text, {
51
+ }, lang({
52
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.BREADCRUMB.GATEWAY'
53
+ })), React.createElement(Text, {
44
54
  "$color": Color.PHANTOM
45
55
  }, "\u00A0\u203A\u00A0"), React.createElement(Text, {
46
56
  "$color": Color.PHANTOM
47
- }, "SDK"), React.createElement(Text, {
57
+ }, lang({
58
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.BREADCRUMB.SDK'
59
+ })), React.createElement(Text, {
48
60
  "$color": Color.PHANTOM
49
61
  }, "\u00A0\u203A\u00A0"), React.createElement(Text, {
50
62
  "$color": Color.PHANTOM
51
- }, "Test message")))), React.createElement(Vertical, {
63
+ }, lang({
64
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.BREADCRUMB.TEST_MESSAGE'
65
+ }))))), React.createElement(Vertical, {
52
66
  "$padding": "12px 0 0",
53
67
  "$gap": 8
54
- }, React.createElement(H4, null, "Which platform will we configure first?"), React.createElement(Columns, {
68
+ }, React.createElement(H4, null, lang({
69
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.PLATFORM_QUESTION'
70
+ })), React.createElement(Columns, {
55
71
  "$sizes": "1fr 1fr",
56
72
  "$gap": 6
57
73
  }, React.createElement(Card, {
@@ -60,23 +76,31 @@ export function MobilePage(props) {
60
76
  }, React.createElement(CardIcon, null, React.createElement(PlatformLogoIcon, {
61
77
  type: "apple",
62
78
  size: "medium"
63
- })), React.createElement(H4, null, "iOS")), React.createElement(Card, {
79
+ })), React.createElement(H4, null, lang({
80
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.CARD.IOS'
81
+ }))), React.createElement(Card, {
64
82
  as: "a",
65
83
  href: `/applications/${application === null || application === void 0 ? void 0 : application.code}/configure/android`
66
84
  }, React.createElement(CardIcon, null, React.createElement(PlatformLogoIcon, {
67
85
  type: "android",
68
86
  size: "medium"
69
- })), React.createElement(H4, null, "Android")), React.createElement(Card, {
87
+ })), React.createElement(H4, null, lang({
88
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.CARD.ANDROID'
89
+ }))), React.createElement(Card, {
70
90
  as: "a",
71
91
  href: `/applications/${application === null || application === void 0 ? void 0 : application.code}/configure/huawei`
72
92
  }, React.createElement(CardIcon, null, React.createElement(PlatformLogoIcon, {
73
93
  type: "huawei",
74
94
  size: "medium"
75
- })), React.createElement(H4, null, "Huawei")), React.createElement(Card, {
95
+ })), React.createElement(H4, null, lang({
96
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.CARD.HUAWEI'
97
+ }))), React.createElement(Card, {
76
98
  as: "a",
77
99
  href: `/applications/${application === null || application === void 0 ? void 0 : application.code}/configure`
78
100
  }, React.createElement(CardIcon, null, React.createElement(PlatformLogoIcon, {
79
101
  type: "amazon",
80
102
  size: "medium"
81
- })), React.createElement(H4, null, "Amazon")))));
103
+ })), React.createElement(H4, null, lang({
104
+ message: 'SMART.PLATFORMS_CONFIGURATION_DRAWER.CARD.AMAZON'
105
+ }))))));
82
106
  }
@@ -0,0 +1,2 @@
1
+ import { type PlatformsConfigurationDrawerMessages } from './types';
2
+ export declare const Lang: import("react").FC<import("@pushwoosh/dumb-components/polyglot").LangProps<PlatformsConfigurationDrawerMessages>>, useLang: () => (props: import("@pushwoosh/dumb-components/polyglot").LangProps<PlatformsConfigurationDrawerMessages>) => 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
+ });