@capillarytech/creatives-library 6.8.6 → 6.8.8
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/app.js +0 -1
- package/components/TemplatePreview/_templatePreview.scss +6 -0
- package/components/TemplatePreview/index.js +35 -28
- package/config/app.js +1 -1
- package/package.json +1 -1
- package/v2Components/Carousel/index.js +120 -0
- package/v2Components/Carousel/style.scss +40 -0
- package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/_wechatRichmediaTemplatePrev.scss +151 -151
- package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/messages.js +33 -33
- package/v2Components/TemplatePreview/WechatRichmediaTemplatePreview/tests/index.test.js +10 -10
- package/v2Components/TemplatePreview/_templatePreview.scss +1 -0
- package/v2Components/TemplatePreview/assets/images/androidPushMessage.svg +44 -44
- package/v2Components/TemplatePreview/assets/images/home-screen-android.svg +21 -21
- package/v2Components/TemplatePreview/assets/images/home-screen-ios.svg +16 -16
- package/v2Components/TemplatePreview/assets/images/iPhonePushMessage.svg +134 -134
- package/v2Components/TemplatePreview/assets/images/mobile.svg +23 -23
- package/v2Components/TemplatePreview/assets/images/sms_mobile_android.svg +22 -22
- package/v2Components/TemplatePreview/assets/images/user-icon.svg +18 -18
- package/v2Components/TemplatePreview/assets/images/wechat-home-screen-android.svg +21 -21
- package/v2Components/TemplatePreview/assets/images/wechat-mobile.svg +77 -77
- package/v2Components/TemplatePreview/assets/images/wechat_mobile_android.svg +20 -20
- package/v2Components/TemplatePreview/index.js +36 -29
- package/v2Components/TemplatePreview/tests/index.test.js +10 -10
- package/v2Containers/CreativesContainer/SlideBoxContent.js +7 -1
- package/v2Containers/CreativesContainer/SlideBoxFooter.js +51 -51
- package/v2Containers/CreativesContainer/actions.js +27 -27
- package/v2Containers/CreativesContainer/constants.js +17 -17
- package/v2Containers/CreativesContainer/index.scss +44 -44
- package/v2Containers/CreativesContainer/messages.js +305 -305
- package/v2Containers/CreativesContainer/reducer.js +29 -29
- package/v2Containers/CreativesContainer/sagas.js +11 -11
- package/v2Containers/CreativesContainer/selectors.js +30 -30
- package/v2Containers/CreativesContainer/tests/actions.test.js +18 -18
- package/v2Containers/CreativesContainer/tests/index.test.js +10 -10
- package/v2Containers/CreativesContainer/tests/reducer.test.js +9 -9
- package/v2Containers/CreativesContainer/tests/sagas.test.js +15 -15
- package/v2Containers/CreativesContainer/tests/selectors.test.js +10 -10
- package/v2Containers/Line/Container/Image/constants.js +2 -1
- package/v2Containers/Line/Container/Image/index.js +41 -37
- package/v2Containers/Line/Container/Image/messages.js +1 -1
- package/v2Containers/Line/Container/ImageCarousel/Content.js +554 -0
- package/v2Containers/Line/Container/ImageCarousel/constants.js +10 -0
- package/v2Containers/Line/Container/ImageCarousel/index.js +526 -0
- package/v2Containers/Line/Container/ImageCarousel/messages.js +178 -0
- package/v2Containers/Line/Container/ImageCarousel/style.js +61 -0
- package/v2Containers/Line/Container/ImageMap/constants.js +2 -1
- package/v2Containers/Line/Container/ImageMap/index.js +32 -7
- package/v2Containers/Line/Container/ImageMap/messages.js +12 -0
- package/v2Containers/Line/Container/Wrapper/index.js +8 -4
- package/v2Containers/Line/Container/Wrapper/messages.js +5 -1
- package/v2Containers/Line/Container/Wrapper/utils.js +16 -15
- package/v2Containers/Line/Container/_lineCreate.scss +2 -2
- package/v2Containers/Line/Container/actions.js +4 -2
- package/v2Containers/Line/Container/constants.js +3 -0
- package/v2Containers/Line/Container/index.js +64 -20
- package/v2Containers/Line/Container/reducer.js +2 -2
- package/v2Containers/Line/Container/sagas.js +2 -2
- package/v2Containers/Line/Container/style.js +2 -1
- package/v2Containers/Templates/_templates.scss +9 -0
- package/v2Containers/Templates/actions.js +117 -117
- package/v2Containers/Templates/constants.js +47 -47
- package/v2Containers/Templates/index.js +29 -6
- package/v2Containers/Templates/messages.js +5 -5
- package/v2Containers/Templates/reducer.js +145 -145
- package/v2Containers/Templates/sagas.js +179 -179
- package/v2Containers/Templates/tests/actions.test.js +18 -18
- package/v2Containers/Templates/tests/index.test.js +10 -10
- package/v2Containers/Templates/tests/reducer.test.js +9 -9
- package/v2Containers/Templates/tests/sagas.test.js +15 -15
- package/v2Containers/Templates/tests/selectors.test.js +10 -10
- package/v2Containers/TemplatesV2/TemplatesV2.style.js +29 -29
- package/v2Containers/TemplatesV2/actions.js +16 -16
- package/v2Containers/TemplatesV2/constants.js +10 -10
- package/v2Containers/TemplatesV2/messages.js +61 -61
- package/v2Containers/TemplatesV2/selectors.js +25 -25
- package/v2Containers/TemplatesV2/tests/actions.test.js +18 -18
- package/v2Containers/TemplatesV2/tests/index.test.js +10 -10
- package/v2Containers/TemplatesV2/tests/reducer.test.js +9 -9
- package/v2Containers/TemplatesV2/tests/sagas.test.js +15 -15
- package/v2Containers/TemplatesV2/tests/selectors.test.js +10 -10
- package/v2Components/TemplatePreview/assets/images/WECHAT_5x.png +0 -0
package/app.js
CHANGED
|
@@ -11,6 +11,7 @@ import _ from 'lodash';
|
|
|
11
11
|
import { injectIntl, intlShape, FormattedMessage} from 'react-intl';
|
|
12
12
|
import {CapColumn, CapTab, CapIcon, CapLabel, CapImage, CapTooltip} from '@capillarytech/cap-ui-library';
|
|
13
13
|
import './_templatePreview.scss';
|
|
14
|
+
import Carousel from '../../v2Components/Carousel';
|
|
14
15
|
import {updateCharCount} from '../../utils/smsCharCountV2';
|
|
15
16
|
import messages from './messages';
|
|
16
17
|
const smsIcon = require('./assets/images/user-icon.svg');
|
|
@@ -27,6 +28,7 @@ const smsBody = require('./assets/images/mobile.svg');
|
|
|
27
28
|
const androidPushMessagePhone = require('./assets/images/androidPushMessage.svg');
|
|
28
29
|
const iPhonePushMessagePhone = require('./assets/images/iPhonePushMessage.svg');
|
|
29
30
|
import { CAP_COLOR_03, CAP_WHITE, FONT_COLOR_01, CAP_G08 } from '@capillarytech/cap-ui-library/styled/variables';
|
|
31
|
+
import { TEMPLATE, IMAGE_CAROUSEL, IMAGE_MAP_CAMEL_CASE, IMAGE, STICKER, TEXT } from '../../v2Containers/Line/Container/constants';
|
|
30
32
|
|
|
31
33
|
class TemplatePreview extends React.Component { // eslint-disable-line react/prefer-stateless-function
|
|
32
34
|
getWechatAndroidPreview = (content) => (
|
|
@@ -349,35 +351,36 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
|
|
|
349
351
|
selectedSticker = {
|
|
350
352
|
stickerUrl: lineStickerPlaceholder,
|
|
351
353
|
},
|
|
354
|
+
imageCarousel = [lineImgPlaceholder],
|
|
352
355
|
} = item || {};
|
|
353
|
-
|
|
356
|
+
const sectionStyle = {
|
|
357
|
+
background: CAP_WHITE,
|
|
358
|
+
color: FONT_COLOR_01,
|
|
359
|
+
borderRadius: 8,
|
|
360
|
+
position: 'static',
|
|
361
|
+
margin: '6px 0 20px 28px',
|
|
362
|
+
height: 'auto',
|
|
363
|
+
minHeight: 'auto',
|
|
364
|
+
overflow: 'initial',
|
|
365
|
+
maxHeight: 'initial',
|
|
366
|
+
};
|
|
367
|
+
if (type === TEXT) {
|
|
354
368
|
return (
|
|
355
369
|
<div
|
|
356
370
|
className="message-pop align-left"
|
|
357
|
-
style={
|
|
358
|
-
background: CAP_WHITE,
|
|
359
|
-
color: FONT_COLOR_01,
|
|
360
|
-
borderRadius: 8,
|
|
361
|
-
position: 'static',
|
|
362
|
-
margin: '6px 0 20px 28px',
|
|
363
|
-
height: 'auto'
|
|
364
|
-
}}
|
|
371
|
+
style={sectionStyle}
|
|
365
372
|
>
|
|
366
373
|
<p style={{ marginBottom: 5 }}>{messageContent || ''}</p>
|
|
367
374
|
</div>
|
|
368
375
|
);
|
|
369
376
|
}
|
|
370
|
-
if ((type ===
|
|
377
|
+
if ((type === IMAGE && previewImageUrl)) {
|
|
371
378
|
return (
|
|
372
379
|
<div
|
|
373
380
|
className="message-pop align-left"
|
|
374
381
|
style={{
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
borderRadius: 8,
|
|
378
|
-
position: 'static',
|
|
379
|
-
margin: '6px 0 20px 28px',
|
|
380
|
-
height: 184,
|
|
382
|
+
...sectionStyle,
|
|
383
|
+
minHeight: 184,
|
|
381
384
|
display: 'flex',
|
|
382
385
|
justifyContent: 'center',
|
|
383
386
|
alignItems: 'center',
|
|
@@ -396,17 +399,13 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
|
|
|
396
399
|
</div>
|
|
397
400
|
);
|
|
398
401
|
}
|
|
399
|
-
if ((type ===
|
|
402
|
+
if ((type === IMAGE_MAP_CAMEL_CASE && baseUrl)) {
|
|
400
403
|
return (
|
|
401
404
|
<div
|
|
402
405
|
className="message-pop align-left"
|
|
403
406
|
style={{
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
borderRadius: 8,
|
|
407
|
-
position: 'static',
|
|
408
|
-
margin: '6px 0 20px 28px',
|
|
409
|
-
height: 184,
|
|
407
|
+
...sectionStyle,
|
|
408
|
+
minHeight: 184,
|
|
410
409
|
display: 'flex',
|
|
411
410
|
justifyContent: 'center',
|
|
412
411
|
alignItems: 'center',
|
|
@@ -425,16 +424,13 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
|
|
|
425
424
|
</div>
|
|
426
425
|
);
|
|
427
426
|
}
|
|
428
|
-
if (type ===
|
|
427
|
+
if (type === STICKER && selectedSticker) {
|
|
429
428
|
return (
|
|
430
429
|
<div
|
|
431
430
|
className="message-pop align-left"
|
|
432
431
|
style={{
|
|
432
|
+
...sectionStyle,
|
|
433
433
|
background: 'transparent',
|
|
434
|
-
color: FONT_COLOR_01,
|
|
435
|
-
color: FONT_COLOR_01,
|
|
436
|
-
position: 'static',
|
|
437
|
-
margin: '6px 0 20px 28px',
|
|
438
434
|
display: 'flex',
|
|
439
435
|
justifyContent: 'center',
|
|
440
436
|
alignItems: 'center',
|
|
@@ -456,6 +452,17 @@ class TemplatePreview extends React.Component { // eslint-disable-line react/pre
|
|
|
456
452
|
</div>
|
|
457
453
|
);
|
|
458
454
|
}
|
|
455
|
+
if ((type === IMAGE_CAROUSEL || type === TEMPLATE) && imageCarousel) {
|
|
456
|
+
return (
|
|
457
|
+
<div
|
|
458
|
+
style={{
|
|
459
|
+
margin: '40px 0 8px',
|
|
460
|
+
}}
|
|
461
|
+
>
|
|
462
|
+
<Carousel imageCarousel={imageCarousel}/>
|
|
463
|
+
</div>
|
|
464
|
+
)
|
|
465
|
+
}
|
|
459
466
|
return null;
|
|
460
467
|
})
|
|
461
468
|
}
|
package/config/app.js
CHANGED
|
@@ -14,7 +14,7 @@ const config = {
|
|
|
14
14
|
accountConfig: (strs, accountId) => `${window.location.origin}/org/config/AccountAdd?q=a&channelId=2&accountId=${accountId}&edit=1`,
|
|
15
15
|
},
|
|
16
16
|
development: {
|
|
17
|
-
api_endpoint: '
|
|
17
|
+
api_endpoint: 'https://crm-nightly-new.cc.capillarytech.com/arya/api/v1/creatives',
|
|
18
18
|
campaigns_api_endpoint: 'https://crm-nightly-new.cc.capillarytech.com/iris/v2/campaigns',
|
|
19
19
|
auth_endpoint: 'https://crm-nightly-new.cc.capillarytech.com/arya/api/v1/auth',
|
|
20
20
|
arya_endpoint: 'https://crm-nightly-new.cc.capillarytech.com/arya/api/v1',
|
package/package.json
CHANGED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import React, { Component } from "react";
|
|
2
|
+
import { Carousel, Icon } from 'antd';
|
|
3
|
+
import './style.scss';
|
|
4
|
+
import CapImage from '@capillarytech/cap-ui-library/CapImage';
|
|
5
|
+
import CapButton from '@capillarytech/cap-ui-library/CapButton';
|
|
6
|
+
import CapIcon from '@capillarytech/cap-ui-library/CapIcon';
|
|
7
|
+
const lineImgPlaceholder = require('../../assets/line-image-placeholder.svg');
|
|
8
|
+
import { CAP_WHITE, CAP_G08 } from '@capillarytech/cap-ui-library/styled/variables';
|
|
9
|
+
|
|
10
|
+
const arrowStyle = {
|
|
11
|
+
background: 'rgba(0, 0, 0, 0.1)',
|
|
12
|
+
display: 'block',
|
|
13
|
+
position: 'absolute',
|
|
14
|
+
color: CAP_WHITE,
|
|
15
|
+
padding: 0,
|
|
16
|
+
height: 24,
|
|
17
|
+
width: 24,
|
|
18
|
+
borderRadius: '50%',
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const Arrow = props => {
|
|
22
|
+
const { className, style, onClick, extraStyle, type } = props
|
|
23
|
+
return (
|
|
24
|
+
<CapButton
|
|
25
|
+
className={className}
|
|
26
|
+
onClick={onClick}
|
|
27
|
+
type="flat"
|
|
28
|
+
style={{
|
|
29
|
+
...style,
|
|
30
|
+
...arrowStyle,
|
|
31
|
+
...extraStyle,
|
|
32
|
+
}}
|
|
33
|
+
>
|
|
34
|
+
<CapIcon
|
|
35
|
+
type={type}
|
|
36
|
+
/>
|
|
37
|
+
</CapButton>
|
|
38
|
+
)
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const settings = {
|
|
42
|
+
nextArrow: (
|
|
43
|
+
<Arrow
|
|
44
|
+
extraStyle={{
|
|
45
|
+
right: 10,
|
|
46
|
+
}}
|
|
47
|
+
type="chevron-right"
|
|
48
|
+
/>
|
|
49
|
+
),
|
|
50
|
+
prevArrow: (
|
|
51
|
+
<Arrow
|
|
52
|
+
extraStyle={{
|
|
53
|
+
left: 8,
|
|
54
|
+
zIndex: 1,
|
|
55
|
+
}}
|
|
56
|
+
type="chevron-left"
|
|
57
|
+
/>
|
|
58
|
+
),
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const CarouselComponent = ({
|
|
62
|
+
imageCarousel,
|
|
63
|
+
}) => {
|
|
64
|
+
let carousel = React.createRef();
|
|
65
|
+
const next = () => carousel.next();
|
|
66
|
+
const previous = () => carousel.prev();
|
|
67
|
+
|
|
68
|
+
const prop = {
|
|
69
|
+
dots: false,
|
|
70
|
+
infinite: true,
|
|
71
|
+
speed: 500,
|
|
72
|
+
slidesToShow: 1,
|
|
73
|
+
slidesToScroll: 0.5,
|
|
74
|
+
arrows: true,
|
|
75
|
+
swipeToSlide: true,
|
|
76
|
+
focusOnSelect: true,
|
|
77
|
+
rows: 1,
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
const imageCarouselLength = imageCarousel.length;
|
|
81
|
+
|
|
82
|
+
return (
|
|
83
|
+
<div style={{ position: 'relative' }} className={`template-carousel ${imageCarouselLength ? 'single-img' : ''}`}>
|
|
84
|
+
<Carousel ref={node => (carousel = node)} {...prop} {...settings}>
|
|
85
|
+
{
|
|
86
|
+
imageCarousel.map(({
|
|
87
|
+
actionLabel,
|
|
88
|
+
imageUrl = lineImgPlaceholder
|
|
89
|
+
}) => (
|
|
90
|
+
<div className="carousel-section">
|
|
91
|
+
<CapImage
|
|
92
|
+
src={imageUrl}
|
|
93
|
+
alt="brand-name"
|
|
94
|
+
rest={{
|
|
95
|
+
style: {
|
|
96
|
+
maxWidth: '100%',
|
|
97
|
+
},
|
|
98
|
+
}}
|
|
99
|
+
/>
|
|
100
|
+
<span
|
|
101
|
+
style={{
|
|
102
|
+
position: 'relative',
|
|
103
|
+
bottom: 90,
|
|
104
|
+
background: 'rgba(94, 108, 132, 0.33)',
|
|
105
|
+
borderRadius: '42%',
|
|
106
|
+
padding: '0 12px',
|
|
107
|
+
color: CAP_WHITE,
|
|
108
|
+
}}
|
|
109
|
+
>
|
|
110
|
+
{actionLabel}
|
|
111
|
+
</span>
|
|
112
|
+
</div>
|
|
113
|
+
))
|
|
114
|
+
}
|
|
115
|
+
</Carousel>
|
|
116
|
+
</div>
|
|
117
|
+
);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export default CarouselComponent;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
@import '~@capillarytech/cap-ui-library/styles/_variables.scss';
|
|
2
|
+
|
|
3
|
+
.template-carousel {
|
|
4
|
+
.slick-slide {
|
|
5
|
+
width: 120px !important;
|
|
6
|
+
margin-right: 6px;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.slick-track {
|
|
10
|
+
margin-left: 56px;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
&.single-img {
|
|
14
|
+
.slick-track {
|
|
15
|
+
margin-left: 0;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.slick-list {
|
|
20
|
+
height: 180px;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.carousel-section {
|
|
24
|
+
height: 160px;
|
|
25
|
+
line-height: 160px;
|
|
26
|
+
text-align: center;
|
|
27
|
+
width: 120px !important;
|
|
28
|
+
border-radius: 12px;
|
|
29
|
+
background-color: $CAP_G09,
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.ant-carousel .slick-slide {
|
|
33
|
+
.carousel-section {
|
|
34
|
+
img {
|
|
35
|
+
display: inline-block;
|
|
36
|
+
padding: 0 4px;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -1,152 +1,152 @@
|
|
|
1
|
-
@import '~@capillarytech/cap-ui-library/styles/_variables.scss';
|
|
2
|
-
|
|
3
|
-
.shell-lock-screen-android .main-screen-preview .wechatMsgContainer{
|
|
4
|
-
position: absolute;
|
|
5
|
-
left: 53.5%;
|
|
6
|
-
top:28%;
|
|
7
|
-
background: white;
|
|
8
|
-
width: 19.5%;
|
|
9
|
-
text-align: left;
|
|
10
|
-
height: fit-content;
|
|
11
|
-
border-radius: 0.285rem;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.shell-lock-screen-android .lock-screen-preview{
|
|
15
|
-
.wechat-android-sender-id{
|
|
16
|
-
position: absolute;
|
|
17
|
-
top: 46%;
|
|
18
|
-
font-size: 10px;
|
|
19
|
-
left: 28%;
|
|
20
|
-
}
|
|
21
|
-
.wechat-android-title{
|
|
22
|
-
position: absolute;
|
|
23
|
-
top: 49%;
|
|
24
|
-
font-size: 10px;
|
|
25
|
-
left: 28%;
|
|
26
|
-
color: #5e6c84;
|
|
27
|
-
}
|
|
28
|
-
.wechat-android-action-buttons{
|
|
29
|
-
position: absolute;
|
|
30
|
-
left: 28%;
|
|
31
|
-
top: 53%;
|
|
32
|
-
font-size: 10px;
|
|
33
|
-
color: #3861ca;
|
|
34
|
-
font-weight: 500;
|
|
35
|
-
}
|
|
36
|
-
.wechat-ios-sender-id{
|
|
37
|
-
position: absolute;
|
|
38
|
-
top: 44%;
|
|
39
|
-
font-size: 10px;
|
|
40
|
-
left: 28.5%;
|
|
41
|
-
}
|
|
42
|
-
.wechat-ios-title{
|
|
43
|
-
position: absolute;
|
|
44
|
-
top: 47%;
|
|
45
|
-
font-size: 10px;
|
|
46
|
-
left: 28.5%;
|
|
47
|
-
color: #5e6c84;
|
|
48
|
-
}
|
|
49
|
-
.wechat-ios-action-reply{
|
|
50
|
-
position: absolute;
|
|
51
|
-
left: 35%;
|
|
52
|
-
top: 59%;
|
|
53
|
-
font-size: 12px;
|
|
54
|
-
color: #3861ca;
|
|
55
|
-
font-weight: 500;
|
|
56
|
-
}
|
|
57
|
-
.wechat-ios-action-cancel{
|
|
58
|
-
position: absolute;
|
|
59
|
-
left: 34.5%;
|
|
60
|
-
top: 66%;
|
|
61
|
-
font-size: 12px;
|
|
62
|
-
color: #3861ca;
|
|
63
|
-
font-weight: 500;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
.wechatMsgContainer{
|
|
68
|
-
position: absolute;
|
|
69
|
-
left: 30%;
|
|
70
|
-
top: 20%;
|
|
71
|
-
background: white;
|
|
72
|
-
width: 40%;
|
|
73
|
-
text-align: left;
|
|
74
|
-
height: fit-content;
|
|
75
|
-
border-radius: $CAP_SPACE_04;
|
|
76
|
-
.richmedia-template {
|
|
77
|
-
.richmedia-image-container {
|
|
78
|
-
width: 100%;
|
|
79
|
-
height: 102px;
|
|
80
|
-
position: relative;
|
|
81
|
-
img {
|
|
82
|
-
border-top-left-radius: 4px;
|
|
83
|
-
border-top-right-radius: 4px;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
.name-container-with-abstract {
|
|
87
|
-
padding: $CAP_SPACE_12;
|
|
88
|
-
height: 68px;
|
|
89
|
-
}
|
|
90
|
-
.name-container {
|
|
91
|
-
position: absolute;
|
|
92
|
-
bottom: 0px;
|
|
93
|
-
height: 44px;
|
|
94
|
-
padding-top: 16px;
|
|
95
|
-
padding-left: 12px;
|
|
96
|
-
color: $CAP_WHITE;
|
|
97
|
-
opacity: 0.7;
|
|
98
|
-
width: 100%;
|
|
99
|
-
background-image: linear-gradient(to top,black 0% ,transparent 100%);
|
|
100
|
-
}
|
|
101
|
-
.additional-richmedia-container {
|
|
102
|
-
display: flex;
|
|
103
|
-
justify-content: space-between;
|
|
104
|
-
margin: 8px;
|
|
105
|
-
padding-bottom: 8px;
|
|
106
|
-
img {
|
|
107
|
-
border-radius: 4px;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
.additional-richmedia-container:not(:last-child) {
|
|
111
|
-
border-bottom: 1px solid #dfe2e7;
|
|
112
|
-
}
|
|
113
|
-
div {
|
|
114
|
-
text-overflow: ellipsis;
|
|
115
|
-
overflow: hidden;
|
|
116
|
-
white-space: nowrap;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
.wechatMsgContainerOutbound{
|
|
121
|
-
position: absolute;
|
|
122
|
-
left: 35%;
|
|
123
|
-
top: 20%;
|
|
124
|
-
background: white;
|
|
125
|
-
width: 30%;
|
|
126
|
-
text-align: left;
|
|
127
|
-
}
|
|
128
|
-
.wechatMsgContainerCardLayout {
|
|
129
|
-
position: absolute;
|
|
130
|
-
left: 20%;
|
|
131
|
-
top: 20%;
|
|
132
|
-
background: white;
|
|
133
|
-
width: 60%;
|
|
134
|
-
text-align: left;
|
|
135
|
-
}
|
|
136
|
-
.overflow-handle-preview {
|
|
137
|
-
overflow-y: auto;
|
|
138
|
-
}
|
|
139
|
-
.overflow-handle-preview-outbound {
|
|
140
|
-
height: 330px;
|
|
141
|
-
overflow-y: auto;
|
|
142
|
-
}
|
|
143
|
-
.preview-overflow-wrap-fields {
|
|
144
|
-
text-overflow: ellipsis;
|
|
145
|
-
overflow: hidden;
|
|
146
|
-
overflow-wrap: break-word;
|
|
147
|
-
display: -webkit-box !important;
|
|
148
|
-
-webkit-box-orient: vertical;
|
|
149
|
-
-webkit-line-clamp: 2;
|
|
150
|
-
text-align: left;
|
|
151
|
-
width: 200px;
|
|
1
|
+
@import '~@capillarytech/cap-ui-library/styles/_variables.scss';
|
|
2
|
+
|
|
3
|
+
.shell-lock-screen-android .main-screen-preview .wechatMsgContainer{
|
|
4
|
+
position: absolute;
|
|
5
|
+
left: 53.5%;
|
|
6
|
+
top:28%;
|
|
7
|
+
background: white;
|
|
8
|
+
width: 19.5%;
|
|
9
|
+
text-align: left;
|
|
10
|
+
height: fit-content;
|
|
11
|
+
border-radius: 0.285rem;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.shell-lock-screen-android .lock-screen-preview{
|
|
15
|
+
.wechat-android-sender-id{
|
|
16
|
+
position: absolute;
|
|
17
|
+
top: 46%;
|
|
18
|
+
font-size: 10px;
|
|
19
|
+
left: 28%;
|
|
20
|
+
}
|
|
21
|
+
.wechat-android-title{
|
|
22
|
+
position: absolute;
|
|
23
|
+
top: 49%;
|
|
24
|
+
font-size: 10px;
|
|
25
|
+
left: 28%;
|
|
26
|
+
color: #5e6c84;
|
|
27
|
+
}
|
|
28
|
+
.wechat-android-action-buttons{
|
|
29
|
+
position: absolute;
|
|
30
|
+
left: 28%;
|
|
31
|
+
top: 53%;
|
|
32
|
+
font-size: 10px;
|
|
33
|
+
color: #3861ca;
|
|
34
|
+
font-weight: 500;
|
|
35
|
+
}
|
|
36
|
+
.wechat-ios-sender-id{
|
|
37
|
+
position: absolute;
|
|
38
|
+
top: 44%;
|
|
39
|
+
font-size: 10px;
|
|
40
|
+
left: 28.5%;
|
|
41
|
+
}
|
|
42
|
+
.wechat-ios-title{
|
|
43
|
+
position: absolute;
|
|
44
|
+
top: 47%;
|
|
45
|
+
font-size: 10px;
|
|
46
|
+
left: 28.5%;
|
|
47
|
+
color: #5e6c84;
|
|
48
|
+
}
|
|
49
|
+
.wechat-ios-action-reply{
|
|
50
|
+
position: absolute;
|
|
51
|
+
left: 35%;
|
|
52
|
+
top: 59%;
|
|
53
|
+
font-size: 12px;
|
|
54
|
+
color: #3861ca;
|
|
55
|
+
font-weight: 500;
|
|
56
|
+
}
|
|
57
|
+
.wechat-ios-action-cancel{
|
|
58
|
+
position: absolute;
|
|
59
|
+
left: 34.5%;
|
|
60
|
+
top: 66%;
|
|
61
|
+
font-size: 12px;
|
|
62
|
+
color: #3861ca;
|
|
63
|
+
font-weight: 500;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.wechatMsgContainer{
|
|
68
|
+
position: absolute;
|
|
69
|
+
left: 30%;
|
|
70
|
+
top: 20%;
|
|
71
|
+
background: white;
|
|
72
|
+
width: 40%;
|
|
73
|
+
text-align: left;
|
|
74
|
+
height: fit-content;
|
|
75
|
+
border-radius: $CAP_SPACE_04;
|
|
76
|
+
.richmedia-template {
|
|
77
|
+
.richmedia-image-container {
|
|
78
|
+
width: 100%;
|
|
79
|
+
height: 102px;
|
|
80
|
+
position: relative;
|
|
81
|
+
img {
|
|
82
|
+
border-top-left-radius: 4px;
|
|
83
|
+
border-top-right-radius: 4px;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
.name-container-with-abstract {
|
|
87
|
+
padding: $CAP_SPACE_12;
|
|
88
|
+
height: 68px;
|
|
89
|
+
}
|
|
90
|
+
.name-container {
|
|
91
|
+
position: absolute;
|
|
92
|
+
bottom: 0px;
|
|
93
|
+
height: 44px;
|
|
94
|
+
padding-top: 16px;
|
|
95
|
+
padding-left: 12px;
|
|
96
|
+
color: $CAP_WHITE;
|
|
97
|
+
opacity: 0.7;
|
|
98
|
+
width: 100%;
|
|
99
|
+
background-image: linear-gradient(to top,black 0% ,transparent 100%);
|
|
100
|
+
}
|
|
101
|
+
.additional-richmedia-container {
|
|
102
|
+
display: flex;
|
|
103
|
+
justify-content: space-between;
|
|
104
|
+
margin: 8px;
|
|
105
|
+
padding-bottom: 8px;
|
|
106
|
+
img {
|
|
107
|
+
border-radius: 4px;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
.additional-richmedia-container:not(:last-child) {
|
|
111
|
+
border-bottom: 1px solid #dfe2e7;
|
|
112
|
+
}
|
|
113
|
+
div {
|
|
114
|
+
text-overflow: ellipsis;
|
|
115
|
+
overflow: hidden;
|
|
116
|
+
white-space: nowrap;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
.wechatMsgContainerOutbound{
|
|
121
|
+
position: absolute;
|
|
122
|
+
left: 35%;
|
|
123
|
+
top: 20%;
|
|
124
|
+
background: white;
|
|
125
|
+
width: 30%;
|
|
126
|
+
text-align: left;
|
|
127
|
+
}
|
|
128
|
+
.wechatMsgContainerCardLayout {
|
|
129
|
+
position: absolute;
|
|
130
|
+
left: 20%;
|
|
131
|
+
top: 20%;
|
|
132
|
+
background: white;
|
|
133
|
+
width: 60%;
|
|
134
|
+
text-align: left;
|
|
135
|
+
}
|
|
136
|
+
.overflow-handle-preview {
|
|
137
|
+
overflow-y: auto;
|
|
138
|
+
}
|
|
139
|
+
.overflow-handle-preview-outbound {
|
|
140
|
+
height: 330px;
|
|
141
|
+
overflow-y: auto;
|
|
142
|
+
}
|
|
143
|
+
.preview-overflow-wrap-fields {
|
|
144
|
+
text-overflow: ellipsis;
|
|
145
|
+
overflow: hidden;
|
|
146
|
+
overflow-wrap: break-word;
|
|
147
|
+
display: -webkit-box !important;
|
|
148
|
+
-webkit-box-orient: vertical;
|
|
149
|
+
-webkit-line-clamp: 2;
|
|
150
|
+
text-align: left;
|
|
151
|
+
width: 200px;
|
|
152
152
|
}
|