@capillarytech/creatives-library 3.0.31 → 3.0.33

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 +29 -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
@@ -9,6 +9,8 @@ import React from 'react';
9
9
 
10
10
  // import { FormattedMessage } from 'react-intl';
11
11
  // import messages from './messages';
12
+ import { injectIntl, intlShape } from 'react-intl';
13
+ import messages from './messages';
12
14
  import FormBuilder from '../FormBuilder';
13
15
 
14
16
  class SmsTest extends React.Component { // eslint-disable-line react/prefer-stateless-function
@@ -46,7 +48,7 @@ class SmsTest extends React.Component { // eslint-disable-line react/prefer-stat
46
48
  metaType: "text",
47
49
  datatype: "string",
48
50
  required: true,
49
- placeholder: "Please input template name.",
51
+ placeholder: this.props.intl.formatMessage(messages.inputTemplateName),
50
52
  fluid: true,
51
53
  styling: "semantic",
52
54
  order: 1,
@@ -62,7 +64,7 @@ class SmsTest extends React.Component { // eslint-disable-line react/prefer-stat
62
64
  metaType: "text",
63
65
  datatype: "string",
64
66
  required: true,
65
- placeholder: "Please input sms template content.",
67
+ placeholder: this.props.intl.formatMessage(messages.inputSmsTemplate),
66
68
  fluid: false,
67
69
  styling: "custom",
68
70
  order: 2,
@@ -109,7 +111,7 @@ class SmsTest extends React.Component { // eslint-disable-line react/prefer-stat
109
111
  }
110
112
 
111
113
  SmsTest.propTypes = {
112
-
114
+ intl: intlShape.isRequired,
113
115
  };
114
116
 
115
- export default SmsTest;
117
+ export default injectIntl(SmsTest);
@@ -7,7 +7,15 @@ import { defineMessages } from 'react-intl';
7
7
 
8
8
  export default defineMessages({
9
9
  header: {
10
- id: 'app.components.SmsTest.header',
10
+ id: 'creatives.components.SmsTest.header',
11
11
  defaultMessage: 'This is the SmsTest component !',
12
12
  },
13
+ inputTemplateName: {
14
+ id: 'creatives.components.SmsTest.inputTemplateName',
15
+ defaultMessage: 'Please input template name.',
16
+ },
17
+ inputSmsTemplate: {
18
+ id: 'creatives.components.SmsTest.inputSmsTemplate',
19
+ defaultMessage: 'Please input sms template content.',
20
+ },
13
21
  });
@@ -7,15 +7,15 @@ import { defineMessages } from 'react-intl';
7
7
 
8
8
  export default defineMessages({
9
9
  header: {
10
- id: 'app.components.WechatRichmediaTemplatePreview.header',
10
+ id: 'creatives.components.WechatRichmediaTemplatePreview.header',
11
11
  defaultMessage: 'This is the WechatRichmediaTemplatePreview component !',
12
12
  },
13
13
  select: {
14
- id: 'app.components.WechatRichmediaTemplatePreview.select',
14
+ id: 'creatives.components.WechatRichmediaTemplatePreview.select',
15
15
  defaultMessage: 'Select',
16
16
  },
17
17
  edit: {
18
- id: 'app.components.WechatRichmediaTemplatePreview.edit',
18
+ id: 'creatives.components.WechatRichmediaTemplatePreview.edit',
19
19
  defaultMessage: 'Edit',
20
20
  },
21
21
  });
@@ -55,9 +55,9 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
55
55
  <div className={`preview-container ${type === 'embedded' ? 'embedded-preview' : ''}`}>
56
56
  { channel && channel.toLowerCase() === 'sms' &&
57
57
  <div className="shell align-center" id="sms-preview">
58
- <img className="preview-image sms" src={smsBody} alt="Preview is being generated"/>
58
+ <img className="preview-image sms" src={smsBody} alt={this.props.intl.formatMessage(messages.previewGenerated)}/>
59
59
  <div className="msgContainer sms">
60
- <img className="sms-icon" src={smsIcon} alt="Sms icon" />
60
+ <img className="sms-icon" src={smsIcon} alt={this.props.intl.formatMessage(messages.smsIcon)} />
61
61
  <div className={"message-pop sms"}>
62
62
  {content && content.length && content.map((msg) =>
63
63
  <CapColumn className="message-pop-item align-left" style={{ background: '#3F51B5', color: '#ffffff'}}>
@@ -70,9 +70,9 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
70
70
  }
71
71
  {channel && channel.toLowerCase() === 'wechat' ?
72
72
  ( <div className="shell align-center" id="sms-preview">
73
- <img className="preview-image" src={channel.toLowerCase() === 'wechat' ? wechatBody : smsBody} alt="Preview is being generated"/>
73
+ <img className="preview-image" src={channel.toLowerCase() === 'wechat' ? wechatBody : smsBody} alt={this.props.intl.formatMessage(messages.previewGenerated)}/>
74
74
  <div className="msgContainer">
75
- {this.props.channel.toLowerCase() === 'wechat' ? <div className="sms-icon" style={{ width: '25px', height: '25px', background: '#2E89DF' }}></div> : <img className="sms-icon" src={smsIcon} alt="Sms icon" />}
75
+ {this.props.channel.toLowerCase() === 'wechat' ? <div className="sms-icon" style={{ width: '25px', height: '25px', background: '#2E89DF' }}></div> : <img className="sms-icon" src={smsIcon} alt={this.props.intl.formatMessage(messages.smsIcon)} />}
76
76
  <div className="message-pop align-left" style={{ background: `${this.props.channel.toLowerCase() === 'wechat' ? '#ffffff' : '#3F51B5'}`, color: `${this.props.channel.toLowerCase() === 'wechat' ? '#333333' : '#ffffff'}`}}>{content}
77
77
  </div>
78
78
  </div>
@@ -81,7 +81,7 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
81
81
  }
82
82
  { channel && (channel.toLowerCase() === 'mobilepush') &&
83
83
  (<div className="shell align-center" id="mobilepush-preview">
84
- <img className="preview-image" src={this.props.device === "android" ? androidPushMessagePhone : iPhonePushMessagePhone} alt="Preview is being generated"/>
84
+ <img className="preview-image" src={this.props.device === "android" ? androidPushMessagePhone : iPhonePushMessagePhone} alt={this.props.intl.formatMessage(messages.previewGenerated)}/>
85
85
  {(!!content.header || !!content.bodyText || !!content.bodyImage) &&
86
86
  <div className={`${this.props.device}-push-message-Container`}>
87
87
  {this.props.device === "android" ?
@@ -109,7 +109,7 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
109
109
  :
110
110
  <div className="message-pop align-left">
111
111
  <div className="app-name">
112
- <span className="app-icon"></span>{content.appName ? content.appName : "App name"} <i className="material-icons">close</i>
112
+ <span className="app-icon"></span>{content.appName ? content.appName : "App name"} <i className="material-icons">{this.props.intl.formatMessage(messages.close)}</i>
113
113
  </div>
114
114
  {content.bodyImage && <div className="body-image">
115
115
  <img src={content.bodyImage} alt=""/>
@@ -131,7 +131,7 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
131
131
  {
132
132
  channel && channel.toLowerCase() === 'line' ? (
133
133
  <div className="shell align-center" id="sms-preview">
134
- <img className="preview-image" src={wechatBody} alt="Preview is being generated"/>
134
+ <img className="preview-image" src={wechatBody} alt={this.props.intl.formatMessage(messages.previewGenerated)}/>
135
135
  <div className="msgContainer">
136
136
  <div className="sms-icon" style={{ width: '25px', height: '25px', background: '#2E89DF' }}></div>
137
137
  <div className="message-pop align-left" style={{ background: '#ffffff', color: '#333333' }}>
@@ -152,6 +152,11 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
152
152
  }
153
153
  <div style={{marginTop: '8px', fontSize: '16px'}} >{`${this.props.intl.formatMessage(messages.sms)}: ${smsDetails.parts}`}</div>
154
154
  <div style={{fontSize: '16px'}}>{`${this.props.intl.formatMessage(messages.charactersPerSms)}: ${smsDetails.chars_used}`}</div>
155
+ { smsDetails.optoutUrlPresent && <div>
156
+ <span style={{fontWeight: '100', fontSize: '12px'}}>{this.props.intl.formatMessage(messages.includes)}</span>
157
+ <span style={{fontSize: '12px'}}>{this.props.intl.formatMessage(messages.optout)}</span>
158
+ <span style={{fontWeight: '100', fontSize: '12px'}}>{this.props.intl.formatMessage(messages.tag)}</span>: {smsDetails.optouturlLength}
159
+ </div>}
155
160
  </p>
156
161
  </div>
157
162
  : ''
@@ -7,23 +7,47 @@ import { defineMessages } from 'react-intl';
7
7
 
8
8
  export default defineMessages({
9
9
  previewGenerationMessage: {
10
- id: 'app.components.TemplatePreview.previewGenerationMessage',
10
+ id: 'creatives.components.TemplatePreview.previewGenerationMessage',
11
11
  defaultMessage: "Preview is being generated",
12
12
  },
13
13
  sms: {
14
- id: 'app.components.TemplatePreview.sms',
14
+ id: 'creatives.components.TemplatePreview.sms',
15
15
  defaultMessage: "SMS",
16
16
  },
17
17
  charactersPerSms: {
18
- id: 'app.components.TemplatePreview.charactersPerSms',
18
+ id: 'creatives.components.TemplatePreview.charactersPerSms',
19
19
  defaultMessage: "SMS chars",
20
20
  },
21
21
  charactersTotal: {
22
- id: 'app.components.TemplatePreview.charactersTotal',
22
+ id: 'creatives.components.TemplatePreview.charactersTotal',
23
23
  defaultMessage: "SMS char total",
24
24
  },
25
25
  smsFormatType: {
26
- id: 'app.components.TemplatePreview.smsFormatType',
26
+ id: 'creatives.components.TemplatePreview.smsFormatType',
27
27
  defaultMessage: 'Message has unicode characters',
28
28
  },
29
+ includes: {
30
+ id: 'app.components.TemplatePreview.includes',
31
+ defaultMessage: 'Includes ',
32
+ },
33
+ optout: {
34
+ id: 'app.components.TemplatePreview.optout',
35
+ defaultMessage: 'Optout ',
36
+ },
37
+ tag: {
38
+ id: 'app.components.TemplatePreview.tag',
39
+ defaultMessage: 'tag ',
40
+ },
41
+ previewGenerated: {
42
+ id: 'creatives.components.TemplatePreview.previewGenerated',
43
+ defaultMessage: 'Preview is being generated',
44
+ },
45
+ close: {
46
+ id: 'creatives.components.TemplatePreview.close',
47
+ defaultMessage: 'close',
48
+ },
49
+ smsIcon: {
50
+ id: 'creatives.components.TemplatePreview.smsIcon',
51
+ defaultMessage: 'Sms Icon',
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.Toastr.header',
10
+ id: 'creatives.components.Toastr.header',
11
11
  defaultMessage: 'This is the Toastr component !',
12
12
  },
13
13
  });
@@ -9,8 +9,11 @@ import PropTypes from 'prop-types';
9
9
  import React from 'react';
10
10
  import { Progress } from 'semantic-ui-react';
11
11
  import styled from 'styled-components';
12
+ import { FormattedMessage } from 'react-intl';
12
13
  import { messageTypeConfig } from '../../config/toastr';
13
14
 
15
+ import messages from './messages';
16
+
14
17
  const StyledMessageWrapper = styled.div`
15
18
  background: #f9f9fa;
16
19
  transition: all .2s fade-out;
@@ -85,7 +88,7 @@ class ToastrMessage extends React.Component { // eslint-disable-line react/prefe
85
88
  <div style={{ padding: `${16}px` }}>
86
89
  <MessageHeader>
87
90
  { this.props.title ? <span style={{ fontSize: `${20}px` }}>{this.props.title}</span> : '' }
88
- <StyleIcon className="material-icons" onClick={() => this.closeMessagePopup(this.props.messageId)}>close</StyleIcon>
91
+ <StyleIcon className="material-icons" onClick={() => this.closeMessagePopup(this.props.messageId)}><FormattedMessage {...messages.close} /></StyleIcon>
89
92
  </MessageHeader>
90
93
  <MessageContent>
91
94
  {this.props.text}
@@ -7,7 +7,11 @@ import { defineMessages } from 'react-intl';
7
7
 
8
8
  export default defineMessages({
9
9
  header: {
10
- id: 'app.components.ToastrMessage.header',
10
+ id: 'creatives.components.ToastrMessage.header',
11
11
  defaultMessage: 'This is the ToastrMessage component !',
12
12
  },
13
+ close: {
14
+ id: 'creatives.components.ToastrMessage.close',
15
+ defaultMessage: 'close',
16
+ },
13
17
  });
@@ -23,7 +23,7 @@ export default defineMessages({
23
23
  defaultMessage: 'Select brand',
24
24
  },
25
25
  hi: {
26
- id: 'app.components.TopBar.brand.dropdown',
26
+ id: 'creatives.components.TopBar.brand.dropdown',
27
27
  defaultMessage: 'Hi',
28
28
  },
29
29
  });
package/config/app.js CHANGED
@@ -5,14 +5,18 @@ const config = {
5
5
  production: {
6
6
  api_endpoint: '/arya/api/v1/creatives',
7
7
  auth_endpoint: '/arya/api/v1/auth',
8
+ arya_endpoint: '/arya/api/v1',
8
9
  login_url: 'auth/login',
9
10
  dashboard_url: '/sms',
10
11
  dashboard_url_v2: '/v2',
12
+ subscription_api_endpoint: '/arya/api/v1/subscription',
11
13
  accountConfig: (strs, accountId) => `${window.location.origin}/org/config/AccountAdd?q=a&channelId=2&accountId=${accountId}&edit=1`,
12
14
  },
13
15
  development: {
14
16
  api_endpoint: 'https://nightly.capillary.in/arya/api/v1/creatives',
15
17
  auth_endpoint: 'https://nightly.capillary.in/arya/api/v1/auth',
18
+ arya_endpoint: 'https://nightly.capillary.in/arya/api/v1',
19
+ subscription_api_endpoint: 'https://nightly.capillary.in/arya/api/v1/subscription',
16
20
  login_url: 'auth/login',
17
21
  dashboard_url: '/sms',
18
22
  dashboard_url_v2: '/v2',
@@ -7,83 +7,83 @@ import { defineMessages } from 'react-intl';
7
7
 
8
8
  export default defineMessages({
9
9
  uploadedAt: {
10
- id: 'app.containers.Assets.Gallery.uploadedAt',
10
+ id: 'creatives.containers.Assets.Gallery.uploadedAt',
11
11
  defaultMessage: 'Uploaded at ',
12
12
  },
13
13
  uploadedOn: {
14
- id: 'app.containers.Assets.Gallery.uploadedOn',
14
+ id: 'creatives.containers.Assets.Gallery.uploadedOn',
15
15
  defaultMessage: 'Uploaded on ',
16
16
  },
17
17
  uploadedBy: {
18
- id: 'app.containers.Assets.Gallery.uploadedBy',
18
+ id: 'creatives.containers.Assets.Gallery.uploadedBy',
19
19
  defaultMessage: 'Uploaded by ',
20
20
  },
21
21
  upload: {
22
- id: 'app.containers.Assets.Gallery.upload',
22
+ id: 'creatives.containers.Assets.Gallery.upload',
23
23
  defaultMessage: 'Upload image',
24
24
  },
25
25
  imagePreview: {
26
- id: 'app.containers.Assets.Gallery.imagePreview',
26
+ id: 'creatives.containers.Assets.Gallery.imagePreview',
27
27
  defaultMessage: 'Image preview',
28
28
  },
29
29
  size: {
30
- id: 'app.containers.Assets.Gallery.size',
30
+ id: 'creatives.containers.Assets.Gallery.size',
31
31
  defaultMessage: 'Size',
32
32
  },
33
33
  dimensions: {
34
- id: 'app.containers.Assets.Gallery.dimensions',
34
+ id: 'creatives.containers.Assets.Gallery.dimensions',
35
35
  defaultMessage: 'Dimensions',
36
36
  },
37
37
  gallery: {
38
- id: 'app.containers.Assets.Gallery.gallery',
38
+ id: 'creatives.containers.Assets.Gallery.gallery',
39
39
  defaultMessage: 'Gallery',
40
40
  },
41
41
  backToGallery: {
42
- id: 'app.containers.Assets.Gallery.backToGallery',
42
+ id: 'creatives.containers.Assets.Gallery.backToGallery',
43
43
  defaultMessage: 'Back to image gallery',
44
44
  },
45
45
  mostRecent: {
46
- id: 'app.containers.Assets.Gallery.mostRecent',
46
+ id: 'creatives.containers.Assets.Gallery.mostRecent',
47
47
  defaultMessage: 'Most recent',
48
48
  },
49
49
  alphabetically: {
50
- id: 'app.containers.Assets.Gallery.alphabetically',
50
+ id: 'creatives.containers.Assets.Gallery.alphabetically',
51
51
  defaultMessage: 'Alphabetically',
52
52
  },
53
53
  sortby: {
54
- id: 'app.containers.Assets.Gallery.sortby',
54
+ id: 'creatives.containers.Assets.Gallery.sortby',
55
55
  defaultMessage: 'Sort by',
56
56
  },
57
57
  delete: {
58
- id: 'app.containers.Assets.Gallery.delete',
58
+ id: 'creatives.containers.Assets.Gallery.delete',
59
59
  defaultMessage: 'Delete',
60
60
  },
61
61
  search: {
62
- id: 'app.containers.Assets.Gallery.search',
62
+ id: 'creatives.containers.Assets.Gallery.search',
63
63
  defaultMessage: 'Search',
64
64
  },
65
65
  select: {
66
- id: 'app.containers.Assets.Gallery.select',
66
+ id: 'creatives.containers.Assets.Gallery.select',
67
67
  defaultMessage: 'Select',
68
68
  },
69
69
  preview: {
70
- id: 'app.containers.Assets.Gallery.preview',
70
+ id: 'creatives.containers.Assets.Gallery.preview',
71
71
  defaultMessage: 'Preview',
72
72
  },
73
73
  assetUploadSuccess: {
74
- id: 'app.containers.Assets.Gallery.assetUploadSuccess',
74
+ id: 'creatives.containers.Assets.Gallery.assetUploadSuccess',
75
75
  defaultMessage: 'Image uploaded successfully',
76
76
  },
77
77
  assetUploadFailed: {
78
- id: 'app.containers.Assets.Gallery.assetUploadFailed',
78
+ id: 'creatives.containers.Assets.Gallery.assetUploadFailed',
79
79
  defaultMessage: 'Image uploaded failed',
80
80
  },
81
81
  assetDeleteSuccess: {
82
- id: 'app.containers.Assets.Gallery.assetDeleteSuccess',
82
+ id: 'creatives.containers.Assets.Gallery.assetDeleteSuccess',
83
83
  defaultMessage: 'Image deleted successfully.',
84
84
  },
85
85
  assetDeleteFailed: {
86
- id: 'app.containers.Assets.Gallery.assetDeleteFailed',
86
+ id: 'creatives.containers.Assets.Gallery.assetDeleteFailed',
87
87
  defaultMessage: 'Image deletion failed.',
88
88
  },
89
89
  });
@@ -20,7 +20,7 @@ import * as locationActions from '../LanguageProvider/actions';
20
20
  import * as appActions from '../App/actions';
21
21
  import config from '../../config/app';
22
22
  import Toastr from '../../components/Toastr';
23
- import messages from './messsages';
23
+ import messages from './messages';
24
24
  const gtm = window.dataLayer || [];
25
25
 
26
26
  const CapWrapper = styled.div`
@@ -166,6 +166,7 @@ export class Cap extends React.Component { // eslint-disable-line react/prefer-s
166
166
  const map = {
167
167
  'en': 'en',
168
168
  'zh-cn': 'zh',
169
+ 'zh': 'zh',
169
170
  };
170
171
  return map[locale];
171
172
  }
@@ -235,7 +236,7 @@ export class Cap extends React.Component { // eslint-disable-line react/prefer-s
235
236
  },
236
237
  {
237
238
  link: '/mobilepush',
238
- text: 'Mobile Push',
239
+ text: this.props.intl.formatMessage(messages.mobilepush),
239
240
  value: 'MOBILEPUSH',
240
241
  },
241
242
  {
@@ -255,7 +256,7 @@ export class Cap extends React.Component { // eslint-disable-line react/prefer-s
255
256
  },
256
257
  {
257
258
  link: '/line',
258
- text: 'Line',
259
+ text: this.props.intl.formatMessage(messages.line),
259
260
  value: 'LINE',
260
261
  },
261
262
  ],
@@ -276,9 +277,9 @@ export class Cap extends React.Component { // eslint-disable-line react/prefer-s
276
277
  <CapWrapper>
277
278
  <Helmet
278
279
  titleTemplate="Capillary - %s"
279
- defaultTitle="App Name"
280
+ defaultTitle={this.props.intl.formatMessage(messages.appName)}
280
281
  meta={[
281
- { name: 'description', content: 'App Name' },
282
+ { name: 'description', content: this.props.intl.formatMessage(messages.appName) },
282
283
  ]}
283
284
  />
284
285
  <div className="wrapper">
@@ -0,0 +1,75 @@
1
+ import { defineMessages } from 'react-intl';
2
+ export default defineMessages({
3
+ "sms": {
4
+ id: 'reon.components.Cap.sms',
5
+ defaultMessage: 'SMS',
6
+ },
7
+ "wechat": {
8
+ id: 'reon.components.Cap.wechat',
9
+ defaultMessage: 'WeChat',
10
+ },
11
+ "gallery": {
12
+ id: 'reon.components.Cap.gallery',
13
+ defaultMessage: 'Gallery',
14
+ },
15
+ "creativesDashboard": {
16
+ id: 'reon.components.Cap.creativesDashboard',
17
+ defaultMessage: 'Creatives',
18
+ },
19
+ "creatives": {
20
+ id: 'reon.components.Cap.creatives',
21
+ defaultMessage: 'Creatives',
22
+ },
23
+ "campaigns": {
24
+ id: 'reon.components.Cap.campaigns',
25
+ defaultMessage: 'Campaigns',
26
+ },
27
+ "loyalty": {
28
+ id: 'reon.components.Cap.loyalty',
29
+ defaultMessage: 'Loyalty',
30
+ },
31
+ "member care": {
32
+ id: 'reon.components.Cap.memberCare',
33
+ defaultMessage: 'Member Care',
34
+ },
35
+ "workbench": {
36
+ id: 'reon.components.Cap.Workbench',
37
+ defaultMessage: 'WorkBench',
38
+ },
39
+ "store care": {
40
+ id: 'reon.components.Cap.storeCare',
41
+ defaultMessage: 'Store Care',
42
+ },
43
+ "store performance": {
44
+ id: 'reon.components.Cap.storePerformance',
45
+ defaultMessage: 'Store Performance',
46
+ },
47
+ "email": {
48
+ id: 'reon.components.Cap.email',
49
+ defaultMessage: 'Email',
50
+ },
51
+ "ebill": {
52
+ id: 'reon.components.Cap.ebill',
53
+ defaultMessage: 'Ebill',
54
+ },
55
+ "campaignsDashboard": {
56
+ id: 'reon.components.campaignsDashboard',
57
+ defaultMessage: 'Campaigns',
58
+ },
59
+ "campaignsHome": {
60
+ id: 'reon.components.campaignsHome',
61
+ defaultMessage: "Campaigns Home",
62
+ },
63
+ "line": {
64
+ id: 'reon.components.Cap.line',
65
+ defaultMessage: 'Line',
66
+ },
67
+ "mobilepush": {
68
+ id: 'reon.components.Cap.mobilepush',
69
+ defaultMessage: 'Mobile Push',
70
+ },
71
+ "appName": {
72
+ id: 'reon.components.Cap.appName',
73
+ defaultMessage: 'App Name',
74
+ },
75
+ });
@@ -30,7 +30,7 @@ export class Dashboard extends React.Component { // eslint-disable-line react/pr
30
30
  <FormattedMessage {...messages.header}>{(message) => (<Helmet
31
31
  title={message}
32
32
  meta={[
33
- { name: 'description', content: 'Dashboard' },
33
+ { name: 'description', content: <FormattedMessage {...messages.header} /> },
34
34
  ]}
35
35
  />)}
36
36
  </FormattedMessage>
@@ -42,7 +42,7 @@ export class Dashboard extends React.Component { // eslint-disable-line react/pr
42
42
  }
43
43
 
44
44
  Dashboard.propTypes = {
45
- actions: PropTypes.object,
45
+ router: PropTypes.object,
46
46
  };
47
47
 
48
48
  const mapStateToProps = createStructuredSelector({
@@ -7,7 +7,7 @@ import { defineMessages } from 'react-intl';
7
7
 
8
8
  export default defineMessages({
9
9
  header: {
10
- id: 'app.containers.Dashboard.header',
10
+ id: 'creatives.containers.Dashboard.header',
11
11
  defaultMessage: 'Dashboard',
12
12
  },
13
13
  });
@@ -815,7 +815,7 @@ export class Ebill extends React.Component { // eslint-disable-line react/prefer
815
815
  console.log('isValid');
816
816
  return true;
817
817
  }
818
- const message = getMessageObject('error', 'Template data is not valid', true);
818
+ const message = getMessageObject('error', this.props.intl.formatMessage(messages.templateNotValid), true);
819
819
  this.props.globalActions.addMessageToQueue(message);
820
820
  console.log('not valid');
821
821
  return false;
@@ -7,67 +7,71 @@ import { defineMessages } from 'react-intl';
7
7
 
8
8
  export default defineMessages({
9
9
  "campaigns": {
10
- id: 'app.containers.Ebill.campaigns',
10
+ id: 'creatives.containers.Ebill.campaigns',
11
11
  defaultMessage: 'Campaigns',
12
12
  },
13
13
  "creatives": {
14
- id: 'app.containers.Ebill.creatives',
14
+ id: 'creatives.containers.Ebill.creatives',
15
15
  defaultMessage: 'Creatives',
16
16
  },
17
17
  "ebill": {
18
- id: 'app.containers.Ebill.ebill',
18
+ id: 'creatives.containers.Ebill.ebill',
19
19
  defaultMessage: 'Ebill',
20
20
  },
21
21
  "ebillPreview": {
22
- id: 'app.containers.Ebill.ebillPreview',
22
+ id: 'creatives.containers.Ebill.ebillPreview',
23
23
  defaultMessage: 'Ebill Preview',
24
24
  },
25
25
  "loading": {
26
- id: 'app.containers.Ebill.loading',
26
+ id: 'creatives.containers.Ebill.loading',
27
27
  defaultMessage: 'Loading..',
28
28
  },
29
29
  "ebillEditSuccess": {
30
- id: 'app.containers.Ebill.ebillEditSuccess',
30
+ id: 'creatives.containers.Ebill.ebillEditSuccess',
31
31
  defaultMessage: "Ebill template edited successfully",
32
32
  },
33
33
  "ebillCreateSuccess": {
34
- id: 'app.containers.Ebill.ebillCreateSuccess',
34
+ id: 'creatives.containers.Ebill.ebillCreateSuccess',
35
35
  defaultMessage: "Ebill template created successfully",
36
36
  },
37
37
  "somethingWentWrong": {
38
- id: 'app.containers.Ebill.somethingWentWrong',
38
+ id: 'creatives.containers.Ebill.somethingWentWrong',
39
39
  defaultMessage: "Something went wrong!!",
40
40
  },
41
41
  "Enter template name": {
42
- id: 'app.containers.Ebill.enterTemplateName',
42
+ id: 'creatives.containers.Ebill.enterTemplateName',
43
43
  defaultMessage: "Enter template name",
44
44
  },
45
45
  "Template name cannot be empty.": {
46
- id: 'app.containers.Ebill.emptyTemplateErrorMessage',
46
+ id: 'creatives.containers.Ebill.emptyTemplateErrorMessage',
47
47
  defaultMessage: "Please provide a template name ",
48
48
  },
49
49
  "Preview": {
50
- id: 'app.containers.Ebill.Preview',
50
+ id: 'creatives.containers.Ebill.Preview',
51
51
  defaultMessage: "Preview",
52
52
  },
53
53
  "Cancel": {
54
- id: 'app.containers.Ebill.Cancel',
54
+ id: 'creatives.containers.Ebill.Cancel',
55
55
  defaultMessage: "Cancel",
56
56
  },
57
57
  "Save": {
58
- id: 'app.containers.Ebill.Save',
58
+ id: 'creatives.containers.Ebill.Save',
59
59
  defaultMessage: "Save",
60
60
  },
61
61
  "Template content has unsupported/missing tags!": {
62
- id: 'app.containers.Ebill.tagsErrorMessage',
62
+ id: 'creatives.containers.Ebill.tagsErrorMessage',
63
63
  defaultMessage: "Please check the message content for unsupported/missing tags",
64
64
  },
65
65
  "Tags": {
66
- id: 'app.containers.Ebill.tagsLabel',
66
+ id: 'creatives.containers.Ebill.tagsLabel',
67
67
  defaultMessage: "Tags",
68
68
  },
69
69
  "New Version": {
70
- id: 'app.containers.Ebill.newVersionLabel',
70
+ id: 'creatives.containers.Ebill.newVersionLabel',
71
71
  defaultMessage: "New version",
72
72
  },
73
+ "templateNotValid": {
74
+ id: 'creatives.containers.Ebill.templateNotValid',
75
+ defaultMessage: "Template data is not valid",
76
+ },
73
77
  });