@capillarytech/creatives-library 3.1.3 → 3.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/BreadCrumbs/messages.js +1 -1
- package/components/CapTagList/index.js +3 -3
- package/components/CapTagList/messages.js +16 -4
- package/components/Ckeditor/messages.js +1 -1
- package/components/CustomPopOver/index.js +3 -4
- package/components/CustomPopOver/messages.js +5 -1
- package/components/DateFilter/index.js +12 -12
- package/components/DateFilter/messages.js +40 -0
- package/components/DateRange/index.js +5 -4
- package/components/DateRange/messages.js +13 -1
- package/components/Edmeditor/messages.js +1 -1
- package/components/EmailPreview/index.js +4 -4
- package/components/EmailPreview/messages.js +18 -2
- package/components/Footer/messages.js +1 -1
- package/components/FormBuilder/index.js +15 -19
- package/components/FormBuilder/messages.js +33 -1
- package/components/Header/messages.js +4 -4
- package/components/ImagePreview/index.js +1 -1
- package/components/ImagePreview/messages.js +5 -1
- package/components/PageHeader/messages.js +1 -1
- package/components/PreviewSideBar/index.js +2 -2
- package/components/PreviewSideBar/messages.js +14 -6
- package/components/Sidebar/messages.js +3 -3
- package/components/SmsTest/index.js +6 -4
- package/components/SmsTest/messages.js +9 -1
- package/components/TemplatePreview/WechatRichmediaTemplatePreview/messages.js +3 -3
- package/components/TemplatePreview/index.js +7 -7
- package/components/TemplatePreview/messages.js +17 -5
- package/components/Toastr/messages.js +1 -1
- package/components/ToastrMessage/index.js +4 -1
- package/components/ToastrMessage/messages.js +5 -1
- package/components/TopBar/messages.js +1 -1
- package/containers/Assets/Gallery/messages.js +20 -20
- package/containers/Cap/index.js +5 -5
- package/containers/Cap/messages.js +75 -0
- package/containers/Dashboard/index.js +2 -2
- package/containers/Dashboard/messages.js +1 -1
- package/containers/Ebill/index.js +1 -1
- package/containers/Ebill/messages.js +20 -16
- package/containers/Email/index.js +24 -24
- package/containers/Email/messages.js +107 -59
- package/containers/Line/Create/index.js +7 -7
- package/containers/Line/Create/messages.js +58 -42
- package/containers/Line/Edit/index.js +14 -14
- package/containers/Line/Edit/messages.js +58 -38
- package/containers/Login/components/LoginForm/index.js +10 -7
- package/containers/Login/components/LoginForm/messages.js +15 -3
- package/containers/Login/index.js +1 -1
- package/containers/Login/messages.js +7 -3
- package/containers/MobilePush/Create/index.js +45 -45
- package/containers/MobilePush/Create/messages.js +111 -75
- package/containers/MobilePush/Edit/index.js +45 -45
- package/containers/MobilePush/Edit/messages.js +100 -83
- package/containers/NotFoundPage/messages.js +1 -1
- package/containers/Sms/Create/index.js +5 -5
- package/containers/Sms/Create/messages.js +43 -19
- package/containers/Sms/Edit/index.js +4 -4
- package/containers/Sms/Edit/messages.js +36 -20
- package/containers/TagList/messages.js +1 -1
- package/containers/Templates/index.js +20 -19
- package/containers/Templates/messages.js +136 -64
- package/containers/TestPage/messages.js +1 -1
- package/containers/Testv2/index.js +2 -2
- package/containers/Testv2/messages.js +9 -1
- package/containers/WeChat/MapTemplates/index.js +10 -10
- package/containers/WeChat/MapTemplates/messages.js +49 -17
- package/containers/WeChat/RichmediaTemplates/Create/messages.js +33 -33
- package/containers/WeChat/RichmediaTemplates/Edit/messages.js +1 -1
- package/containers/WeChat/RichmediaTemplates/View/index.js +2 -2
- package/containers/WeChat/RichmediaTemplates/View/messages.js +9 -1
- package/package.json +1 -1
- package/services/api.js +10 -2
- package/translations/en.json +973 -360
- package/translations/zh.json +994 -381
- package/v2Components/BreadCrumbs/messages.js +1 -1
- package/v2Components/CallTaskPreview/messages.js +1 -1
- package/v2Components/CapTagList/index.js +6 -5
- package/v2Components/CapTagList/messages.js +24 -4
- package/v2Components/Ckeditor/messages.js +1 -1
- package/v2Components/CmsTemplatesComponent/messages.js +2 -2
- package/v2Components/CustomPopOver/index.js +4 -2
- package/v2Components/CustomPopOver/messages.js +5 -1
- package/v2Components/Edmeditor/messages.js +1 -1
- package/v2Components/EmailPreview/index.js +2 -2
- package/v2Components/EmailPreview/messages.js +11 -3
- package/v2Components/EmailPreviewV2/index.js +1 -1
- package/v2Components/EmailPreviewV2/messages.js +13 -9
- package/v2Components/Footer/messages.js +1 -1
- package/v2Components/FormBuilder/index.js +11 -10
- package/v2Components/FormBuilder/messages.js +13 -13
- package/v2Components/Header/messages.js +4 -4
- package/v2Components/ImagePreview/index.js +3 -2
- package/v2Components/ImagePreview/messages.js +5 -1
- package/v2Components/MobilePushPreviewV2/index.js +2 -5
- package/v2Components/MobilePushPreviewV2/messages.js +9 -1
- package/v2Components/NavigationBar/messages.js +1 -1
- package/v2Components/NewCallTask/messages.js +5 -5
- package/v2Components/PreviewSideBar/messages.js +6 -6
- package/v2Components/SmsTest/index.js +6 -4
- package/v2Components/SmsTest/messages.js +9 -1
- package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/messages.js +3 -3
- package/v2Components/TemplatePreview/index.js +8 -7
- package/v2Components/TemplatePreview/messages.js +19 -7
- package/v2Components/Toastr/messages.js +1 -1
- package/v2Components/ToastrMessage/index.js +3 -2
- package/v2Components/ToastrMessage/messages.js +5 -1
- package/v2Components/TopBar/messages.js +7 -7
- package/v2Containers/Assets/Gallery/messages.js +24 -24
- package/v2Containers/CallTask/messages.js +6 -6
- package/v2Containers/Cap/index.js +5 -4
- package/v2Containers/Cap/messages.js +16 -16
- package/v2Containers/Cap/messsages.js +19 -15
- package/v2Containers/ChannelTemplates/messages.js +1 -1
- package/v2Containers/CreativesContainer/SlideBoxContent.js +1 -1
- package/v2Containers/CreativesContainer/index.js +65 -46
- package/v2Containers/CreativesContainer/messages.js +5 -5
- package/v2Containers/Dashboard/index.js +2 -1
- package/v2Containers/Dashboard/messages.js +1 -1
- package/v2Containers/Ebill/index.js +1 -1
- package/v2Containers/Ebill/messages.js +20 -16
- package/v2Containers/Email/index.js +20 -20
- package/v2Containers/Email/messages.js +97 -61
- package/v2Containers/EmailWrapper/index.js +1 -1
- package/v2Containers/EmailWrapper/messages.js +12 -12
- package/v2Containers/Line/Create/index.js +3 -3
- package/v2Containers/Line/Create/messages.js +53 -41
- package/v2Containers/Line/Edit/index.js +10 -10
- package/v2Containers/Line/Edit/messages.js +55 -39
- package/v2Containers/Login/components/LoginForm/index.js +9 -6
- package/v2Containers/Login/components/LoginForm/messages.js +15 -3
- package/v2Containers/Login/index.js +1 -1
- package/v2Containers/Login/messages.js +7 -3
- package/v2Containers/MobilePush/Create/index.js +33 -33
- package/v2Containers/MobilePush/Create/messages.js +109 -81
- package/v2Containers/MobilePush/Edit/index.js +22 -22
- package/v2Containers/MobilePush/Edit/messages.js +95 -79
- package/v2Containers/MobilepushWrapper/messages.js +5 -5
- package/v2Containers/NotFoundPage/messages.js +1 -1
- package/v2Containers/Sms/Create/index.js +5 -5
- package/v2Containers/Sms/Create/messages.js +41 -21
- package/v2Containers/Sms/Edit/index.js +5 -5
- package/v2Containers/Sms/Edit/messages.js +36 -20
- package/v2Containers/TagList/messages.js +1 -1
- package/v2Containers/Templates/index.js +9 -1
- package/v2Containers/Templates/messages.js +1 -1
- package/v2Containers/TemplatesV2/messages.js +11 -11
- package/v2Containers/TestPage/messages.js +1 -1
- package/v2Containers/Testv2/index.js +2 -2
- package/v2Containers/Testv2/messages.js +9 -1
- package/v2Containers/WeChat/MapTemplates/index.js +2 -2
- package/v2Containers/WeChat/MapTemplates/messages.js +25 -25
- package/v2Containers/WeChat/RichmediaTemplates/Create/index.js +4 -14
- package/v2Containers/WeChat/RichmediaTemplates/Create/messages.js +46 -46
- package/v2Containers/WeChat/RichmediaTemplates/Edit/index.js +1 -11
- package/v2Containers/WeChat/RichmediaTemplates/Edit/messages.js +1 -1
- package/v2Containers/WeChat/RichmediaTemplates/View/messages.js +9 -1
|
@@ -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:
|
|
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:
|
|
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: '
|
|
10
|
+
id: 'creatives.componentsV2.SmsTest.header',
|
|
11
11
|
defaultMessage: 'This is the SmsTest component !',
|
|
12
12
|
},
|
|
13
|
+
inputTemplateName: {
|
|
14
|
+
id: 'creatives.componentsV2.SmsTest.inputTemplateName',
|
|
15
|
+
defaultMessage: 'Please input template name.',
|
|
16
|
+
},
|
|
17
|
+
inputSmsTemplate: {
|
|
18
|
+
id: 'creatives.componentsV2.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: '
|
|
10
|
+
id: 'creatives.components.WechatRichmediaTemplatePreview.header',
|
|
11
11
|
defaultMessage: 'This is the WechatRichmediaTemplatePreview component !',
|
|
12
12
|
},
|
|
13
13
|
select: {
|
|
14
|
-
id: '
|
|
14
|
+
id: 'creatives.components.WechatRichmediaTemplatePreview.select',
|
|
15
15
|
defaultMessage: 'Select',
|
|
16
16
|
},
|
|
17
17
|
edit: {
|
|
18
|
-
id: '
|
|
18
|
+
id: 'creatives.components.WechatRichmediaTemplatePreview.edit',
|
|
19
19
|
defaultMessage: 'Edit',
|
|
20
20
|
},
|
|
21
21
|
});
|
|
@@ -8,7 +8,7 @@ import PropTypes from 'prop-types';
|
|
|
8
8
|
|
|
9
9
|
import React from 'react';
|
|
10
10
|
import _ from 'lodash';
|
|
11
|
-
import { injectIntl, FormattedMessage} from 'react-intl';
|
|
11
|
+
import { injectIntl, FormattedMessage, intlShape } from 'react-intl';
|
|
12
12
|
// import styled from 'styled-components';
|
|
13
13
|
import {CapColumn, CapRow, CapHeading} from '@capillarytech/cap-ui-library';
|
|
14
14
|
import './_templatePreview.scss';
|
|
@@ -64,9 +64,9 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
|
|
|
64
64
|
<div className={`preview-container ${type === 'embedded' ? 'embedded-preview' : ''}`}>
|
|
65
65
|
{ channel && channel.toLowerCase() === 'sms' &&
|
|
66
66
|
<div className="shell align-center" id="sms-preview">
|
|
67
|
-
<img className="preview-image sms" src={smsBody} alt=
|
|
67
|
+
<img className="preview-image sms" src={smsBody} alt={this.props.intl.formatMessage(messages.previewGenerated)}/>
|
|
68
68
|
<div className="msgContainer sms">
|
|
69
|
-
<img className="sms-icon" src={smsIcon} alt=
|
|
69
|
+
<img className="sms-icon" src={smsIcon} alt={this.props.intl.formatMessage(messages.smsIcon)} />
|
|
70
70
|
<div className={"message-pop sms"}>
|
|
71
71
|
{content && content.length && content.map((msg, index) =>
|
|
72
72
|
<CapColumn key={`"message-pop-content-${index}`} className="message-pop-item align-left" style={{ background: '#3F51B5', color: '#ffffff'}}>
|
|
@@ -81,7 +81,7 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
|
|
|
81
81
|
( <div className="shell align-center" id="sms-preview">
|
|
82
82
|
<img className="preview-image" src={channel.toLowerCase() === 'wechat' ? wechatBody : smsBody} alt="Preview is being generated"/>
|
|
83
83
|
<div className="msgContainer">
|
|
84
|
-
{this.props.channel.toLowerCase() === 'wechat' ? <div className="sms-icon" style={{ width: '25px', height: '25px', background: '#2E89DF' }}></div> : <img className="sms-icon" src={smsIcon} alt=
|
|
84
|
+
{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)} />}
|
|
85
85
|
<div className="message-pop align-left" style={{ background: `${this.props.channel.toLowerCase() === 'wechat' ? '#ffffff' : '#3F51B5'}`, color: `${this.props.channel.toLowerCase() === 'wechat' ? '#333333' : '#ffffff'}`}}>{content}
|
|
86
86
|
</div>
|
|
87
87
|
</div>
|
|
@@ -90,7 +90,7 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
|
|
|
90
90
|
}
|
|
91
91
|
{ channel && (channel.toLowerCase() === 'mobilepush') &&
|
|
92
92
|
(<div className="shell align-center" id="mobilepush-preview">
|
|
93
|
-
<img className="preview-image" src={this.props.device === "android" ? androidPushMessagePhone : iPhonePushMessagePhone} alt=
|
|
93
|
+
<img className="preview-image" src={this.props.device === "android" ? androidPushMessagePhone : iPhonePushMessagePhone} alt={this.props.intl.formatMessage(messages.previewGenerated)}/>
|
|
94
94
|
{(!!content.header || !!content.bodyText || !!content.bodyImage) &&
|
|
95
95
|
<div className={`${this.props.device}-push-message-Container`}>
|
|
96
96
|
{this.props.device === "android" ?
|
|
@@ -117,7 +117,7 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
|
|
|
117
117
|
:
|
|
118
118
|
<div className="message-pop align-left">
|
|
119
119
|
<div className="app-name">
|
|
120
|
-
<span className="app-icon"></span>{content.appName ? content.appName : "App name"} <i className="material-icons">close</i>
|
|
120
|
+
<span className="app-icon"></span>{content.appName ? content.appName : "App name"} <i className="material-icons">{this.props.intl.formatMessage(messages.close)}</i>
|
|
121
121
|
</div>
|
|
122
122
|
{content.bodyImage && <div className="body-image">
|
|
123
123
|
<img src={content.bodyImage} alt=""/>
|
|
@@ -139,7 +139,7 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
|
|
|
139
139
|
{
|
|
140
140
|
channel && channel.toLowerCase() === 'line' ? (
|
|
141
141
|
<div className="shell align-center" id="sms-preview">
|
|
142
|
-
<img className="preview-image" src={wechatBody} alt=
|
|
142
|
+
<img className="preview-image" src={wechatBody} alt={this.props.intl.formatMessage(messages.previewGenerated)}/>
|
|
143
143
|
<div className="msgContainer">
|
|
144
144
|
<div className="sms-icon" style={{ width: '25px', height: '25px', background: '#2E89DF' }}></div>
|
|
145
145
|
<div className="message-pop align-left" style={{ background: '#ffffff', color: '#333333' }}>
|
|
@@ -170,6 +170,7 @@ TemplatePreview.propTypes = {
|
|
|
170
170
|
device: PropTypes.string,
|
|
171
171
|
unicodeEnabled: PropTypes.bool,
|
|
172
172
|
showCount: PropTypes.bool,
|
|
173
|
+
intl: intlShape.isRequired,
|
|
173
174
|
};
|
|
174
175
|
|
|
175
176
|
export default (injectIntl(TemplatePreview));
|
|
@@ -7,31 +7,43 @@ import { defineMessages } from 'react-intl';
|
|
|
7
7
|
|
|
8
8
|
export default defineMessages({
|
|
9
9
|
previewGenerationMessage: {
|
|
10
|
-
id: '
|
|
10
|
+
id: 'creatives.componentsV2.TemplatePreview.previewGenerationMessage',
|
|
11
11
|
defaultMessage: "Preview is being generated",
|
|
12
12
|
},
|
|
13
13
|
sms: {
|
|
14
|
-
id: '
|
|
14
|
+
id: 'creatives.componentsV2.TemplatePreview.sms',
|
|
15
15
|
defaultMessage: "SMS",
|
|
16
16
|
},
|
|
17
17
|
charactersPerSms: {
|
|
18
|
-
id: '
|
|
18
|
+
id: 'creatives.componentsV2.TemplatePreview.charactersPerSms',
|
|
19
19
|
defaultMessage: "SMS chars",
|
|
20
20
|
},
|
|
21
21
|
charactersTotal: {
|
|
22
|
-
id: '
|
|
22
|
+
id: 'creatives.componentsV2.TemplatePreview.charactersTotal',
|
|
23
23
|
defaultMessage: "{smsCount} SMS ({charCount} characters)",
|
|
24
24
|
},
|
|
25
25
|
smsFormatType: {
|
|
26
|
-
id: '
|
|
26
|
+
id: 'creatives.componentsV2.TemplatePreview.smsFormatType',
|
|
27
27
|
defaultMessage: 'Message has unicode characters',
|
|
28
28
|
},
|
|
29
29
|
lastModified: {
|
|
30
|
-
id: '
|
|
30
|
+
id: 'creatives.componentsV2.PreviewSideBar.lastModified',
|
|
31
31
|
defaultMessage: 'Last modified on',
|
|
32
32
|
},
|
|
33
33
|
uploadedBy: {
|
|
34
|
-
id: '
|
|
34
|
+
id: 'creatives.componentsV2.PreviewSideBar.uploadedBy',
|
|
35
35
|
defaultMessage: 'Last modified by',
|
|
36
36
|
},
|
|
37
|
+
previewGenerated: {
|
|
38
|
+
id: 'creatives.componentsV2.TemplatePreview.previewGenerated',
|
|
39
|
+
defaultMessage: 'Preview is being generated',
|
|
40
|
+
},
|
|
41
|
+
close: {
|
|
42
|
+
id: 'creatives.componentsV2.TemplatePreview.close',
|
|
43
|
+
defaultMessage: 'close',
|
|
44
|
+
},
|
|
45
|
+
smsIcon: {
|
|
46
|
+
id: 'creatives.componentsV2.TemplatePreview.smsIcon',
|
|
47
|
+
defaultMessage: 'Sms Icon',
|
|
48
|
+
},
|
|
37
49
|
});
|
|
@@ -7,8 +7,10 @@
|
|
|
7
7
|
import PropTypes from 'prop-types';
|
|
8
8
|
|
|
9
9
|
import React from 'react';
|
|
10
|
+
import { FormattedMessage } from 'react-intl';
|
|
10
11
|
import styled from 'styled-components';
|
|
11
12
|
import { messageTypeConfig } from '../../config/toastr';
|
|
13
|
+
import messages from './messages';
|
|
12
14
|
|
|
13
15
|
const StyledMessageWrapper = styled.div`
|
|
14
16
|
background: #f9f9fa;
|
|
@@ -84,7 +86,7 @@ class ToastrMessage extends React.Component { // eslint-disable-line react/prefe
|
|
|
84
86
|
<div style={{ padding: `${16}px` }}>
|
|
85
87
|
<MessageHeader>
|
|
86
88
|
{ this.props.title ? <span style={{ fontSize: `${20}px` }}>{this.props.title}</span> : '' }
|
|
87
|
-
<StyleIcon className="material-icons" onClick={() => this.closeMessagePopup(this.props.messageId)}
|
|
89
|
+
<StyleIcon className="material-icons" onClick={() => this.closeMessagePopup(this.props.messageId)}><FormattedMessage {...messages.close} /></StyleIcon>
|
|
88
90
|
</MessageHeader>
|
|
89
91
|
<MessageContent>
|
|
90
92
|
{this.props.text}
|
|
@@ -102,7 +104,6 @@ ToastrMessage.propTypes = {
|
|
|
102
104
|
text: PropTypes.string,
|
|
103
105
|
type: PropTypes.string,
|
|
104
106
|
handleMessageClose: PropTypes.func,
|
|
105
|
-
hideProgressBar: PropTypes.bool,
|
|
106
107
|
};
|
|
107
108
|
|
|
108
109
|
export default ToastrMessage;
|
|
@@ -7,7 +7,11 @@ import { defineMessages } from 'react-intl';
|
|
|
7
7
|
|
|
8
8
|
export default defineMessages({
|
|
9
9
|
header: {
|
|
10
|
-
id: '
|
|
10
|
+
id: 'creatives.componentsV2.ToastrMessage.header',
|
|
11
|
+
defaultMessage: 'This is the ToastrMessage component !',
|
|
12
|
+
},
|
|
13
|
+
close: {
|
|
14
|
+
id: 'creatives.componentsV2.ToastrMessage.close',
|
|
11
15
|
defaultMessage: 'This is the ToastrMessage component !',
|
|
12
16
|
},
|
|
13
17
|
});
|
|
@@ -7,31 +7,31 @@ import { defineMessages } from 'react-intl';
|
|
|
7
7
|
|
|
8
8
|
export default defineMessages({
|
|
9
9
|
profile: {
|
|
10
|
-
id: '
|
|
10
|
+
id: 'creatives.componentsV2.TopBar.profile',
|
|
11
11
|
defaultMessage: 'Profile',
|
|
12
12
|
},
|
|
13
13
|
settings: {
|
|
14
|
-
id: '
|
|
14
|
+
id: 'creatives.componentsV2.TopBar.settings',
|
|
15
15
|
defaultMessage: 'Settings',
|
|
16
16
|
},
|
|
17
17
|
logout: {
|
|
18
|
-
id: '
|
|
18
|
+
id: 'creatives.componentsV2.TopBar.logout',
|
|
19
19
|
defaultMessage: 'Logout',
|
|
20
20
|
},
|
|
21
21
|
dropdownMessage: {
|
|
22
|
-
id: '
|
|
22
|
+
id: 'creatives.componentsV2.TopBar.brand.dropdown',
|
|
23
23
|
defaultMessage: 'Select brand',
|
|
24
24
|
},
|
|
25
25
|
hi: {
|
|
26
|
-
id: '
|
|
26
|
+
id: 'creatives.componentsV2.TopBar.brand.dropdown',
|
|
27
27
|
defaultMessage: 'Hi',
|
|
28
28
|
},
|
|
29
29
|
selectOrganization: {
|
|
30
|
-
id: '
|
|
30
|
+
id: 'creatives.componentsV2.TopBar.brand.selectOrganization',
|
|
31
31
|
defaultMessage: 'Select organization',
|
|
32
32
|
},
|
|
33
33
|
selectProduct: {
|
|
34
|
-
id: '
|
|
34
|
+
id: 'creatives.componentsV2.TopBar.brand.selectProduct',
|
|
35
35
|
defaultMessage: 'Select product',
|
|
36
36
|
},
|
|
37
37
|
});
|
|
@@ -7,99 +7,99 @@ import { defineMessages } from 'react-intl';
|
|
|
7
7
|
|
|
8
8
|
export default defineMessages({
|
|
9
9
|
uploadedAt: {
|
|
10
|
-
id: '
|
|
10
|
+
id: 'creatives.containersV2.Assets.Gallery.uploadedAt',
|
|
11
11
|
defaultMessage: 'Uploaded at ',
|
|
12
12
|
},
|
|
13
13
|
uploadedOn: {
|
|
14
|
-
id: '
|
|
14
|
+
id: 'creatives.containersV2.Assets.Gallery.uploadedOn',
|
|
15
15
|
defaultMessage: 'Uploaded on ',
|
|
16
16
|
},
|
|
17
17
|
uploadedBy: {
|
|
18
|
-
id: '
|
|
18
|
+
id: 'creatives.containersV2.Assets.Gallery.uploadedBy',
|
|
19
19
|
defaultMessage: 'Uploaded by ',
|
|
20
20
|
},
|
|
21
21
|
upload: {
|
|
22
|
-
id: '
|
|
22
|
+
id: 'creatives.containersV2.Assets.Gallery.upload',
|
|
23
23
|
defaultMessage: 'Upload image',
|
|
24
24
|
},
|
|
25
25
|
addImages: {
|
|
26
|
-
id: `
|
|
26
|
+
id: `creatives.containersV2.Assets.Gallery.addImages`,
|
|
27
27
|
defaultMessage: 'Add images',
|
|
28
28
|
},
|
|
29
29
|
imagePreview: {
|
|
30
|
-
id: '
|
|
30
|
+
id: 'creatives.containersV2.Assets.Gallery.imagePreview',
|
|
31
31
|
defaultMessage: 'Image preview',
|
|
32
32
|
},
|
|
33
33
|
size: {
|
|
34
|
-
id: '
|
|
34
|
+
id: 'creatives.containersV2.Assets.Gallery.size',
|
|
35
35
|
defaultMessage: 'Size',
|
|
36
36
|
},
|
|
37
37
|
dimensions: {
|
|
38
|
-
id: '
|
|
38
|
+
id: 'creatives.containersV2.Assets.Gallery.dimensions',
|
|
39
39
|
defaultMessage: 'Dimensions',
|
|
40
40
|
},
|
|
41
41
|
gallery: {
|
|
42
|
-
id: '
|
|
42
|
+
id: 'creatives.containersV2.Assets.Gallery.gallery',
|
|
43
43
|
defaultMessage: 'Gallery',
|
|
44
44
|
},
|
|
45
45
|
backToGallery: {
|
|
46
|
-
id: '
|
|
46
|
+
id: 'creatives.containersV2.Assets.Gallery.backToGallery',
|
|
47
47
|
defaultMessage: 'Back to image gallery',
|
|
48
48
|
},
|
|
49
49
|
mostRecent: {
|
|
50
|
-
id: '
|
|
50
|
+
id: 'creatives.containersV2.Assets.Gallery.mostRecent',
|
|
51
51
|
defaultMessage: 'Most recent',
|
|
52
52
|
},
|
|
53
53
|
alphabetically: {
|
|
54
|
-
id: '
|
|
54
|
+
id: 'creatives.containersV2.Assets.Gallery.alphabetically',
|
|
55
55
|
defaultMessage: 'Alphabetically',
|
|
56
56
|
},
|
|
57
57
|
sortby: {
|
|
58
|
-
id: '
|
|
58
|
+
id: 'creatives.containersV2.Assets.Gallery.sortby',
|
|
59
59
|
defaultMessage: 'Sort by',
|
|
60
60
|
},
|
|
61
61
|
delete: {
|
|
62
|
-
id: '
|
|
62
|
+
id: 'creatives.containersV2.Assets.Gallery.delete',
|
|
63
63
|
defaultMessage: 'Delete',
|
|
64
64
|
},
|
|
65
65
|
search: {
|
|
66
|
-
id: '
|
|
66
|
+
id: 'creatives.containersV2.Assets.Gallery.search',
|
|
67
67
|
defaultMessage: 'Search',
|
|
68
68
|
},
|
|
69
69
|
select: {
|
|
70
|
-
id: '
|
|
70
|
+
id: 'creatives.containersV2.Assets.Gallery.select',
|
|
71
71
|
defaultMessage: 'Select',
|
|
72
72
|
},
|
|
73
73
|
preview: {
|
|
74
|
-
id: '
|
|
74
|
+
id: 'creatives.containersV2.Assets.Gallery.preview',
|
|
75
75
|
defaultMessage: 'Preview',
|
|
76
76
|
},
|
|
77
77
|
assetUploadSuccess: {
|
|
78
|
-
id: '
|
|
78
|
+
id: 'creatives.containersV2.Assets.Gallery.assetUploadSuccess',
|
|
79
79
|
defaultMessage: 'Image uploaded successfully',
|
|
80
80
|
},
|
|
81
81
|
assetUploadFailed: {
|
|
82
|
-
id: '
|
|
82
|
+
id: 'creatives.containersV2.Assets.Gallery.assetUploadFailed',
|
|
83
83
|
defaultMessage: 'Image uploaded failed',
|
|
84
84
|
},
|
|
85
85
|
assetDeleteSuccess: {
|
|
86
|
-
id: '
|
|
86
|
+
id: 'creatives.containersV2.Assets.Gallery.assetDeleteSuccess',
|
|
87
87
|
defaultMessage: 'Image deleted successfully.',
|
|
88
88
|
},
|
|
89
89
|
assetDeleteFailed: {
|
|
90
|
-
id: '
|
|
90
|
+
id: 'creatives.containersV2.Assets.Gallery.assetDeleteFailed',
|
|
91
91
|
defaultMessage: 'Image deletion failed.',
|
|
92
92
|
},
|
|
93
93
|
noAssetMessage: {
|
|
94
|
-
id: '
|
|
94
|
+
id: 'creatives.containersV2.Assets.Gallery.noAssetMessage',
|
|
95
95
|
defaultMessage: 'No image is uploaded',
|
|
96
96
|
},
|
|
97
97
|
lastUpdated: {
|
|
98
|
-
id: '
|
|
98
|
+
id: 'creatives.containersV2.Assets.Gallery.lastUpdated',
|
|
99
99
|
defaultMessage: 'Last update {on} by {by}',
|
|
100
100
|
},
|
|
101
101
|
noTemplatesFound: {
|
|
102
|
-
id: `
|
|
102
|
+
id: `creatives.containersV2.Assets.Gallery.noTemplatesFound`,
|
|
103
103
|
defaultMessage: 'No templates found',
|
|
104
104
|
},
|
|
105
105
|
});
|
|
@@ -7,27 +7,27 @@ import { defineMessages } from 'react-intl';
|
|
|
7
7
|
|
|
8
8
|
export default defineMessages({
|
|
9
9
|
addNewCallTask: {
|
|
10
|
-
id: '
|
|
10
|
+
id: 'creatives.containersV2.CallTask.addNewCallTask',
|
|
11
11
|
defaultMessage: 'Add new call task',
|
|
12
12
|
},
|
|
13
13
|
newMessage: {
|
|
14
|
-
id: '
|
|
14
|
+
id: 'creatives.containersV2.CallTask.newMessage',
|
|
15
15
|
defaultMessage: 'New message',
|
|
16
16
|
},
|
|
17
17
|
callTaskInfo: {
|
|
18
|
-
id: '
|
|
18
|
+
id: 'creatives.containersV2.CallTask.callTaskInfo',
|
|
19
19
|
defaultMessage: 'Call Tasks are message sent to store staff. The messages are displayed on the Point of Sale (POS) machines for store staff to take action.',
|
|
20
20
|
},
|
|
21
21
|
callTaskTitleIllustartion: {
|
|
22
|
-
id: `
|
|
22
|
+
id: `creatives.containersV2.CallTask.callTaskTitleIllustartion`,
|
|
23
23
|
defaultMessage: 'Create a Call Task {templateText}',
|
|
24
24
|
},
|
|
25
25
|
newCallTaskTemplate: {
|
|
26
|
-
id: `
|
|
26
|
+
id: `creatives.containersV2.CallTask.newCallTaskTemplate`,
|
|
27
27
|
defaultMessage: 'New Call Task {templateText}',
|
|
28
28
|
},
|
|
29
29
|
template: {
|
|
30
|
-
id: `
|
|
30
|
+
id: `creatives.containersV2.CallTask.template`,
|
|
31
31
|
defaultMessage: 'template',
|
|
32
32
|
},
|
|
33
33
|
});
|
|
@@ -2,14 +2,15 @@ import PropTypes from 'prop-types';
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import Helmet from 'react-helmet';
|
|
4
4
|
import { connect } from 'react-redux';
|
|
5
|
+
import {CapNotification} from '@capillarytech/cap-ui-library';
|
|
5
6
|
import { bindActionCreators } from 'redux';
|
|
6
7
|
import styled from 'styled-components';
|
|
7
8
|
import { createStructuredSelector } from 'reselect';
|
|
8
9
|
import _ from 'lodash';
|
|
9
10
|
import moment from 'moment';
|
|
10
11
|
// import 'moment/locale/zh-cn';
|
|
11
|
-
import { injectIntl } from 'react-intl';
|
|
12
|
-
import
|
|
12
|
+
import { injectIntl, FormattedMessage } from 'react-intl';
|
|
13
|
+
import messages from './messages';
|
|
13
14
|
import { makeSelectAuthenticated, makeSelectUser } from './selectors';
|
|
14
15
|
import * as actions from './actions';
|
|
15
16
|
import * as locationActions from '../LanguageProvider/actions';
|
|
@@ -164,9 +165,9 @@ export class Cap extends React.Component { // eslint-disable-line react/prefer-s
|
|
|
164
165
|
<CapWrapper>
|
|
165
166
|
<Helmet
|
|
166
167
|
titleTemplate="Capillary - %s"
|
|
167
|
-
defaultTitle=
|
|
168
|
+
defaultTitle={<FormattedMessage {...messages.appName} />}
|
|
168
169
|
meta={[
|
|
169
|
-
{ name: 'description', content:
|
|
170
|
+
{ name: 'description', content: <FormattedMessage {...messages.appName} /> },
|
|
170
171
|
]}
|
|
171
172
|
/>
|
|
172
173
|
<div className="wrapper">
|
|
@@ -1,67 +1,67 @@
|
|
|
1
1
|
import { defineMessages } from 'react-intl';
|
|
2
2
|
export default defineMessages({
|
|
3
3
|
"sms": {
|
|
4
|
-
id: '
|
|
4
|
+
id: 'creatives.containersV2.Cap.sms',
|
|
5
5
|
defaultMessage: 'SMS',
|
|
6
6
|
},
|
|
7
7
|
"wechat": {
|
|
8
|
-
id: '
|
|
8
|
+
id: 'creatives.containersV2.Cap.wechat',
|
|
9
9
|
defaultMessage: 'WeChat',
|
|
10
10
|
},
|
|
11
11
|
"gallery": {
|
|
12
|
-
id: '
|
|
12
|
+
id: 'creatives.containersV2.Cap.gallery',
|
|
13
13
|
defaultMessage: 'Gallery',
|
|
14
14
|
},
|
|
15
15
|
"creativesDashboard": {
|
|
16
|
-
id: '
|
|
16
|
+
id: 'creatives.containersV2.Cap.creativesDashboard',
|
|
17
17
|
defaultMessage: 'Creatives',
|
|
18
18
|
},
|
|
19
19
|
"creatives": {
|
|
20
|
-
id: '
|
|
20
|
+
id: 'creatives.containersV2.Cap.creatives',
|
|
21
21
|
defaultMessage: 'Creatives',
|
|
22
22
|
},
|
|
23
23
|
"campaigns": {
|
|
24
|
-
id: '
|
|
24
|
+
id: 'creatives.containersV2.Cap.campaigns',
|
|
25
25
|
defaultMessage: 'Campaigns',
|
|
26
26
|
},
|
|
27
27
|
"loyalty": {
|
|
28
|
-
id: '
|
|
28
|
+
id: 'creatives.containersV2.Cap.loyalty',
|
|
29
29
|
defaultMessage: 'Loyalty',
|
|
30
30
|
},
|
|
31
31
|
"member care": {
|
|
32
|
-
id: '
|
|
32
|
+
id: 'creatives.containersV2.Cap.memberCare',
|
|
33
33
|
defaultMessage: 'Member Care',
|
|
34
34
|
},
|
|
35
35
|
"workbench": {
|
|
36
|
-
id: '
|
|
36
|
+
id: 'creatives.containersV2.Cap.Workbench',
|
|
37
37
|
defaultMessage: 'WorkBench',
|
|
38
38
|
},
|
|
39
39
|
"store care": {
|
|
40
|
-
id: '
|
|
40
|
+
id: 'creatives.containersV2.Cap.storeCare',
|
|
41
41
|
defaultMessage: 'Store Care',
|
|
42
42
|
},
|
|
43
43
|
"store performance": {
|
|
44
|
-
id: '
|
|
44
|
+
id: 'creatives.containersV2.Cap.storePerformance',
|
|
45
45
|
defaultMessage: 'Store Performance',
|
|
46
46
|
},
|
|
47
47
|
"email": {
|
|
48
|
-
id: '
|
|
48
|
+
id: 'creatives.containersV2.Cap.email',
|
|
49
49
|
defaultMessage: 'Email',
|
|
50
50
|
},
|
|
51
51
|
"ebill": {
|
|
52
|
-
id: '
|
|
52
|
+
id: 'creatives.containersV2.Cap.ebill',
|
|
53
53
|
defaultMessage: 'Ebill',
|
|
54
54
|
},
|
|
55
55
|
"campaignsDashboard": {
|
|
56
|
-
id: '
|
|
56
|
+
id: 'creatives.containersV2.campaignsDashboard',
|
|
57
57
|
defaultMessage: 'Campaigns',
|
|
58
58
|
},
|
|
59
59
|
"campaignsHome": {
|
|
60
|
-
id: '
|
|
60
|
+
id: 'creatives.containersV2.campaignsHome',
|
|
61
61
|
defaultMessage: "Campaigns Home",
|
|
62
62
|
},
|
|
63
63
|
"appName": {
|
|
64
|
-
id: '
|
|
64
|
+
id: 'creatives.containersV2.appName',
|
|
65
65
|
defaultMessage: "App Name",
|
|
66
66
|
},
|
|
67
67
|
});
|
|
@@ -1,63 +1,67 @@
|
|
|
1
1
|
import { defineMessages } from 'react-intl';
|
|
2
2
|
export default defineMessages({
|
|
3
3
|
"sms": {
|
|
4
|
-
id: 'reon.
|
|
4
|
+
id: 'reon.componentsv2.Cap.sms',
|
|
5
5
|
defaultMessage: 'SMS',
|
|
6
6
|
},
|
|
7
7
|
"wechat": {
|
|
8
|
-
id: 'reon.
|
|
8
|
+
id: 'reon.componentsv2.Cap.wechat',
|
|
9
9
|
defaultMessage: 'WeChat',
|
|
10
10
|
},
|
|
11
11
|
"gallery": {
|
|
12
|
-
id: 'reon.
|
|
12
|
+
id: 'reon.componentsv2.Cap.gallery',
|
|
13
13
|
defaultMessage: 'Gallery',
|
|
14
14
|
},
|
|
15
15
|
"creativesDashboard": {
|
|
16
|
-
id: 'reon.
|
|
16
|
+
id: 'reon.componentsv2.Cap.creativesDashboard',
|
|
17
17
|
defaultMessage: 'Creatives',
|
|
18
18
|
},
|
|
19
19
|
"creatives": {
|
|
20
|
-
id: 'reon.
|
|
20
|
+
id: 'reon.componentsv2.Cap.creatives',
|
|
21
21
|
defaultMessage: 'Creatives',
|
|
22
22
|
},
|
|
23
23
|
"campaigns": {
|
|
24
|
-
id: 'reon.
|
|
24
|
+
id: 'reon.componentsv2.Cap.campaigns',
|
|
25
25
|
defaultMessage: 'Campaigns',
|
|
26
26
|
},
|
|
27
27
|
"loyalty": {
|
|
28
|
-
id: 'reon.
|
|
28
|
+
id: 'reon.componentsv2.Cap.loyalty',
|
|
29
29
|
defaultMessage: 'Loyalty',
|
|
30
30
|
},
|
|
31
31
|
"member care": {
|
|
32
|
-
id: 'reon.
|
|
32
|
+
id: 'reon.componentsv2.Cap.memberCare',
|
|
33
33
|
defaultMessage: 'Member Care',
|
|
34
34
|
},
|
|
35
35
|
"workbench": {
|
|
36
|
-
id: 'reon.
|
|
36
|
+
id: 'reon.componentsv2.Cap.Workbench',
|
|
37
37
|
defaultMessage: 'WorkBench',
|
|
38
38
|
},
|
|
39
39
|
"store care": {
|
|
40
|
-
id: 'reon.
|
|
40
|
+
id: 'reon.componentsv2.Cap.storeCare',
|
|
41
41
|
defaultMessage: 'Store Care',
|
|
42
42
|
},
|
|
43
43
|
"store performance": {
|
|
44
|
-
id: 'reon.
|
|
44
|
+
id: 'reon.componentsv2.Cap.storePerformance',
|
|
45
45
|
defaultMessage: 'Store Performance',
|
|
46
46
|
},
|
|
47
47
|
"email": {
|
|
48
|
-
id: 'reon.
|
|
48
|
+
id: 'reon.componentsv2.Cap.email',
|
|
49
49
|
defaultMessage: 'Email',
|
|
50
50
|
},
|
|
51
51
|
"ebill": {
|
|
52
|
-
id: 'reon.
|
|
52
|
+
id: 'reon.componentsv2.Cap.ebill',
|
|
53
53
|
defaultMessage: 'Ebill',
|
|
54
54
|
},
|
|
55
55
|
"campaignsDashboard": {
|
|
56
|
-
id: 'reon.
|
|
56
|
+
id: 'reon.componentsv2.campaignsDashboard',
|
|
57
57
|
defaultMessage: 'Campaigns',
|
|
58
58
|
},
|
|
59
59
|
"campaignsHome": {
|
|
60
|
-
id: 'reon.
|
|
60
|
+
id: 'reon.componentsv2.campaignsHome',
|
|
61
61
|
defaultMessage: "Campaigns Home",
|
|
62
62
|
},
|
|
63
|
+
"appName": {
|
|
64
|
+
id: 'reon.componentsv2.appName',
|
|
65
|
+
defaultMessage: "App Name",
|
|
66
|
+
},
|
|
63
67
|
});
|
|
@@ -7,7 +7,7 @@ import { defineMessages } from 'react-intl';
|
|
|
7
7
|
|
|
8
8
|
export default defineMessages({
|
|
9
9
|
header: {
|
|
10
|
-
id: '
|
|
10
|
+
id: 'creatives.containersV2.ChannelTemplates.header',
|
|
11
11
|
defaultMessage: 'This is ChannelTemplates container !',
|
|
12
12
|
},
|
|
13
13
|
});
|