@capillarytech/creatives-library 3.0.31 → 3.0.32

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 (171) hide show
  1. package/app.js +1 -1
  2. package/components/BreadCrumbs/messages.js +1 -1
  3. package/components/CapTagList/index.js +3 -3
  4. package/components/CapTagList/messages.js +16 -4
  5. package/components/Ckeditor/messages.js +1 -1
  6. package/components/CustomPopOver/index.js +3 -4
  7. package/components/CustomPopOver/messages.js +5 -1
  8. package/components/DateFilter/index.js +12 -12
  9. package/components/DateFilter/messages.js +40 -0
  10. package/components/DateRange/index.js +5 -4
  11. package/components/DateRange/messages.js +13 -1
  12. package/components/Edmeditor/messages.js +1 -1
  13. package/components/EmailPreview/index.js +4 -4
  14. package/components/EmailPreview/messages.js +18 -2
  15. package/components/Footer/messages.js +1 -1
  16. package/components/FormBuilder/index.js +13 -17
  17. package/components/FormBuilder/messages.js +33 -1
  18. package/components/Header/messages.js +4 -4
  19. package/components/ImagePreview/index.js +1 -1
  20. package/components/ImagePreview/messages.js +5 -1
  21. package/components/PageHeader/messages.js +1 -1
  22. package/components/PreviewSideBar/index.js +2 -2
  23. package/components/PreviewSideBar/messages.js +14 -6
  24. package/components/Sidebar/messages.js +3 -3
  25. package/components/SmsTest/index.js +6 -4
  26. package/components/SmsTest/messages.js +9 -1
  27. package/components/TemplatePreview/WechatRichmediaTemplatePreview/messages.js +3 -3
  28. package/components/TemplatePreview/index.js +12 -7
  29. package/components/TemplatePreview/messages.js +28 -5
  30. package/components/Toastr/messages.js +1 -1
  31. package/components/ToastrMessage/index.js +4 -1
  32. package/components/ToastrMessage/messages.js +5 -1
  33. package/components/TopBar/messages.js +1 -1
  34. package/config/app.js +4 -0
  35. package/containers/Assets/Gallery/messages.js +20 -20
  36. package/containers/Cap/index.js +6 -5
  37. package/containers/Cap/messages.js +75 -0
  38. package/containers/Dashboard/index.js +2 -2
  39. package/containers/Dashboard/messages.js +1 -1
  40. package/containers/Ebill/index.js +1 -1
  41. package/containers/Ebill/messages.js +20 -16
  42. package/containers/Email/index.js +24 -24
  43. package/containers/Email/messages.js +107 -59
  44. package/containers/Line/Create/index.js +5 -5
  45. package/containers/Line/Create/messages.js +58 -42
  46. package/containers/Line/Edit/index.js +12 -12
  47. package/containers/Line/Edit/messages.js +58 -38
  48. package/containers/Login/components/LoginForm/index.js +10 -7
  49. package/containers/Login/components/LoginForm/messages.js +15 -3
  50. package/containers/Login/index.js +1 -1
  51. package/containers/Login/messages.js +7 -3
  52. package/containers/MobilePush/Create/index.js +43 -43
  53. package/containers/MobilePush/Create/messages.js +111 -75
  54. package/containers/MobilePush/Edit/index.js +43 -43
  55. package/containers/MobilePush/Edit/messages.js +100 -83
  56. package/containers/NotFoundPage/messages.js +1 -1
  57. package/containers/Sms/Create/index.js +7 -8
  58. package/containers/Sms/Create/messages.js +43 -19
  59. package/containers/Sms/Edit/index.js +4 -4
  60. package/containers/Sms/Edit/messages.js +36 -20
  61. package/containers/TagList/messages.js +1 -1
  62. package/containers/Templates/index.js +20 -19
  63. package/containers/Templates/messages.js +136 -64
  64. package/containers/TestPage/messages.js +1 -1
  65. package/containers/Testv2/index.js +2 -2
  66. package/containers/Testv2/messages.js +9 -1
  67. package/containers/WeChat/MapTemplates/index.js +10 -10
  68. package/containers/WeChat/MapTemplates/messages.js +49 -17
  69. package/containers/WeChat/RichmediaTemplates/Create/messages.js +33 -33
  70. package/containers/WeChat/RichmediaTemplates/Edit/messages.js +1 -1
  71. package/containers/WeChat/RichmediaTemplates/View/index.js +2 -2
  72. package/containers/WeChat/RichmediaTemplates/View/messages.js +9 -1
  73. package/hoc/withStyles.js +12 -0
  74. package/index.js +8 -1
  75. package/package.json +1 -4
  76. package/reducers.js +1 -1
  77. package/routes.js +4 -1
  78. package/services/api.js +25 -2
  79. package/translations/en.json +1396 -360
  80. package/translations/zh.json +1417 -381
  81. package/utils/smsCharCountV2.js +28 -6
  82. package/v2Components/BreadCrumbs/messages.js +1 -1
  83. package/v2Components/CallTaskPreview/messages.js +1 -1
  84. package/v2Components/CapTagList/index.js +6 -5
  85. package/v2Components/CapTagList/messages.js +24 -4
  86. package/v2Components/Ckeditor/messages.js +1 -1
  87. package/v2Components/CmsTemplatesComponent/messages.js +2 -2
  88. package/v2Components/CustomPopOver/index.js +4 -2
  89. package/v2Components/CustomPopOver/messages.js +5 -1
  90. package/v2Components/Edmeditor/messages.js +1 -1
  91. package/v2Components/EmailPreview/index.js +2 -2
  92. package/v2Components/EmailPreview/messages.js +11 -3
  93. package/v2Components/EmailPreviewV2/index.js +1 -1
  94. package/v2Components/EmailPreviewV2/messages.js +13 -9
  95. package/v2Components/Footer/messages.js +1 -1
  96. package/v2Components/FormBuilder/index.js +17 -14
  97. package/v2Components/FormBuilder/messages.js +49 -1
  98. package/v2Components/Header/messages.js +4 -4
  99. package/v2Components/ImagePreview/index.js +3 -2
  100. package/v2Components/ImagePreview/messages.js +5 -1
  101. package/v2Components/MobilePushPreviewV2/index.js +2 -5
  102. package/v2Components/MobilePushPreviewV2/messages.js +9 -1
  103. package/v2Components/NavigationBar/messages.js +1 -1
  104. package/v2Components/NewCallTask/messages.js +5 -5
  105. package/v2Components/PreviewSideBar/messages.js +6 -6
  106. package/v2Components/SmsTest/index.js +6 -4
  107. package/v2Components/SmsTest/messages.js +9 -1
  108. package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/messages.js +3 -3
  109. package/v2Components/TemplatePreview/_templatePreview.scss +8 -0
  110. package/v2Components/TemplatePreview/index.js +35 -16
  111. package/v2Components/TemplatePreview/messages.js +23 -7
  112. package/v2Components/Toastr/messages.js +1 -1
  113. package/v2Components/ToastrMessage/index.js +3 -2
  114. package/v2Components/ToastrMessage/messages.js +5 -1
  115. package/v2Components/TopBar/messages.js +7 -7
  116. package/v2Containers/App/constants.js +11 -0
  117. package/v2Containers/Assets/Gallery/messages.js +24 -24
  118. package/v2Containers/CallTask/messages.js +6 -6
  119. package/v2Containers/Cap/index.js +5 -4
  120. package/v2Containers/Cap/messages.js +75 -0
  121. package/v2Containers/Cap/messsages.js +19 -15
  122. package/v2Containers/Cap/sagas.js +1 -8
  123. package/v2Containers/ChannelTemplates/messages.js +1 -1
  124. package/v2Containers/CreativesContainer/messages.js +16 -8
  125. package/v2Containers/Dashboard/index.js +2 -1
  126. package/v2Containers/Dashboard/messages.js +1 -1
  127. package/v2Containers/Ebill/index.js +1 -1
  128. package/v2Containers/Ebill/messages.js +20 -16
  129. package/v2Containers/Email/index.js +20 -20
  130. package/v2Containers/Email/messages.js +97 -61
  131. package/v2Containers/EmailWrapper/index.js +64 -44
  132. package/v2Containers/EmailWrapper/messages.js +12 -12
  133. package/v2Containers/LanguageProvider/actions.js +9 -4
  134. package/v2Containers/LanguageProvider/constants.js +7 -0
  135. package/v2Containers/LanguageProvider/index.js +32 -10
  136. package/v2Containers/LanguageProvider/reducer.js +12 -4
  137. package/v2Containers/LanguageProvider/sagas.js +39 -0
  138. package/v2Containers/LanguageProvider/selectors.js +1 -1
  139. package/v2Containers/Line/Create/index.js +3 -3
  140. package/v2Containers/Line/Create/messages.js +53 -41
  141. package/v2Containers/Line/Edit/index.js +10 -10
  142. package/v2Containers/Line/Edit/messages.js +55 -39
  143. package/v2Containers/Login/components/LoginForm/index.js +9 -6
  144. package/v2Containers/Login/components/LoginForm/messages.js +15 -3
  145. package/v2Containers/Login/index.js +1 -1
  146. package/v2Containers/Login/messages.js +7 -3
  147. package/v2Containers/MobilePush/Create/index.js +33 -33
  148. package/v2Containers/MobilePush/Create/messages.js +109 -81
  149. package/v2Containers/MobilePush/Edit/index.js +22 -22
  150. package/v2Containers/MobilePush/Edit/messages.js +95 -79
  151. package/v2Containers/MobilepushWrapper/messages.js +5 -5
  152. package/v2Containers/NotFoundPage/messages.js +1 -1
  153. package/v2Containers/Sms/Create/index.js +6 -6
  154. package/v2Containers/Sms/Create/messages.js +41 -21
  155. package/v2Containers/Sms/Edit/index.js +6 -6
  156. package/v2Containers/Sms/Edit/messages.js +36 -20
  157. package/v2Containers/TagList/messages.js +1 -1
  158. package/v2Containers/Templates/messages.js +27 -3
  159. package/v2Containers/TemplatesV2/TemplatesV2.style.js +29 -0
  160. package/v2Containers/TemplatesV2/index.js +29 -51
  161. package/v2Containers/TemplatesV2/messages.js +29 -5
  162. package/v2Containers/TestPage/messages.js +1 -1
  163. package/v2Containers/Testv2/index.js +2 -2
  164. package/v2Containers/Testv2/messages.js +9 -1
  165. package/v2Containers/WeChat/MapTemplates/index.js +8 -8
  166. package/v2Containers/WeChat/MapTemplates/messages.js +49 -17
  167. package/v2Containers/WeChat/RichmediaTemplates/Create/index.js +6 -6
  168. package/v2Containers/WeChat/RichmediaTemplates/Create/messages.js +95 -43
  169. package/v2Containers/WeChat/RichmediaTemplates/Edit/messages.js +1 -1
  170. package/v2Containers/WeChat/RichmediaTemplates/View/messages.js +9 -1
  171. package/v2Containers/TemplatesV2/_templatesV2.scss +0 -5
@@ -7,83 +7,99 @@ import { defineMessages } from 'react-intl';
7
7
 
8
8
  export default defineMessages({
9
9
  "saveTemplateLoader": {
10
- id: 'app.containers.Edit.saveTemplateLoader',
10
+ id: 'creatives.containersV2.Edit.saveTemplateLoader',
11
11
  defaultMessage: 'Saving template...',
12
12
  },
13
13
  "getTemplateDetailsLoader": {
14
- id: 'app.containers.Edit.getTemplateDetailsLoader',
14
+ id: 'creatives.containersV2.Edit.getTemplateDetailsLoader',
15
15
  defaultMessage: 'Getting template details...',
16
16
  },
17
17
  "Message": {
18
- id: 'app.containers.Edit.messageLabel',
18
+ id: 'creatives.containersV2.Edit.messageLabel',
19
19
  defaultMessage: 'Message',
20
20
  },
21
21
  "Template name cannot be empty.": {
22
- id: 'app.containers.Edit.emptyTemplateErrorMessage',
22
+ id: 'creatives.containersV2.Edit.emptyTemplateErrorMessage',
23
23
  defaultMessage: "Please provide a template name",
24
24
  },
25
25
  "Enter template name": {
26
- id: 'app.containers.Edit.templateNamePlaceHolder',
26
+ id: 'creatives.containersV2.Edit.templateNamePlaceHolder',
27
27
  defaultMessage: "Enter template name",
28
28
  },
29
29
  "Discard changes": {
30
- id: 'app.containers.Edit.discardChangesButton',
30
+ id: 'creatives.containersV2.Edit.discardChangesButton',
31
31
  defaultMessage: "Discard changes",
32
32
  },
33
33
  "Cancel": {
34
- id: 'app.containers.Edit.cancelButton',
34
+ id: 'creatives.containersV2.Edit.cancelButton',
35
35
  defaultMessage: "Cancel",
36
36
  },
37
37
  "Save": {
38
- id: 'app.containers.Edit.saveButton',
38
+ id: 'creatives.containersV2.Edit.saveButton',
39
39
  defaultMessage: "Save",
40
40
  },
41
41
  "Version": {
42
- id: 'app.containers.Edit.versionLabel',
42
+ id: 'creatives.containersV2.Edit.versionLabel',
43
43
  defaultMessage: "Version",
44
44
  },
45
45
  "Mark as Final": {
46
- id: 'app.containers.Edit.markFinalVersionLabel',
46
+ id: 'creatives.containersV2.Edit.markFinalVersionLabel',
47
47
  defaultMessage: "Mark as final",
48
48
  },
49
49
  "Duplicate": {
50
- id: 'app.containers.Edit.duplicateLabel',
50
+ id: 'creatives.containersV2.Edit.duplicateLabel',
51
51
  defaultMessage: "Duplicate",
52
52
  },
53
53
  "Rename": {
54
- id: 'app.containers.Edit.renameLabel',
54
+ id: 'creatives.containersV2.Edit.renameLabel',
55
55
  defaultMessage: "Rename",
56
56
  },
57
57
  "Delete": {
58
- id: 'app.containers.Edit.deleteLabel',
58
+ id: 'creatives.containersV2.Edit.deleteLabel',
59
59
  defaultMessage: "Delete",
60
60
  },
61
61
  "Please check if you intend to use unicode characters.": {
62
- id: 'app.containers.Edit.unicodeErrorMessage',
62
+ id: 'creatives.containersV2.Edit.unicodeErrorMessage',
63
63
  defaultMessage: "Please check this if you want to use unicode characters",
64
64
  },
65
65
  "Allow Unicode characters": {
66
- id: 'app.containers.Edit.unicodeLabel',
66
+ id: 'creatives.containersV2.Edit.unicodeLabel',
67
67
  defaultMessage: "Allow unicode characters",
68
68
  },
69
69
  "Tags": {
70
- id: 'app.containers.Edit.tagsLabel',
70
+ id: 'creatives.containersV2.Edit.tagsLabel',
71
71
  defaultMessage: "Tags",
72
72
  },
73
73
  "New Version": {
74
- id: 'app.containers.Edit.newVersionLabel',
74
+ id: 'creatives.containersV2.Edit.newVersionLabel',
75
75
  defaultMessage: "New version",
76
76
  },
77
77
  "Template content has unsupported/missing tags!": {
78
- id: 'app.containers.Edit.tagsErrorMessage',
78
+ id: 'creatives.containersV2.Edit.tagsErrorMessage',
79
79
  defaultMessage: "Please check the message content for unsupported/missing tags",
80
80
  },
81
81
  "Please input sms template content.": {
82
- id: 'app.containers.Edit.smsEditorPlaceholder',
82
+ id: 'creatives.containersV2.Edit.smsEditorPlaceholder',
83
83
  defaultMessage: "Please enter the message content",
84
84
  },
85
85
  "somethingWentWrong": {
86
- id: 'app.containers.Edit.somethingWentWrong',
86
+ id: 'creatives.containersV2.Edit.somethingWentWrong',
87
87
  defaultMessage: "Something went wrong!!",
88
88
  },
89
+ "templateEditedSuccessfully": {
90
+ id: 'creatives.containersV2.Edit.templateEditedSuccessfully',
91
+ defaultMessage: "SMS Template Edited Successfully",
92
+ },
93
+ "alertMessage": {
94
+ id: 'creatives.containersV2.Edit.alertMessage',
95
+ defaultMessage: "Alert",
96
+ },
97
+ "goBackTemporaryChangesLost": {
98
+ id: 'creatives.containersV2.Edit.goBackTemporaryChangesLost',
99
+ defaultMessage: "Do you really want to go back? All your temporary changes will be lost!",
100
+ },
101
+ "templateMarkedSuccessfully": {
102
+ id: 'creatives.containersV2.Edit.templateMarkedSuccessfully',
103
+ defaultMessage: "Template Marked as Final Successfully",
104
+ },
89
105
  });
@@ -7,7 +7,7 @@ import { defineMessages } from 'react-intl';
7
7
 
8
8
  export default defineMessages({
9
9
  header: {
10
- id: 'app.containers.TagList.header',
10
+ id: 'creatives.containersV2.TagList.header',
11
11
  defaultMessage: 'This is TagList container !',
12
12
  },
13
13
  });
@@ -4,7 +4,7 @@
4
4
  * This contains all the text for the Templates component.
5
5
  */
6
6
  import { defineMessages } from 'react-intl';
7
- const scope = `app.containers.Templates`;
7
+ const scope = `creatives.containersV2.Templates`;
8
8
  export default defineMessages({
9
9
  "header": {
10
10
  id: `${scope}.header`,
@@ -251,7 +251,7 @@ export default defineMessages({
251
251
  defaultMessage: `Edit message content`,
252
252
  },
253
253
  "createMessageContent": {
254
- id: `${scope}.editMessageContent`,
254
+ id: `${scope}.createMessageContent`,
255
255
  defaultMessage: `New message`,
256
256
  },
257
257
  "creativeTemplatesDesc": {
@@ -263,7 +263,7 @@ export default defineMessages({
263
263
  defaultMessage: `Done`,
264
264
  },
265
265
  "creativesTemplatesEdit": {
266
- id: `${scope}.creativesTemplatesSave`,
266
+ id: `${scope}.creativesTemplatesEdit`,
267
267
  defaultMessage: `Edit`,
268
268
  },
269
269
  "continue": {
@@ -310,4 +310,28 @@ export default defineMessages({
310
310
  id: `${scope}.noTemplatesFound`,
311
311
  defaultMessage: 'No templates found',
312
312
  },
313
+ "chooseAccount": {
314
+ id: `${scope}.chooseAccount`,
315
+ defaultMessage: 'Choose the account to send content',
316
+ },
317
+ "wechatAccount": {
318
+ id: `${scope}.wechatAccount`,
319
+ defaultMessage: 'Wechat account',
320
+ },
321
+ "mobilepushAccount": {
322
+ id: `${scope}.mobilepushAccount`,
323
+ defaultMessage: 'Mobilepush account',
324
+ },
325
+ "all": {
326
+ id: `${scope}.all`,
327
+ defaultMessage: 'All',
328
+ },
329
+ "mapTemplates": {
330
+ id: `${scope}.mapTemplates`,
331
+ defaultMessage: 'Map templates',
332
+ },
333
+ "richMediaTemplates": {
334
+ id: `${scope}.richMediaTemplates`,
335
+ defaultMessage: 'Rich media templates',
336
+ },
313
337
  });
@@ -0,0 +1,29 @@
1
+ import { css } from 'styled-components';
2
+ import {CAP_SPACE_24, CAP_SPACE_16} from '@capillarytech/cap-ui-library/styled/variables';
3
+
4
+ export default css`
5
+ .cap-tab-v2-wrapper{
6
+ .ant-tabs-tabpane {
7
+ border: none;
8
+ }
9
+ }
10
+
11
+ .component-wrapper {
12
+ ${(props) => props.isFullMode ? `
13
+ max-width: 1140px;
14
+ margin: 0 auto;
15
+ width: 100%;
16
+ padding: ${CAP_SPACE_24} 0;
17
+ .ant-tabs-content{
18
+ margin-top: ${CAP_SPACE_16}
19
+ }
20
+ ` : `.cap-tab-v2 {
21
+ height: calc(100vh - 118px);
22
+ } `}
23
+ }
24
+ `;
25
+
26
+ export const CapTabStyle = css`
27
+ ${(props) => props.isFullMode ? `margin-top: ${CAP_SPACE_24}` : ``
28
+ }
29
+ `;
@@ -5,18 +5,15 @@
5
5
  */
6
6
 
7
7
  import PropTypes from 'prop-types';
8
-
9
8
  import React from 'react';
10
9
  import { connect } from 'react-redux';
11
10
  import { injectIntl, intlShape, FormattedMessage } from 'react-intl';
12
11
  import { createStructuredSelector } from 'reselect';
13
12
  import { bindActionCreators } from 'redux';
14
- import styled from 'styled-components';
15
13
  import { CapTab, CapCustomCard, CapButton, CapHeader, CapSpin, CapIcon } from '@capillarytech/cap-ui-library';
16
14
  import { find, get } from 'lodash';
17
15
  import Helmet from 'react-helmet';
18
16
 
19
- import {CAP_SPACE_24, CAP_SPACE_16} from '@capillarytech/cap-ui-library/styled/variables';
20
17
  import { UserIsAuthenticated } from '../../utils/authWrapper';
21
18
  import { makeSelectTemplates, makeSelectTemplatesResponse } from '../Templates/selectors';
22
19
  import messages from './messages';
@@ -24,29 +21,13 @@ import * as actions from './actions';
24
21
  import Templates from '../Templates';
25
22
  import CallTask from '../CallTask';
26
23
  import Gallery from '../Assets/Gallery';
27
- import './_templatesV2.scss';
24
+ import withStyles from '../../hoc/withStyles';
25
+ import styles, { CapTabStyle } from './TemplatesV2.style';
28
26
 
29
27
  const {CapCustomCardList} = CapCustomCard;
30
28
 
31
- const ComponentWrapper = styled.div`
32
- ${(props) => props.isFullMode ? `
33
- max-width: 1140px;
34
- margin: 0 auto;
35
- width: 100%;
36
- padding: ${CAP_SPACE_24} 0;
37
- .ant-tabs-content{
38
- margin-top: ${CAP_SPACE_16}
39
- }
40
- ` : `.cap-tab-v2 {
41
- height: calc(100vh - 118px);
42
- } `}
43
-
44
-
45
- `;
46
- const MarginTop = styled.div`
47
- ${(props) => props.isFullMode ? `margin-top: ${CAP_SPACE_24}` : ``
48
- }
49
- `;
29
+ const StyledCapTab = withStyles(CapTab, CapTabStyle);
30
+
50
31
  export class TemplatesV2 extends React.Component { // eslint-disable-line react/prefer-stateless-function
51
32
  constructor(props) {
52
33
  super(props);
@@ -146,21 +127,20 @@ export class TemplatesV2 extends React.Component { // eslint-disable-line react/
146
127
  }
147
128
  }
148
129
 
149
- setChannelContent = (selectedChannel, argsPanes) => {
150
- const panes = argsPanes.map((p) => {
151
- const pane = p;
130
+ setChannelContent = (selectedChannel, argsPanes) => (
131
+ argsPanes.map((pane) => {
132
+ let content = null;
152
133
  if (pane.key === selectedChannel) {
153
- let channel = selectedChannel;
154
- if (channel === "mpush") {
155
- channel = "mobilepush";
156
- }
157
- pane.content = this.getTemplatesComponent(channel);
158
- return pane;
134
+ const channel = selectedChannel === "mpush" ? "mobilepush" : selectedChannel;
135
+ content = this.getTemplatesComponent(channel);
159
136
  }
160
- return {...pane, content: <div></div>};
161
- });
162
- return panes;
163
- }
137
+ return {
138
+ ...pane,
139
+ content,
140
+ };
141
+ })
142
+ );
143
+
164
144
  channelChange = (selectedChannel) => {
165
145
  const panes = this.setChannelContent(selectedChannel, this.state.panes);
166
146
  this.setState({panes, selectedChannel}, () => { if (!this.props.isFullMode) this.props.onChannelChange(selectedChannel); });
@@ -171,28 +151,25 @@ export class TemplatesV2 extends React.Component { // eslint-disable-line react/
171
151
  return this.props.Templates.loadingTemplates;
172
152
  }
173
153
  render() {
174
- const {isFullMode} = this.props;
154
+ const { isFullMode, className } = this.props;
175
155
  return (
176
- <div className={`creatives-templates-container ${isFullMode ? 'fullmode' : 'library-mode'}`}>
156
+ <div className={`${className} creatives-templates-container ${isFullMode ? 'fullmode' : 'library-mode'}`}>
177
157
  {isFullMode && <Helmet
178
158
  title={this.props.intl.formatMessage(messages.creatives)}
179
159
  meta={[
180
160
  { name: 'description', content: this.props.intl.formatMessage(messages.creativesDesc) },
181
161
  ]}
182
162
  />}
183
- <ComponentWrapper isFullMode={isFullMode}>
184
-
163
+ <div className="component-wrapper">
185
164
  {isFullMode && <CapHeader title={<FormattedMessage {...messages.creatives}/>} description={<FormattedMessage {...messages.creativesDesc}/>}/>}
186
- <MarginTop isFullMode={isFullMode}>
187
- <CapTab
188
- panes={this.state.panes}
189
- onChange={this.channelChange}
190
- activeKey={this.state.selectedChannel}
191
- defaultActiveKey={this.state.selectedChannel}/>
192
- </MarginTop>
193
-
194
-
195
- </ComponentWrapper>
165
+ <StyledCapTab
166
+ panes={this.state.panes}
167
+ onChange={this.channelChange}
168
+ activeKey={this.state.selectedChannel}
169
+ defaultActiveKey={this.state.selectedChannel}
170
+ isFullMode={isFullMode}
171
+ />
172
+ </div>
196
173
  </div>
197
174
 
198
175
  );
@@ -212,6 +189,7 @@ TemplatesV2.propTypes = {
212
189
  intl: intlShape,
213
190
  onChannelChange: PropTypes.func,
214
191
  channelsToHide: PropTypes.array,
192
+ className: PropTypes.string.isRequired,
215
193
  };
216
194
 
217
195
  TemplatesV2.defaultProps = {
@@ -229,4 +207,4 @@ function mapDispatchToProps(dispatch) {
229
207
  };
230
208
  }
231
209
 
232
- export default UserIsAuthenticated(connect(mapStateToProps, mapDispatchToProps)(injectIntl(TemplatesV2)));
210
+ export default UserIsAuthenticated(connect(mapStateToProps, mapDispatchToProps)(injectIntl(withStyles(TemplatesV2, styles))));
@@ -7,23 +7,47 @@ import { defineMessages } from 'react-intl';
7
7
 
8
8
  export default defineMessages({
9
9
  header: {
10
- id: 'app.containers.TemplatesV2.header',
10
+ id: 'creatives.containersV2.TemplatesV2.header',
11
11
  defaultMessage: 'This is TemplatesV2 container !',
12
12
  },
13
13
  select: {
14
- id: 'app.containers.TemplatesV2.select',
14
+ id: 'creatives.containersV2.TemplatesV2.select',
15
15
  defaultMessage: 'Select',
16
16
  },
17
17
  edit: {
18
- id: 'app.containers.TemplatesV2.edit',
18
+ id: 'creatives.containersV2.TemplatesV2.edit',
19
19
  defaultMessage: 'Edit',
20
20
  },
21
21
  creatives: {
22
- id: 'app.containers.TemplatesV2.creatives',
22
+ id: 'creatives.containersV2.TemplatesV2.creatives',
23
23
  defaultMessage: 'Creatives',
24
24
  },
25
25
  creativesDesc: {
26
- id: 'app.containers.TemplatesV2.creativesDesc',
26
+ id: 'creatives.containersV2.TemplatesV2.creativesDesc',
27
27
  defaultMessage: 'These are pre-built templates which you could use to customize your message content.',
28
28
  },
29
+ sms: {
30
+ id: 'creatives.containersV2.TemplatesV2.sms',
31
+ defaultMessage: 'SMS',
32
+ },
33
+ email: {
34
+ id: 'creatives.containersV2.TemplatesV2.email',
35
+ defaultMessage: 'Email',
36
+ },
37
+ pushNotification: {
38
+ id: 'creatives.containersV2.TemplatesV2.pushNotification',
39
+ defaultMessage: 'Push notification',
40
+ },
41
+ callTask: {
42
+ id: 'creatives.containersV2.TemplatesV2.callTask',
43
+ defaultMessage: 'Call Task',
44
+ },
45
+ gallery: {
46
+ id: 'creatives.containersV2.TemplatesV2.gallery',
47
+ defaultMessage: 'Gallery',
48
+ },
49
+ wechat: {
50
+ id: 'creatives.containersV2.TemplatesV2.wechat',
51
+ defaultMessage: 'Wechat',
52
+ },
29
53
  });
@@ -7,7 +7,7 @@ import { defineMessages } from 'react-intl';
7
7
 
8
8
  export default defineMessages({
9
9
  header: {
10
- id: 'app.components.TestPage.header',
10
+ id: 'creatives.containersV2.TestPage.header',
11
11
  defaultMessage: 'Looks like youas are lost!',
12
12
  },
13
13
  });
@@ -19,9 +19,9 @@ export class Testv2 extends React.Component { // eslint-disable-line react/prefe
19
19
  return (
20
20
  <div>
21
21
  <Helmet
22
- title="Testv2"
22
+ title={<FormattedMessage {...messages.testv2} />}
23
23
  meta={[
24
- { name: 'description', content: 'Description of Testv2' },
24
+ { name: 'description', content: <FormattedMessage {...messages.descriptionTestv2} /> },
25
25
  ]}
26
26
  />
27
27
  <FormattedMessage {...messages.header} />
@@ -7,7 +7,15 @@ import { defineMessages } from 'react-intl';
7
7
 
8
8
  export default defineMessages({
9
9
  header: {
10
- id: 'app.containers.Testv2.header',
10
+ id: 'creatives.containersV2.Testv2.header',
11
11
  defaultMessage: 'This is Testv2 container !',
12
12
  },
13
+ testv2: {
14
+ id: 'creatives.containersV2.Testv2.testv2',
15
+ defaultMessage: 'Testv2',
16
+ },
17
+ descriptionTestv2: {
18
+ id: 'creatives.containersV2.Testv2.descriptionTestv2',
19
+ defaultMessage: 'Description of Testv2',
20
+ },
13
21
  });
@@ -63,8 +63,8 @@ export class MapTemplates extends React.Component { // eslint-disable-line react
63
63
  isLoading: true,
64
64
  showModal: false,
65
65
  modalContent: {
66
- title: "Alert",
67
- body: "Do you really want to go back? All your temporary changes will be lost!",
66
+ title: this.props.intl.formatMessage(messages.alertMessage),
67
+ body: this.props.intl.formatMessage(messages.goBackTemporaryChangesLost),
68
68
  type: 'confirm',
69
69
  id: 'template-back-confirm-modal',
70
70
  },
@@ -545,8 +545,8 @@ export class MapTemplates extends React.Component { // eslint-disable-line react
545
545
  moveToTemplates() {
546
546
  console.log('in move to Templates');
547
547
  const modalContent = {
548
- title: "Alert",
549
- body: "Do you really want to go back? All your temporary changes will be lost!",
548
+ title: this.props.intl.formatMessage(messages.alertMessage),
549
+ body: this.props.intl.formatMessage(messages.goBackTemporaryChangesLost),
550
550
  type: 'confirm',
551
551
  id: 'template-back-confirm-modal',
552
552
  show: true,
@@ -627,7 +627,7 @@ export class MapTemplates extends React.Component { // eslint-disable-line react
627
627
  type: "input", //Resembles component to be used
628
628
  metaType: "text",
629
629
  datatype: "string",
630
- errorMessage: `${title} has invalid content.`,
630
+ errorMessage: `${title} ${this.props.intl.formatMessage(messages.hasValidContent)}`,
631
631
  required: true,
632
632
  fluid: true,
633
633
  disabled: (this.props.location.query.type === 'embedded'),
@@ -711,7 +711,7 @@ export class MapTemplates extends React.Component { // eslint-disable-line react
711
711
  {
712
712
  id: "template-label-link",
713
713
  metaType: "label",
714
- value: 'Link',
714
+ value: this.props.intl.formatMessage(messages.Link),
715
715
  primitive: true,
716
716
  type: "div",
717
717
  width: 4,
@@ -736,7 +736,7 @@ export class MapTemplates extends React.Component { // eslint-disable-line react
736
736
  type: "input", //Resembles component to be used
737
737
  metaType: "text",
738
738
  datatype: "string",
739
- errorMessage: `Link cannot be empty.`,
739
+ errorMessage: this.props.intl.formatMessage(messages.linkCantEmpty),
740
740
  required: true,
741
741
  fluid: true,
742
742
  disabled: (this.props.location.query.type === 'embedded'),
@@ -763,7 +763,7 @@ export class MapTemplates extends React.Component { // eslint-disable-line react
763
763
  cols: [
764
764
  {
765
765
  id: "is-internal-url",
766
- label: 'Is this internal url',
766
+ label: this.props.intl.formatMessage(messages.isInternalUrl),
767
767
  standalone: true,
768
768
  labelStyle: {
769
769
  backgroundColor: "white",
@@ -7,67 +7,99 @@ import { defineMessages } from 'react-intl';
7
7
 
8
8
  export default defineMessages({
9
9
  "header": {
10
- id: 'app.containers.WeChat.header',
10
+ id: 'creatives.containersV2.WeChat.header',
11
11
  defaultMessage: 'WeChat',
12
12
  },
13
13
  'Template mapping': {
14
- id: 'app.containers.WeChat.templateMapping',
14
+ id: 'creatives.containersV2.WeChat.templateMapping',
15
15
  defaultMessage: 'Template mapping',
16
16
  },
17
17
  'Discard': {
18
- id: 'app.containers.WeChat.discard',
18
+ id: 'creatives.containersV2.WeChat.discard',
19
19
  defaultMessage: 'Discard',
20
20
  },
21
21
  'Cancel': {
22
- id: 'app.containers.WeChat.cancel',
22
+ id: 'creatives.containersV2.WeChat.cancel',
23
23
  defaultMessage: 'Cancel',
24
24
  },
25
25
  'Save': {
26
- id: 'app.containers.WeChat.save',
26
+ id: 'creatives.containersV2.WeChat.save',
27
27
  defaultMessage: 'Save',
28
28
  },
29
29
  'Account Id': {
30
- id: 'app.containers.WeChat.accountId',
30
+ id: 'creatives.containersV2.WeChat.accountId',
31
31
  defaultMessage: 'Account id',
32
32
  },
33
33
  'Select Wechat Account': {
34
- id: 'app.containers.WeChat.selectWechatAccount',
34
+ id: 'creatives.containersV2.WeChat.selectWechatAccount',
35
35
  defaultMessage: 'Select wechat account',
36
36
  },
37
37
  'Template': {
38
- id: 'app.containers.WeChat.template',
38
+ id: 'creatives.containersV2.WeChat.template',
39
39
  defaultMessage: 'Template',
40
40
  },
41
41
  'Select Wechat Template': {
42
- id: 'app.containers.WeChat.selectWechatTemplate',
42
+ id: 'creatives.containersV2.WeChat.selectWechatTemplate',
43
43
  defaultMessage: 'Select wechat template',
44
44
  },
45
45
  'Link': {
46
- id: 'app.containers.WeChat.link',
46
+ id: 'creatives.containersV2.WeChat.link',
47
47
  defaultMessage: 'Link',
48
48
  },
49
- 'Is this internal url': {
50
- id: 'app.containers.WeChat.isInternalUrl',
49
+ 'isInternalUrl': {
50
+ id: 'creatives.containersV2.WeChat.isInternalUrl',
51
51
  defaultMessage: 'Is this internal url',
52
52
  },
53
53
  "Tags": {
54
- id: 'app.containers.WeChat.tagsLabel',
54
+ id: 'creatives.containersV2.WeChat.tagsLabel',
55
55
  defaultMessage: "Tags",
56
56
  },
57
57
  "gettingTemplateData": {
58
- id: 'app.containers.WeChat.gettingTemplateData',
58
+ id: 'creatives.containersV2.WeChat.gettingTemplateData',
59
59
  defaultMessage: "Getting template data..",
60
60
  },
61
61
  "wechatEditSuccess": {
62
- id: 'app.containers.WeChat.wechatEditSuccess',
62
+ id: 'creatives.containersV2.WeChat.wechatEditSuccess',
63
63
  defaultMessage: "WeChat template unmapped successfully",
64
64
  },
65
65
  "wechatCreateSuccess": {
66
- id: 'app.containers.WeChat.wechatCreateSuccess',
66
+ id: 'creatives.containersV2.WeChat.wechatCreateSuccess',
67
67
  defaultMessage: "WeChat template mapped successfully",
68
68
  },
69
69
  "somethingWentWrong": {
70
- id: 'app.containers.WeChat.somethingWentWrong',
70
+ id: 'creatives.containersV2.WeChat.somethingWentWrong',
71
71
  defaultMessage: "Something went wrong!!",
72
72
  },
73
+ "alertMessage": {
74
+ id: 'creatives.containersV2.WeChat.alertMessage',
75
+ defaultMessage: "Alert",
76
+ },
77
+ "goBackTemporaryChangesLost": {
78
+ id: 'creatives.containersV2.WeChat.goBackTemporaryChangesLost',
79
+ defaultMessage: "Do you really want to go back? All your temporary changes will be lost!",
80
+ },
81
+ "hasValidContent": {
82
+ id: 'creatives.containersV2.WeChat.hasValidContent',
83
+ defaultMessage: "has valid content.",
84
+ },
85
+ "linkCantEmpty": {
86
+ id: 'creatives.containersV2.WeChat.linkCantEmpty',
87
+ defaultMessage: "has valid content.",
88
+ },
89
+ "select": {
90
+ id: 'creatives.containers.WeChat.select',
91
+ defaultMessage: 'Select',
92
+ },
93
+ "newWechat": {
94
+ id: 'creatives.containers.WeChat.newWechat',
95
+ defaultMessage: 'New wechat',
96
+ },
97
+ "linkErrorMessage": {
98
+ id: 'creatives.containers.WeChat.linkErrorMessage',
99
+ defaultMessage: 'Link cannot be empty.',
100
+ },
101
+ "hasInvalidContent": {
102
+ id: 'creatives.containers.WeChat.hasInvalidContent',
103
+ defaultMessage: 'has invalid content.',
104
+ },
73
105
  });
@@ -723,13 +723,13 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
723
723
  <i className="material-icons hover-icons">arrow_downward</i>
724
724
  </div>
725
725
  <div id={id} onClick={(e) => this.viewContent(e, id)} style={{ 'padding-left': '190px' }}>
726
- <i className="material-icons hover-icons">visibility</i>
726
+ <i className="material-icons hover-icons">{this.props.intl.formatMessage(messages.visibility)}</i>
727
727
  </div>
728
728
  </div>
729
729
  :
730
730
  <div className="richmedia-icons">
731
731
  <div id={id} onClick={(e) => this.viewContent(e, id)} style={{ 'padding-left': '214px' }}>
732
- <i className="material-icons hover-icons">visibility</i>
732
+ <i className="material-icons hover-icons">{this.props.intl.formatMessage(messages.visibility)}</i>
733
733
  </div>
734
734
  </div>
735
735
  }
@@ -766,19 +766,19 @@ export class Create extends React.Component { // eslint-disable-line react/prefe
766
766
  {id !== (this.state.totalContentBlocks - 1 ) ?
767
767
  <div style={{'display': 'inline-flex', 'padding-left': '142px'}}>
768
768
  <div id={id} onClick={(e) => this.viewContent(e, id)}>
769
- <i className="material-icons hover-icons">visibility</i>
769
+ <i className="material-icons hover-icons">{this.props.intl.formatMessage(messages.visibility)}</i>
770
770
  </div>
771
771
  <div id={id} onClick={(e) => this.deleteContent(e, id)} >
772
- <i className="material-icons hover-icons">delete</i>
772
+ <i className="material-icons hover-icons">{this.props.intl.formatMessage(messages.delete)}</i>
773
773
  </div>
774
774
  </div>
775
775
  :
776
776
  <div style={{'display': 'inline-flex', 'padding-left': '166px'}}>
777
777
  <div id={id} onClick={(e) => this.viewContent(e, id)}>
778
- <i className="material-icons hover-icons">visibility</i>
778
+ <i className="material-icons hover-icons">{this.props.intl.formatMessage(messages.visibility)}</i>
779
779
  </div>
780
780
  <div id={id} onClick={(e) => this.deleteContent(e, id)} >
781
- <i className="material-icons hover-icons">delete</i>
781
+ <i className="material-icons hover-icons">{this.props.intl.formatMessage(messages.delete)}</i>
782
782
  </div>
783
783
  </div>
784
784
  }