@capillarytech/creatives-library 7.17.91 → 7.17.92
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/index.js +6 -0
- package/package.json +1 -1
- package/routes.js +5 -0
- package/services/api.js +5 -0
- package/v2Components/CapDeviceContent/index.js +338 -0
- package/v2Components/CapDeviceContent/index.scss +115 -0
- package/v2Components/CapDeviceContent/messages.js +107 -0
- package/v2Components/CapDeviceContent/tests/index.test.js +75 -0
- package/v2Components/CapImageUpload/index.js +10 -3
- package/v2Components/CapImageUpload/messages.js +4 -0
- package/v2Components/CapInAppCTA/constants.js +25 -0
- package/v2Components/CapInAppCTA/index.js +281 -0
- package/v2Components/CapInAppCTA/index.scss +93 -0
- package/v2Components/CapInAppCTA/messages.js +85 -0
- package/v2Components/MobilePushPreviewV2/index.js +81 -23
- package/v2Components/TemplatePreview/_templatePreview.scss +448 -0
- package/v2Components/TemplatePreview/assets/images/inapp_mobile_android_bottom.svg +11 -0
- package/v2Components/TemplatePreview/assets/images/inapp_mobile_android_full.svg +11 -0
- package/v2Components/TemplatePreview/assets/images/inapp_mobile_android_modal.svg +11 -0
- package/v2Components/TemplatePreview/assets/images/inapp_mobile_android_top.svg +11 -0
- package/v2Components/TemplatePreview/assets/images/inapp_mobile_ios_bottom.svg +6 -0
- package/v2Components/TemplatePreview/assets/images/inapp_mobile_ios_full.svg +18 -0
- package/v2Components/TemplatePreview/assets/images/inapp_mobile_ios_modal.svg +7 -0
- package/v2Components/TemplatePreview/assets/images/inapp_mobile_ios_top.svg +13 -0
- package/v2Components/TemplatePreview/index.js +660 -375
- package/v2Components/TemplatePreview/messages.js +4 -0
- package/v2Containers/App/constants.js +1 -0
- package/v2Containers/CreativesContainer/SlideBoxContent.js +43 -0
- package/v2Containers/CreativesContainer/SlideBoxHeader.js +4 -1
- package/v2Containers/CreativesContainer/constants.js +1 -0
- package/v2Containers/CreativesContainer/index.js +94 -27
- package/v2Containers/CreativesContainer/messages.js +4 -0
- package/v2Containers/InApp/actions.js +64 -0
- package/v2Containers/InApp/constants.js +95 -0
- package/v2Containers/InApp/index.js +745 -0
- package/v2Containers/InApp/index.scss +47 -0
- package/v2Containers/InApp/messages.js +86 -0
- package/v2Containers/InApp/reducer.js +109 -0
- package/v2Containers/InApp/sagas.js +143 -0
- package/v2Containers/InApp/selectors.js +12 -0
- package/v2Containers/InApp/tests/action.test.js +53 -0
- package/v2Containers/InApp/tests/index.test.js +152 -0
- package/v2Containers/InApp/tests/mockData.js +897 -0
- package/v2Containers/InApp/tests/reducer.test.js +177 -0
- package/v2Containers/InApp/tests/sagas.test.js +391 -0
- package/v2Containers/Templates/_templates.scss +7 -0
- package/v2Containers/Templates/index.js +103 -23
- package/v2Containers/Templates/messages.js +20 -0
- package/v2Containers/TemplatesV2/index.js +8 -2
- package/v2Containers/TemplatesV2/messages.js +4 -0
|
@@ -11,6 +11,9 @@ import { CapTab, CapIcon } from '@capillarytech/cap-ui-library';
|
|
|
11
11
|
import { get, map, isEmpty} from 'lodash';
|
|
12
12
|
import TemplatePreview from '../TemplatePreview';
|
|
13
13
|
import '../PreviewSideBar/_previewsidebar.scss';
|
|
14
|
+
import { MOBILE_PUSH } from '../../v2Containers/CreativesContainer/constants';
|
|
15
|
+
import { INAPP } from '../../v2Containers/App/constants';
|
|
16
|
+
import { ANDROID, IOS } from '../../v2Containers/InApp/constants';
|
|
14
17
|
|
|
15
18
|
class MobilePushPreviewV2 extends React.Component { // eslint-disable-line react/prefer-stateless-function
|
|
16
19
|
constructor(props) {
|
|
@@ -31,39 +34,85 @@ class MobilePushPreviewV2 extends React.Component { // eslint-disable-line react
|
|
|
31
34
|
}
|
|
32
35
|
this.state = {
|
|
33
36
|
device,
|
|
34
|
-
content: this.setContent(props.templateData, device),
|
|
37
|
+
content: this.setContent(props.templateData, device, this.props.channel),
|
|
35
38
|
};
|
|
36
39
|
}
|
|
37
40
|
|
|
38
|
-
setContent(templateData, device) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
+
setContent(templateData, device, channel) {
|
|
42
|
+
let content;
|
|
43
|
+
if (channel === INAPP.toUpperCase()) {
|
|
44
|
+
const androidContent = get(templateData, 'versions.base.content.ANDROID') || get(templateData, 'androidContent');
|
|
45
|
+
const iosContent = get(templateData, 'versions.base.content.IOS') || get(templateData, 'iosContent');
|
|
46
|
+
const androidPreviewContent = {
|
|
47
|
+
templateTitle: androidContent?.title,
|
|
48
|
+
templateMsg: androidContent?.message,
|
|
49
|
+
mediaPreview: { inAppImageSrcAndroid: androidContent?.expandableDetails?.imageUrl },
|
|
50
|
+
ctaData: androidContent?.expandableDetails?.buttons?.map((cta) => {
|
|
51
|
+
const { index, type, text, url = "", label } = cta;
|
|
52
|
+
const ctaObject = {
|
|
53
|
+
index,
|
|
54
|
+
text,
|
|
55
|
+
url,
|
|
56
|
+
urlType: type,
|
|
57
|
+
isSaved: true,
|
|
58
|
+
label,
|
|
59
|
+
};
|
|
60
|
+
return ctaObject;
|
|
61
|
+
}),
|
|
62
|
+
};
|
|
63
|
+
const iosPreviewContent = {
|
|
64
|
+
templateTitle: iosContent?.title,
|
|
65
|
+
templateMsg: iosContent?.message,
|
|
66
|
+
mediaPreview: { inAppImageSrcIos: iosContent?.expandableDetails?.imageUrl },
|
|
67
|
+
ctaData: iosContent?.expandableDetails?.buttons?.map((cta) => {
|
|
68
|
+
const { index, type, text, url = "", label } = cta;
|
|
69
|
+
const ctaObject = {
|
|
70
|
+
index,
|
|
71
|
+
text,
|
|
72
|
+
url,
|
|
73
|
+
urlType: type,
|
|
74
|
+
isSaved: true,
|
|
75
|
+
label,
|
|
76
|
+
};
|
|
77
|
+
return ctaObject;
|
|
78
|
+
}),
|
|
79
|
+
};
|
|
80
|
+
content = {
|
|
81
|
+
inAppPreviewContent: device === ANDROID.toLowerCase() ? androidPreviewContent : iosPreviewContent,
|
|
82
|
+
templateLayoutType: device === ANDROID.toLowerCase() ? androidContent?.bodyType : iosContent?.bodyType,
|
|
83
|
+
};
|
|
84
|
+
} else if (channel === MOBILE_PUSH) {
|
|
85
|
+
const androidContent = get(templateData, 'versions.base.ANDROID') || get(templateData, 'androidContent');
|
|
86
|
+
const iosContent = get(templateData, 'versions.base.IOS') || get(templateData, 'iosContent');
|
|
41
87
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
88
|
+
const data = device === "android" ? androidContent : iosContent;
|
|
89
|
+
const { title = '', message = '', expandableDetails: { ctas = [], image = '' } = {}} = data || {};
|
|
90
|
+
content = {
|
|
91
|
+
header: title,
|
|
92
|
+
bodyText: message,
|
|
93
|
+
bodyImage: image,
|
|
94
|
+
actions: [],
|
|
95
|
+
appName: templateData?.appName,
|
|
96
|
+
};
|
|
97
|
+
if (ctas && ctas?.length) {
|
|
98
|
+
if (device === "android" ) {
|
|
99
|
+
content.actions = map(ctas, (cta) => ({label: cta?.actionText}));
|
|
100
|
+
} else {
|
|
101
|
+
content.actions = [{label: ctas[0]?.actionLabel}, {label: ctas[0]?.actionLabel2}];
|
|
102
|
+
}
|
|
56
103
|
}
|
|
57
104
|
}
|
|
58
105
|
return content;
|
|
59
106
|
}
|
|
60
107
|
getPreview(device) {
|
|
108
|
+
const deviceParam = device === ANDROID.toLowerCase() ? ANDROID : IOS;
|
|
61
109
|
return (
|
|
62
110
|
<TemplatePreview
|
|
63
|
-
device={device}
|
|
111
|
+
device={this.props.channel === INAPP.toUpperCase() ? deviceParam : device}
|
|
64
112
|
channel={this.props.channel}
|
|
65
113
|
content={this.state.content || ''}
|
|
66
114
|
templateData={this.props.templateData}
|
|
115
|
+
templateLayoutType={this.state.content.templateLayoutType || ''}
|
|
67
116
|
/>
|
|
68
117
|
);
|
|
69
118
|
}
|
|
@@ -72,7 +121,7 @@ class MobilePushPreviewV2 extends React.Component { // eslint-disable-line react
|
|
|
72
121
|
this.props.handleClose();
|
|
73
122
|
}
|
|
74
123
|
changeDevice(device) {
|
|
75
|
-
const content = this.setContent(this.props.templateData, device);
|
|
124
|
+
const content = this.setContent(this.props.templateData, device, this.props.channel);
|
|
76
125
|
this.setState({device, content });
|
|
77
126
|
}
|
|
78
127
|
goToEdit(e, path) {
|
|
@@ -80,9 +129,18 @@ class MobilePushPreviewV2 extends React.Component { // eslint-disable-line react
|
|
|
80
129
|
}
|
|
81
130
|
render() {
|
|
82
131
|
const {templateData} = this.props;
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
132
|
+
let hasAndroid;
|
|
133
|
+
let hasIos;
|
|
134
|
+
let hasBothAndroidAndIos;
|
|
135
|
+
if (this.props.channel === MOBILE_PUSH) {
|
|
136
|
+
hasAndroid = get(templateData, 'versions.base.ANDROID') || get(templateData, 'androidContent.title');
|
|
137
|
+
hasIos = get(templateData, 'versions.base.IOS') || get(templateData, 'iosContent.title');
|
|
138
|
+
hasBothAndroidAndIos = hasAndroid && hasIos;
|
|
139
|
+
} else if (this.props.channel === INAPP.toUpperCase()) {
|
|
140
|
+
hasAndroid = get(templateData, 'versions.base.content.ANDROID') || get(templateData, 'androidContent.title');
|
|
141
|
+
hasIos = get(templateData, 'versions.base.content.IOS') || get(templateData, 'iosContent.title');
|
|
142
|
+
hasBothAndroidAndIos = hasAndroid && hasIos;
|
|
143
|
+
}
|
|
86
144
|
|
|
87
145
|
return (
|
|
88
146
|
<div>
|
|
@@ -13,8 +13,449 @@
|
|
|
13
13
|
&.sms {
|
|
14
14
|
width: 45%;
|
|
15
15
|
}
|
|
16
|
+
|
|
17
|
+
.inapp-message-container-POPUP-ANDROID {
|
|
18
|
+
position: absolute;
|
|
19
|
+
top: 20%;
|
|
20
|
+
display: flex;
|
|
21
|
+
width: 200px;
|
|
22
|
+
left: 28%;
|
|
23
|
+
|
|
24
|
+
.inapp-title-POPUP-ANDROID {
|
|
25
|
+
margin: 10% $CAP_SPACE_08 $CAP_SPACE_08 $CAP_SPACE_08;
|
|
26
|
+
width: 170px;
|
|
27
|
+
height: 18px;
|
|
28
|
+
text-overflow: ellipsis;
|
|
29
|
+
overflow: hidden;
|
|
30
|
+
white-space: nowrap;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.inapp-image-POPUP-ANDROID {
|
|
34
|
+
width: 178px;
|
|
35
|
+
margin-right: $CAP_SPACE_08;
|
|
36
|
+
margin-left: $CAP_SPACE_08;
|
|
37
|
+
border-radius: $CAP_SPACE_04;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.inapp-content-POPUP-ANDROID {
|
|
41
|
+
margin-top: $CAP_SPACE_12;
|
|
42
|
+
margin-right: $CAP_SPACE_08;
|
|
43
|
+
margin-left: $CAP_SPACE_08;
|
|
44
|
+
width: 178px;
|
|
45
|
+
max-height: 3rem;
|
|
46
|
+
text-overflow: ellipsis;
|
|
47
|
+
overflow: hidden;
|
|
48
|
+
text-align: left;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.inapp-button-POPUP-ANDROID {
|
|
52
|
+
margin: $CAP_SPACE_08;
|
|
53
|
+
width: 178px;
|
|
54
|
+
height: $CAP_SPACE_24;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.inapp-message-container-HEADER-ANDROID {
|
|
59
|
+
position: absolute;
|
|
60
|
+
display: flex;
|
|
61
|
+
bottom: 19.4rem;
|
|
62
|
+
width: 200px;
|
|
63
|
+
left: 28%;
|
|
64
|
+
top: 20px;
|
|
65
|
+
|
|
66
|
+
.inapp-title-HEADER-ANDROID {
|
|
67
|
+
left: 34%;
|
|
68
|
+
top: 15%;
|
|
69
|
+
position: relative;
|
|
70
|
+
font-size: 10px;
|
|
71
|
+
width: 90px;
|
|
72
|
+
height: 12px;
|
|
73
|
+
text-overflow: ellipsis;
|
|
74
|
+
overflow: hidden;
|
|
75
|
+
white-space: nowrap;
|
|
76
|
+
font-weight: bold;
|
|
77
|
+
text-align: left;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.without-image-title-HEADER-android {
|
|
81
|
+
left: 26%;
|
|
82
|
+
bottom: -21px;
|
|
83
|
+
text-align: center;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.inapp-image-HEADER-ANDROID {
|
|
87
|
+
width: 50px;
|
|
88
|
+
height: 50px;
|
|
89
|
+
position: relative;
|
|
90
|
+
top: 12%;
|
|
91
|
+
right: 33%;
|
|
92
|
+
border-radius: $CAP_SPACE_04;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.inapp-content-HEADER-ANDROID {
|
|
96
|
+
position: relative;
|
|
97
|
+
width: 120px;
|
|
98
|
+
height: 46px;
|
|
99
|
+
left: 35%;
|
|
100
|
+
bottom: 30px;
|
|
101
|
+
max-height: 2.85rem;
|
|
102
|
+
font-size: 8px;
|
|
103
|
+
text-overflow: ellipsis;
|
|
104
|
+
text-align: left;
|
|
105
|
+
overflow: hidden;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.without-image-content-HEADER-android {
|
|
109
|
+
width: 92%;
|
|
110
|
+
left: 6%;
|
|
111
|
+
bottom: -21px;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.inapp-button-HEADER-ANDROID {
|
|
115
|
+
position: relative;
|
|
116
|
+
width: 92%;
|
|
117
|
+
bottom: 32px;
|
|
118
|
+
height: $CAP_SPACE_20;
|
|
119
|
+
margin-top: $CAP_SPACE_04;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.without-image-button-HEADER-android {
|
|
123
|
+
width: 92%;
|
|
124
|
+
bottom: -19px;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
.inapp-message-container-FOOTER-ANDROID {
|
|
130
|
+
position: absolute;
|
|
131
|
+
display: flex;
|
|
132
|
+
justify-content: center;
|
|
133
|
+
bottom: 1.5%;
|
|
134
|
+
width: 200px;
|
|
135
|
+
left: 28%;
|
|
136
|
+
|
|
137
|
+
.inapp-title-FOOTER-ANDROID {
|
|
138
|
+
width: 90px;
|
|
139
|
+
height: 12px;
|
|
140
|
+
text-align: left;
|
|
141
|
+
left: 34%;
|
|
142
|
+
justify-content: center;
|
|
143
|
+
position: relative;
|
|
144
|
+
right: 33%;
|
|
145
|
+
bottom: -22px;
|
|
146
|
+
font-size: 10px;
|
|
147
|
+
text-overflow: ellipsis;
|
|
148
|
+
overflow: hidden;
|
|
149
|
+
white-space: nowrap;
|
|
150
|
+
font-weight: bold;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.without-image-title-FOOTER-android {
|
|
154
|
+
left: 26%;
|
|
155
|
+
top: -30px;
|
|
156
|
+
text-align: center;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.inapp-image-FOOTER-ANDROID {
|
|
160
|
+
width: 50px;
|
|
161
|
+
height: 50px;
|
|
162
|
+
position: relative;
|
|
163
|
+
top: 12%;
|
|
164
|
+
right: 33%;
|
|
165
|
+
border-radius: $CAP_SPACE_04;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
.inapp-content-FOOTER-ANDROID {
|
|
169
|
+
position: relative;
|
|
170
|
+
left: 35%;
|
|
171
|
+
width: 120px;
|
|
172
|
+
height: 46px;
|
|
173
|
+
bottom: 30px;
|
|
174
|
+
max-height: 3rem;
|
|
175
|
+
overflow: hidden;
|
|
176
|
+
font-size: 8px;
|
|
177
|
+
text-overflow: ellipsis;
|
|
178
|
+
overflow: hidden;
|
|
179
|
+
text-align: left;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
.without-image-content-FOOTER-android {
|
|
183
|
+
width: 92%;
|
|
184
|
+
left: 6%;
|
|
185
|
+
top: -30px;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
.inapp-button-FOOTER-ANDROID {
|
|
189
|
+
width: 92%;
|
|
190
|
+
bottom: 23%;
|
|
191
|
+
height: $CAP_SPACE_20;
|
|
192
|
+
margin-top: $CAP_SPACE_04;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
.without-image-button-FOOTER-android {
|
|
196
|
+
width: 92%;
|
|
197
|
+
top: -30px;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
.inapp-message-container-FULLSCREEN-ANDROID {
|
|
202
|
+
position: absolute;
|
|
203
|
+
top: 10%;
|
|
204
|
+
display: flex;
|
|
205
|
+
left: 29%;
|
|
206
|
+
.inapp-title-FULLSCREEN-ANDROID {
|
|
207
|
+
text-overflow: ellipsis;
|
|
208
|
+
overflow: hidden;
|
|
209
|
+
white-space: nowrap;
|
|
210
|
+
width: 180px;
|
|
211
|
+
}
|
|
212
|
+
.inapp-image-FULLSCREEN-ANDROID {
|
|
213
|
+
width: 186px;
|
|
214
|
+
height: 161px;
|
|
215
|
+
position: relative;
|
|
216
|
+
right: -2px;
|
|
217
|
+
margin: $CAP_SPACE_08 0;
|
|
218
|
+
border-radius: $CAP_SPACE_04;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
.inapp-content-FULLSCREEN-ANDROID {
|
|
222
|
+
width: 186px;
|
|
223
|
+
height: 9rem;
|
|
224
|
+
text-align: left;
|
|
225
|
+
margin-top: $CAP_SPACE_04;
|
|
226
|
+
text-overflow: ellipsis;
|
|
227
|
+
overflow: hidden;
|
|
228
|
+
text-align: left;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
.inapp-button-FULLSCREEN-ANDROID {
|
|
232
|
+
width: 100%;
|
|
233
|
+
height: $CAP_SPACE_24;
|
|
234
|
+
bottom: -1%;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
.inapp-message-container-POPUP-iOS {
|
|
239
|
+
position: absolute;
|
|
240
|
+
top: 20%;
|
|
241
|
+
display: flex;
|
|
242
|
+
width: 200px;
|
|
243
|
+
left: 28%;
|
|
244
|
+
|
|
245
|
+
.inapp-title-POPUP-iOS {
|
|
246
|
+
margin: 12% $CAP_SPACE_08 $CAP_SPACE_04 $CAP_SPACE_08;
|
|
247
|
+
width: 170px;
|
|
248
|
+
text-overflow: ellipsis;
|
|
249
|
+
overflow: hidden;
|
|
250
|
+
white-space: nowrap;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
.inapp-image-POPUP-iOS {
|
|
254
|
+
width: 178px;
|
|
255
|
+
margin-right: $CAP_SPACE_08;
|
|
256
|
+
margin-left: $CAP_SPACE_08;
|
|
257
|
+
border-radius: $CAP_SPACE_04;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
.inapp-content-POPUP-iOS {
|
|
261
|
+
margin-top: $CAP_SPACE_12;
|
|
262
|
+
margin-right: $CAP_SPACE_08;
|
|
263
|
+
margin-left: $CAP_SPACE_08;
|
|
264
|
+
width: 178px;
|
|
265
|
+
max-height: 3rem;
|
|
266
|
+
text-overflow: ellipsis;
|
|
267
|
+
overflow: hidden;
|
|
268
|
+
text-align: left;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
.inapp-button-POPUP-iOS {
|
|
272
|
+
margin: $CAP_SPACE_08;
|
|
273
|
+
width: 178px;
|
|
274
|
+
height: $CAP_SPACE_24;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
.inapp-message-container-HEADER-iOS {
|
|
279
|
+
position: absolute;
|
|
280
|
+
display: flex;
|
|
281
|
+
width: 200px;
|
|
282
|
+
left: 28%;
|
|
283
|
+
top: 3%;
|
|
284
|
+
|
|
285
|
+
.inapp-title-HEADER-iOS {
|
|
286
|
+
left: 34%;
|
|
287
|
+
top: 15%;
|
|
288
|
+
position: relative;
|
|
289
|
+
font-size: 10px;
|
|
290
|
+
width: 90px;
|
|
291
|
+
height: 12px;
|
|
292
|
+
text-overflow: ellipsis;
|
|
293
|
+
overflow: hidden;
|
|
294
|
+
white-space: nowrap;
|
|
295
|
+
font-weight: bold;
|
|
296
|
+
text-align: left;
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
.without-image-title-HEADER-ios {
|
|
300
|
+
left: 26%;
|
|
301
|
+
top: 18px;
|
|
302
|
+
text-align: center;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
.inapp-image-HEADER-iOS {
|
|
306
|
+
width: 50px;
|
|
307
|
+
height: 50px;
|
|
308
|
+
position: relative;
|
|
309
|
+
top: 12%;
|
|
310
|
+
right: 33%;
|
|
311
|
+
border-radius: $CAP_SPACE_04;
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
.inapp-content-HEADER-iOS {
|
|
315
|
+
position: relative;
|
|
316
|
+
width: 120px;
|
|
317
|
+
height: 46px;
|
|
318
|
+
left: 35%;
|
|
319
|
+
top: -31px;
|
|
320
|
+
max-height: 2.85rem;
|
|
321
|
+
overflow: hidden;
|
|
322
|
+
font-size: 8px;
|
|
323
|
+
text-overflow: ellipsis;
|
|
324
|
+
overflow: hidden;
|
|
325
|
+
text-align: left;
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
.without-image-content-HEADER-ios {
|
|
329
|
+
width: 92%;
|
|
330
|
+
left: 6%;
|
|
331
|
+
top: 21px;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
.inapp-button-HEADER-iOS {
|
|
335
|
+
width: 90%;
|
|
336
|
+
bottom: 23%;
|
|
337
|
+
height: $CAP_SPACE_20;;
|
|
338
|
+
margin-top: $CAP_SPACE_04;
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
.without-image-button-HEADER-ios {
|
|
342
|
+
width: 92%;
|
|
343
|
+
bottom: -19px;
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
.inapp-message-container-FOOTER-iOS {
|
|
348
|
+
position: absolute;
|
|
349
|
+
display: flex;
|
|
350
|
+
justify-content: center;
|
|
351
|
+
width: 200px;
|
|
352
|
+
left: 28%;
|
|
353
|
+
top: 75%;
|
|
354
|
+
|
|
355
|
+
.inapp-title-FOOTER-iOS {
|
|
356
|
+
width: 90px;
|
|
357
|
+
height: 12px;
|
|
358
|
+
text-align: left;
|
|
359
|
+
left: 34%;
|
|
360
|
+
justify-content: center;
|
|
361
|
+
position: relative;
|
|
362
|
+
right: 33%;
|
|
363
|
+
bottom: -22px;
|
|
364
|
+
font-size: 10px;
|
|
365
|
+
text-overflow: ellipsis;
|
|
366
|
+
overflow: hidden;
|
|
367
|
+
white-space: nowrap;
|
|
368
|
+
font-weight: bold;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
.without-image-title-FOOTER-ios {
|
|
372
|
+
left: 26%;
|
|
373
|
+
top: 15px;
|
|
374
|
+
text-align: center;
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
.inapp-image-FOOTER-iOS {
|
|
378
|
+
width: 50px;
|
|
379
|
+
height: 50px;
|
|
380
|
+
position: relative;
|
|
381
|
+
top: 12%;
|
|
382
|
+
right: 33%;
|
|
383
|
+
border-radius: $CAP_SPACE_04;
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
.inapp-content-FOOTER-iOS {
|
|
387
|
+
position: relative;
|
|
388
|
+
left: 35%;
|
|
389
|
+
width: 60%;
|
|
390
|
+
height: 46px;
|
|
391
|
+
bottom: 30px;
|
|
392
|
+
max-height: 3rem;
|
|
393
|
+
overflow: hidden;
|
|
394
|
+
font-size: 8px;
|
|
395
|
+
text-overflow: ellipsis;
|
|
396
|
+
overflow: hidden;
|
|
397
|
+
text-align: left;
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
.without-image-content-FOOTER-ios {
|
|
401
|
+
width: 92%;
|
|
402
|
+
left: 6%;
|
|
403
|
+
top: 15px;
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
.inapp-button-FOOTER-iOS {
|
|
407
|
+
width: 90%;
|
|
408
|
+
bottom: 23%;
|
|
409
|
+
height: $CAP_SPACE_20;
|
|
410
|
+
margin-top: $CAP_SPACE_04;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
.without-image-button-FOOTER-ios {
|
|
414
|
+
width: 92%;
|
|
415
|
+
top: 15px;
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
.inapp-message-container-FULLSCREEN-iOS {
|
|
421
|
+
position: absolute;
|
|
422
|
+
top: 10%;
|
|
423
|
+
display: flex;
|
|
424
|
+
left: 29%;
|
|
425
|
+
.inapp-title-FULLSCREEN-iOS {
|
|
426
|
+
text-overflow: ellipsis;
|
|
427
|
+
overflow: hidden;
|
|
428
|
+
white-space: nowrap;
|
|
429
|
+
width: 180px;
|
|
430
|
+
}
|
|
431
|
+
.inapp-image-FULLSCREEN-iOS {
|
|
432
|
+
width: 186px;
|
|
433
|
+
height: 161px;
|
|
434
|
+
position: relative;
|
|
435
|
+
right: -2px;
|
|
436
|
+
margin: $CAP_SPACE_08 0;
|
|
437
|
+
border-radius: $CAP_SPACE_04;
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
.inapp-content-FULLSCREEN-iOS {
|
|
441
|
+
width: 186px;
|
|
442
|
+
height: 9rem;
|
|
443
|
+
text-align: left;
|
|
444
|
+
margin-top: $CAP_SPACE_04;
|
|
445
|
+
text-overflow: ellipsis;
|
|
446
|
+
overflow: hidden;
|
|
447
|
+
text-align: left;
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
.inapp-button-FULLSCREEN-iOS {
|
|
451
|
+
width: 100%;
|
|
452
|
+
height: $CAP_SPACE_24;
|
|
453
|
+
bottom: -1%;
|
|
454
|
+
}
|
|
455
|
+
}
|
|
16
456
|
}
|
|
17
457
|
|
|
458
|
+
|
|
18
459
|
.msg-container {
|
|
19
460
|
position: absolute;
|
|
20
461
|
top: 20%;
|
|
@@ -541,4 +982,11 @@
|
|
|
541
982
|
font-weight: $FONT_WEIGHT_REGULAR;
|
|
542
983
|
color: $FONT_COLOR_02;
|
|
543
984
|
margin-bottom: $CAP_SPACE_08;
|
|
985
|
+
}
|
|
986
|
+
.preview-inapp-screen {
|
|
987
|
+
width: 100%;
|
|
988
|
+
}
|
|
989
|
+
.media-img-inapp {
|
|
990
|
+
width: 100%;
|
|
991
|
+
height: 100%;
|
|
544
992
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<svg width="220" height="472" viewBox="0 0 220 472" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<rect width="220" height="472" rx="26" fill="#101211"/>
|
|
3
|
+
<rect x="9" y="36" width="202" height="404" rx="9" fill="#343434"/>
|
|
4
|
+
<rect x="84" y="14" width="52" height="5" rx="2.5" fill="#2E2E2E"/>
|
|
5
|
+
<rect x="84" y="455" width="52" height="5" rx="2.5" fill="#2E2E2E"/>
|
|
6
|
+
<circle cx="45.5" cy="19.5" r="5.5" fill="#2E2E2E"/>
|
|
7
|
+
<circle cx="65.5" cy="19.5" r="3.5" fill="#2E2E2E"/>
|
|
8
|
+
<rect x="13" y="350" width="194" height="86" rx="8" fill="white"/>
|
|
9
|
+
<circle cx="197" cy="360" r="5" fill="#5E6C84"/>
|
|
10
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M198.414 358.584C198.219 358.389 197.902 358.389 197.707 358.584L197 359.291L196.293 358.584C196.098 358.389 195.781 358.389 195.586 358.584C195.391 358.779 195.391 359.096 195.586 359.291L196.293 359.998L195.586 360.705C195.391 360.901 195.391 361.217 195.586 361.413C195.781 361.608 196.098 361.608 196.293 361.413L197 360.705L197.707 361.413C197.902 361.608 198.219 361.608 198.414 361.413C198.609 361.217 198.609 360.901 198.414 360.705L197.707 359.998L198.414 359.291C198.609 359.096 198.609 358.779 198.414 358.584Z" fill="#F4F5F7"/>
|
|
11
|
+
</svg>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<svg width="220" height="472" viewBox="0 0 220 472" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<rect width="220" height="472" rx="26" fill="#101211"/>
|
|
3
|
+
<rect x="9" y="36" width="202" height="404" rx="9" fill="#343434"/>
|
|
4
|
+
<rect x="84" y="14" width="52" height="5" rx="2.5" fill="#2E2E2E"/>
|
|
5
|
+
<rect x="84" y="455" width="52" height="5" rx="2.5" fill="#2E2E2E"/>
|
|
6
|
+
<circle cx="45.5" cy="19.5" r="5.5" fill="#2E2E2E"/>
|
|
7
|
+
<circle cx="65.5" cy="19.5" r="3.5" fill="#2E2E2E"/>
|
|
8
|
+
<rect x="9" y="36" width="202" height="404" rx="8" fill="white"/>
|
|
9
|
+
<circle cx="201" cy="46" r="5" fill="#5E6C84"/>
|
|
10
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M202.414 44.5841C202.219 44.3889 201.902 44.3889 201.707 44.5841L201 45.2912L200.293 44.5841C200.098 44.3889 199.781 44.3889 199.586 44.5841C199.391 44.7794 199.391 45.096 199.586 45.2912L200.293 45.9983L199.586 46.7055C199.391 46.9007 199.391 47.2173 199.586 47.4126C199.781 47.6078 200.098 47.6078 200.293 47.4126L201 46.7055L201.707 47.4126C201.902 47.6078 202.219 47.6078 202.414 47.4126C202.609 47.2173 202.609 46.9007 202.414 46.7055L201.707 45.9983L202.414 45.2912C202.609 45.096 202.609 44.7794 202.414 44.5841Z" fill="#F4F5F7"/>
|
|
11
|
+
</svg>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<svg width="220" height="472" viewBox="0 0 220 472" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<rect width="220" height="472" rx="26" fill="#101211"/>
|
|
3
|
+
<rect x="9" y="36" width="202" height="404" rx="9" fill="#343434"/>
|
|
4
|
+
<rect x="84" y="14" width="52" height="5" rx="2.5" fill="#2E2E2E"/>
|
|
5
|
+
<rect x="84" y="455" width="52" height="5" rx="2.5" fill="#2E2E2E"/>
|
|
6
|
+
<circle cx="45.5" cy="19.5" r="5.5" fill="#2E2E2E"/>
|
|
7
|
+
<circle cx="65.5" cy="19.5" r="3.5" fill="#2E2E2E"/>
|
|
8
|
+
<rect x="13" y="111" width="194" height="253" rx="8" fill="white"/>
|
|
9
|
+
<circle cx="197" cy="121" r="5" fill="#5E6C84"/>
|
|
10
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M198.413 119.584C198.217 119.389 197.901 119.389 197.706 119.584L196.999 120.291L196.291 119.584C196.096 119.389 195.78 119.389 195.584 119.584C195.389 119.779 195.389 120.096 195.584 120.291L196.291 120.998L195.584 121.705C195.389 121.901 195.389 122.217 195.584 122.413C195.78 122.608 196.096 122.608 196.291 122.413L196.999 121.705L197.706 122.413C197.901 122.608 198.217 122.608 198.413 122.413C198.608 122.217 198.608 121.901 198.413 121.705L197.706 120.998L198.413 120.291C198.608 120.096 198.608 119.779 198.413 119.584Z" fill="#F4F5F7"/>
|
|
11
|
+
</svg>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<svg width="220" height="472" viewBox="0 0 220 472" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<rect width="220" height="472" rx="26" fill="#101211"/>
|
|
3
|
+
<rect x="9" y="36" width="202" height="404" rx="9" fill="#343434"/>
|
|
4
|
+
<rect x="84" y="14" width="52" height="5" rx="2.5" fill="#2E2E2E"/>
|
|
5
|
+
<rect x="84" y="455" width="52" height="5" rx="2.5" fill="#2E2E2E"/>
|
|
6
|
+
<circle cx="45.5" cy="19.5" r="5.5" fill="#2E2E2E"/>
|
|
7
|
+
<circle cx="65.5" cy="19.5" r="3.5" fill="#2E2E2E"/>
|
|
8
|
+
<rect x="13" y="40" width="194" height="86" rx="8" fill="white"/>
|
|
9
|
+
<circle cx="197" cy="50" r="5" fill="#5E6C84"/>
|
|
10
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M198.412 48.5841C198.217 48.3889 197.9 48.3889 197.705 48.5841L196.998 49.2912L196.291 48.5841C196.096 48.3889 195.779 48.3889 195.584 48.5841C195.389 48.7794 195.389 49.096 195.584 49.2912L196.291 49.9983L195.584 50.7055C195.389 50.9007 195.389 51.2173 195.584 51.4126C195.779 51.6078 196.096 51.6078 196.291 51.4126L196.998 50.7055L197.705 51.4126C197.9 51.6078 198.217 51.6078 198.412 51.4126C198.608 51.2173 198.608 50.9007 198.412 50.7055L197.705 49.9983L198.412 49.2912C198.608 49.096 198.608 48.7794 198.412 48.5841Z" fill="#F4F5F7"/>
|
|
11
|
+
</svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg width="228" height="472" viewBox="0 0 228 472" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<rect width="228" height="472" rx="32" fill="#101211"/>
|
|
3
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M58 11H33C20.2975 11 10 21.2975 10 34V439C10 451.703 20.2975 462 33 462H195C207.703 462 218 451.703 218 439V34C218 21.2975 207.703 11 195 11H170V14C170 21.1797 164.18 27 157 27H71C63.8203 27 58 21.1797 58 14V11Z" fill="#343434"/>
|
|
4
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M58 11H33C20.2975 11 10 21.2975 10 34V439C10 451.703 20.2975 462 33 462H195C207.703 462 218 451.703 218 439V34C218 21.2975 207.703 11 195 11H170V14C170 21.1797 164.18 27 157 27H71C63.8203 27 58 21.1797 58 14V11Z" fill="#343434"/>
|
|
5
|
+
<rect x="17" y="370" width="194" height="92" rx="8" fill="white"/>
|
|
6
|
+
</svg>
|