@capillarytech/creatives-library 8.0.242-alpha.0 → 8.0.242-alpha.1
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/assets/Android.png +0 -0
- package/assets/iOS.png +0 -0
- package/constants/unified.js +2 -1
- package/initialReducer.js +2 -0
- package/package.json +1 -1
- package/sagas/__tests__/assetPolling.test.js +74 -3
- package/sagas/assetPolling.js +8 -1
- package/services/api.js +10 -5
- package/services/tests/api.test.js +18 -0
- package/translations/en.json +0 -1
- package/utils/common.js +5 -0
- package/utils/commonUtils.js +14 -1
- package/utils/tests/commonUtil.test.js +224 -0
- package/utils/transformTemplateConfig.js +0 -10
- package/utils/transformerUtils.js +0 -42
- package/v2Components/CapDeviceContent/index.js +61 -56
- package/v2Components/CapImageUpload/constants.js +0 -2
- package/v2Components/CapImageUpload/index.js +14 -54
- package/v2Components/CapImageUpload/index.scss +1 -4
- package/v2Components/CapImageUpload/messages.js +0 -4
- package/v2Components/CapTagList/index.js +6 -1
- package/v2Components/CapTagListWithInput/index.js +5 -1
- package/v2Components/CapTagListWithInput/messages.js +1 -1
- package/v2Components/CapWhatsappCTA/tests/index.test.js +5 -0
- package/v2Components/ErrorInfoNote/index.js +412 -72
- package/v2Components/ErrorInfoNote/messages.js +22 -0
- package/v2Components/ErrorInfoNote/style.scss +279 -2
- package/v2Components/HtmlEditor/HTMLEditor.js +210 -89
- package/v2Components/HtmlEditor/__tests__/HTMLEditor.test.js +1132 -133
- package/v2Components/HtmlEditor/__tests__/index.lazy.test.js +17 -12
- package/v2Components/HtmlEditor/_htmlEditor.scss +8 -23
- package/v2Components/HtmlEditor/_index.lazy.scss +1 -1
- package/v2Components/HtmlEditor/components/CodeEditorPane/_codeEditorPane.scss +13 -101
- package/v2Components/HtmlEditor/components/CodeEditorPane/index.js +148 -139
- package/v2Components/HtmlEditor/components/DeviceToggle/_deviceToggle.scss +2 -1
- package/v2Components/HtmlEditor/components/DeviceToggle/index.js +3 -3
- package/v2Components/HtmlEditor/components/EditorToolbar/index.js +1 -1
- package/v2Components/HtmlEditor/components/FullscreenModal/_fullscreenModal.scss +1 -0
- package/v2Components/HtmlEditor/components/InAppPreviewPane/DeviceFrame.js +4 -7
- package/v2Components/HtmlEditor/components/InAppPreviewPane/__tests__/DeviceFrame.test.js +35 -45
- package/v2Components/HtmlEditor/components/InAppPreviewPane/_inAppPreviewPane.scss +1 -3
- package/v2Components/HtmlEditor/components/InAppPreviewPane/constants.js +33 -33
- package/v2Components/HtmlEditor/components/InAppPreviewPane/index.js +7 -6
- package/v2Components/HtmlEditor/components/PreviewPane/_previewPane.scss +3 -6
- package/v2Components/HtmlEditor/components/PreviewPane/index.js +10 -11
- package/v2Components/HtmlEditor/components/SplitContainer/_splitContainer.scss +1 -1
- package/v2Components/HtmlEditor/components/ValidationErrorDisplay/__tests__/index.test.js +87 -62
- package/v2Components/HtmlEditor/components/ValidationErrorDisplay/index.js +49 -31
- package/v2Components/HtmlEditor/components/ValidationTabs/_validationTabs.scss +254 -0
- package/v2Components/HtmlEditor/components/ValidationTabs/index.js +362 -0
- package/v2Components/HtmlEditor/components/ValidationTabs/messages.js +51 -0
- package/v2Components/HtmlEditor/constants.js +29 -20
- package/v2Components/HtmlEditor/hooks/__tests__/useInAppContent.test.js +373 -16
- package/v2Components/HtmlEditor/hooks/useEditorContent.js +5 -2
- package/v2Components/HtmlEditor/hooks/useInAppContent.js +88 -146
- package/v2Components/HtmlEditor/index.js +1 -1
- package/v2Components/HtmlEditor/messages.js +95 -85
- package/v2Components/HtmlEditor/utils/liquidTemplateSupport.js +99 -101
- package/v2Components/HtmlEditor/utils/properSyntaxHighlighting.js +23 -25
- package/v2Components/HtmlEditor/utils/validationAdapter.js +34 -41
- package/v2Components/MobilePushPreviewV2/index.js +32 -7
- package/v2Components/TemplatePreview/_templatePreview.scss +44 -24
- package/v2Components/TemplatePreview/index.js +47 -32
- package/v2Components/TemplatePreview/messages.js +4 -0
- package/v2Components/TestAndPreviewSlidebox/index.js +31 -25
- package/v2Containers/App/constants.js +0 -5
- package/v2Containers/BeeEditor/index.js +82 -80
- package/v2Containers/BeePopupEditor/constants.js +10 -0
- package/v2Containers/BeePopupEditor/index.js +193 -0
- package/v2Containers/BeePopupEditor/tests/index.test.js +627 -0
- package/v2Containers/Cap/tests/__snapshots__/index.test.js.snap +0 -1
- package/v2Containers/CreativesContainer/SlideBoxContent.js +148 -120
- package/v2Containers/CreativesContainer/SlideBoxFooter.js +9 -3
- package/v2Containers/CreativesContainer/SlideBoxHeader.js +2 -2
- package/v2Containers/CreativesContainer/constants.js +1 -2
- package/v2Containers/CreativesContainer/index.js +173 -193
- package/v2Containers/CreativesContainer/messages.js +4 -4
- package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +38 -50
- package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +36 -0
- package/v2Containers/Email/actions.js +7 -0
- package/v2Containers/Email/constants.js +5 -1
- package/v2Containers/Email/index.js +13 -0
- package/v2Containers/Email/messages.js +32 -0
- package/v2Containers/Email/reducer.js +12 -1
- package/v2Containers/Email/sagas.js +41 -6
- package/v2Containers/Email/tests/__snapshots__/reducer.test.js.snap +2 -0
- package/v2Containers/EmailWrapper/components/EmailHTMLEditor.js +1045 -0
- package/v2Containers/EmailWrapper/components/EmailWrapperView.js +193 -7
- package/v2Containers/EmailWrapper/components/HTMLEditorTesting.js +40 -74
- package/v2Containers/EmailWrapper/components/__tests__/HTMLEditorTesting.test.js +2 -67
- package/v2Containers/EmailWrapper/constants.js +2 -0
- package/v2Containers/EmailWrapper/hooks/useEmailWrapper.js +436 -67
- package/v2Containers/EmailWrapper/index.js +99 -23
- package/v2Containers/EmailWrapper/messages.js +61 -1
- package/v2Containers/EmailWrapper/tests/EmailWrapperView.test.js +26 -1
- package/v2Containers/EmailWrapper/tests/useEmailWrapper.test.js +111 -77
- package/v2Containers/InApp/__tests__/InAppHTMLEditor.test.js +376 -0
- package/v2Containers/InApp/__tests__/sagas.test.js +363 -0
- package/v2Containers/InApp/actions.js +7 -0
- package/v2Containers/InApp/constants.js +20 -4
- package/v2Containers/InApp/index.js +800 -357
- package/v2Containers/InApp/index.scss +4 -3
- package/v2Containers/InApp/messages.js +7 -3
- package/v2Containers/InApp/reducer.js +21 -3
- package/v2Containers/InApp/sagas.js +29 -9
- package/v2Containers/InApp/selectors.js +25 -5
- package/v2Containers/InApp/tests/index.test.js +154 -50
- package/v2Containers/InApp/tests/reducer.test.js +34 -0
- package/v2Containers/InApp/tests/sagas.test.js +61 -9
- package/v2Containers/InApp/tests/selectors.test.js +612 -0
- package/v2Containers/InAppWrapper/components/InAppWrapperView.js +162 -0
- package/v2Containers/InAppWrapper/components/__tests__/InAppWrapperView.test.js +267 -0
- package/v2Containers/InAppWrapper/components/inAppWrapperView.scss +9 -0
- package/v2Containers/InAppWrapper/constants.js +16 -0
- package/v2Containers/InAppWrapper/hooks/__tests__/useInAppWrapper.test.js +473 -0
- package/v2Containers/InAppWrapper/hooks/useInAppWrapper.js +198 -0
- package/v2Containers/InAppWrapper/index.js +148 -0
- package/v2Containers/InAppWrapper/messages.js +49 -0
- package/v2Containers/InappAdvance/index.js +1099 -0
- package/v2Containers/InappAdvance/index.scss +10 -0
- package/v2Containers/InappAdvance/tests/index.test.js +448 -0
- package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/content.test.js.snap +3 -3
- package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/index.test.js.snap +2 -2
- package/v2Containers/Line/Container/Wrapper/tests/__snapshots__/index.test.js.snap +2 -25
- package/v2Containers/Line/Container/tests/__snapshots__/index.test.js.snap +9 -18
- package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +12 -46
- package/v2Containers/SmsTrai/Create/tests/__snapshots__/index.test.js.snap +0 -4
- package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +4 -8
- package/v2Containers/TagList/index.js +67 -1
- package/v2Containers/Templates/ChannelTypeIllustration.js +1 -13
- package/v2Containers/Templates/_templates.scss +56 -200
- package/v2Containers/Templates/actions.js +1 -2
- package/v2Containers/Templates/constants.js +0 -1
- package/v2Containers/Templates/index.js +124 -277
- package/v2Containers/Templates/messages.js +4 -24
- package/v2Containers/Templates/reducer.js +0 -2
- package/v2Containers/Templates/tests/index.test.js +0 -10
- package/v2Containers/TemplatesV2/index.js +2 -3
- package/v2Containers/TemplatesV2/messages.js +0 -4
- package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +35 -132
- package/v2Components/CapImageUrlUpload/constants.js +0 -19
- package/v2Components/CapImageUrlUpload/index.js +0 -455
- package/v2Components/CapImageUrlUpload/index.scss +0 -35
- package/v2Components/CapImageUrlUpload/messages.js +0 -47
- package/v2Containers/WebPush/Create/components/ButtonForm.js +0 -175
- package/v2Containers/WebPush/Create/components/ButtonItem.js +0 -101
- package/v2Containers/WebPush/Create/components/ButtonList.js +0 -144
- package/v2Containers/WebPush/Create/components/_buttons.scss +0 -246
- package/v2Containers/WebPush/Create/components/tests/ButtonForm.test.js +0 -554
- package/v2Containers/WebPush/Create/components/tests/ButtonItem.test.js +0 -607
- package/v2Containers/WebPush/Create/components/tests/ButtonList.test.js +0 -633
- package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonForm.test.js.snap +0 -666
- package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonItem.test.js.snap +0 -74
- package/v2Containers/WebPush/Create/components/tests/__snapshots__/ButtonList.test.js.snap +0 -80
- package/v2Containers/WebPush/Create/index.js +0 -1755
- package/v2Containers/WebPush/Create/index.scss +0 -123
- package/v2Containers/WebPush/Create/messages.js +0 -199
- package/v2Containers/WebPush/Create/preview/DevicePreviewContent.js +0 -241
- package/v2Containers/WebPush/Create/preview/NotificationContainer.js +0 -290
- package/v2Containers/WebPush/Create/preview/PreviewContent.js +0 -81
- package/v2Containers/WebPush/Create/preview/PreviewControls.js +0 -240
- package/v2Containers/WebPush/Create/preview/PreviewDisclaimer.js +0 -23
- package/v2Containers/WebPush/Create/preview/WebPushPreview.js +0 -144
- package/v2Containers/WebPush/Create/preview/assets/Light.svg +0 -53
- package/v2Containers/WebPush/Create/preview/assets/Top.svg +0 -5
- package/v2Containers/WebPush/Create/preview/assets/chrome-icon.png +0 -0
- package/v2Containers/WebPush/Create/preview/assets/edge-icon.png +0 -0
- package/v2Containers/WebPush/Create/preview/assets/firefox-icon.svg +0 -106
- package/v2Containers/WebPush/Create/preview/assets/iOS.svg +0 -26
- package/v2Containers/WebPush/Create/preview/assets/opera-icon.svg +0 -18
- package/v2Containers/WebPush/Create/preview/assets/safari-icon.svg +0 -29
- package/v2Containers/WebPush/Create/preview/components/AndroidMobileChromeHeader.js +0 -44
- package/v2Containers/WebPush/Create/preview/components/AndroidMobileExpanded.js +0 -110
- package/v2Containers/WebPush/Create/preview/components/IOSHeader.js +0 -45
- package/v2Containers/WebPush/Create/preview/components/NotificationExpandedContent.js +0 -72
- package/v2Containers/WebPush/Create/preview/components/NotificationHeader.js +0 -55
- package/v2Containers/WebPush/Create/preview/components/WindowsChromeExpanded.js +0 -70
- package/v2Containers/WebPush/Create/preview/components/tests/AndroidMobileExpanded.test.js +0 -512
- package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/AndroidMobileExpanded.test.js.snap +0 -77
- package/v2Containers/WebPush/Create/preview/config/notificationMappings.js +0 -527
- package/v2Containers/WebPush/Create/preview/constants.js +0 -162
- package/v2Containers/WebPush/Create/preview/notification-container.scss +0 -104
- package/v2Containers/WebPush/Create/preview/preview.scss +0 -409
- package/v2Containers/WebPush/Create/preview/styles/_android-mobile-chrome.scss +0 -300
- package/v2Containers/WebPush/Create/preview/styles/_android-mobile-edge.scss +0 -12
- package/v2Containers/WebPush/Create/preview/styles/_android-mobile-firefox.scss +0 -12
- package/v2Containers/WebPush/Create/preview/styles/_android-mobile-opera.scss +0 -12
- package/v2Containers/WebPush/Create/preview/styles/_android-tablet-chrome.scss +0 -303
- package/v2Containers/WebPush/Create/preview/styles/_android-tablet-edge.scss +0 -11
- package/v2Containers/WebPush/Create/preview/styles/_android-tablet-firefox.scss +0 -11
- package/v2Containers/WebPush/Create/preview/styles/_android-tablet-opera.scss +0 -11
- package/v2Containers/WebPush/Create/preview/styles/_base.scss +0 -188
- package/v2Containers/WebPush/Create/preview/styles/_ios.scss +0 -106
- package/v2Containers/WebPush/Create/preview/styles/_ipados.scss +0 -107
- package/v2Containers/WebPush/Create/preview/styles/_macos-chrome.scss +0 -75
- package/v2Containers/WebPush/Create/preview/styles/_windows-chrome.scss +0 -174
- package/v2Containers/WebPush/Create/preview/tests/DevicePreviewContent.test.js +0 -909
- package/v2Containers/WebPush/Create/preview/tests/NotificationContainer.test.js +0 -1077
- package/v2Containers/WebPush/Create/preview/tests/PreviewControls.test.js +0 -723
- package/v2Containers/WebPush/Create/preview/tests/WebPushPreview.test.js +0 -943
- package/v2Containers/WebPush/Create/preview/tests/__snapshots__/DevicePreviewContent.test.js.snap +0 -128
- package/v2Containers/WebPush/Create/preview/tests/__snapshots__/NotificationContainer.test.js.snap +0 -121
- package/v2Containers/WebPush/Create/preview/tests/__snapshots__/PreviewControls.test.js.snap +0 -144
- package/v2Containers/WebPush/Create/preview/tests/__snapshots__/WebPushPreview.test.js.snap +0 -127
- package/v2Containers/WebPush/Create/utils/urlValidation.js +0 -116
- package/v2Containers/WebPush/Create/utils/urlValidation.test.js +0 -449
- package/v2Containers/WebPush/actions.js +0 -60
- package/v2Containers/WebPush/constants.js +0 -108
- package/v2Containers/WebPush/index.js +0 -2
- package/v2Containers/WebPush/reducer.js +0 -104
- package/v2Containers/WebPush/sagas.js +0 -119
- package/v2Containers/WebPush/selectors.js +0 -65
- package/v2Containers/WebPush/tests/reducer.test.js +0 -863
- package/v2Containers/WebPush/tests/sagas.test.js +0 -566
- package/v2Containers/WebPush/tests/selectors.test.js +0 -960
|
@@ -26,8 +26,17 @@ class MobilePushPreviewV2 extends React.Component { // eslint-disable-line react
|
|
|
26
26
|
this.getPreview = this.getPreview.bind(this);
|
|
27
27
|
this.setContent = this.setContent.bind(this);
|
|
28
28
|
this.goToDuplicate = this.goToDuplicate.bind(this);
|
|
29
|
-
|
|
30
|
-
const
|
|
29
|
+
// Check for INAPP channel structure (versions.base.content.ANDROID/IOS) or MOBILE_PUSH structure (versions.base.ANDROID/IOS)
|
|
30
|
+
const { channel, templateData } = props;
|
|
31
|
+
let hasAndroid;
|
|
32
|
+
let hasIos;
|
|
33
|
+
if (channel === INAPP.toUpperCase()) {
|
|
34
|
+
hasAndroid = get(templateData, 'versions.base.content.ANDROID') || get(templateData, 'androidContent');
|
|
35
|
+
hasIos = get(templateData, 'versions.base.content.IOS') || get(templateData, 'iosContent');
|
|
36
|
+
} else {
|
|
37
|
+
hasAndroid = get(templateData, 'versions.base.ANDROID') || get(templateData, 'androidContent.title');
|
|
38
|
+
hasIos = get(templateData, 'versions.base.IOS') || get(templateData, 'iosContent.title');
|
|
39
|
+
}
|
|
31
40
|
let device = "android";
|
|
32
41
|
if (hasAndroid) {
|
|
33
42
|
device = 'android';
|
|
@@ -45,6 +54,17 @@ class MobilePushPreviewV2 extends React.Component { // eslint-disable-line react
|
|
|
45
54
|
if (channel === INAPP.toUpperCase()) {
|
|
46
55
|
const androidContent = get(templateData, 'versions.base.content.ANDROID') || get(templateData, 'androidContent');
|
|
47
56
|
const iosContent = get(templateData, 'versions.base.content.IOS') || get(templateData, 'iosContent');
|
|
57
|
+
const isBeeFreeTemplate = get(androidContent, 'isBEEeditor') || get(iosContent, 'isBEEeditor');
|
|
58
|
+
if (isBeeFreeTemplate) {
|
|
59
|
+
// Normalize device to 'android' or 'ios' for comparison
|
|
60
|
+
const normalizedDevice = device === 'iphone' ? 'ios' : device?.toLowerCase();
|
|
61
|
+
const isAndroid = normalizedDevice === ANDROID.toLowerCase();
|
|
62
|
+
content = {
|
|
63
|
+
inAppPreviewContent: isAndroid ? androidContent?.beeHtml : iosContent?.beeHtml,
|
|
64
|
+
isBeeFreeTemplate: true,
|
|
65
|
+
};
|
|
66
|
+
return content;
|
|
67
|
+
}
|
|
48
68
|
const androidPreviewContent = {
|
|
49
69
|
templateTitle: androidContent?.title,
|
|
50
70
|
templateMsg: androidContent?.message,
|
|
@@ -57,9 +77,12 @@ class MobilePushPreviewV2 extends React.Component { // eslint-disable-line react
|
|
|
57
77
|
mediaPreview: { inAppImageSrcIos: iosContent?.expandableDetails?.image },
|
|
58
78
|
ctaData: getCtaObject(iosContent?.expandableDetails?.ctas),
|
|
59
79
|
};
|
|
80
|
+
// Normalize device to 'android' or 'ios' for comparison
|
|
81
|
+
const normalizedDevice = device === 'iphone' ? 'ios' : device?.toLowerCase();
|
|
82
|
+
const isAndroid = normalizedDevice === ANDROID.toLowerCase();
|
|
60
83
|
content = {
|
|
61
|
-
inAppPreviewContent:
|
|
62
|
-
templateLayoutType:
|
|
84
|
+
inAppPreviewContent: isAndroid ? androidPreviewContent : iosPreviewContent,
|
|
85
|
+
templateLayoutType: isAndroid ? androidContent?.bodyType : iosContent?.bodyType,
|
|
63
86
|
};
|
|
64
87
|
} else if (channel === MOBILE_PUSH) {
|
|
65
88
|
const androidContent = get(templateData, 'versions.base.ANDROID') || get(templateData, 'androidContent');
|
|
@@ -125,7 +148,9 @@ class MobilePushPreviewV2 extends React.Component { // eslint-disable-line react
|
|
|
125
148
|
}
|
|
126
149
|
|
|
127
150
|
getPreview(device) {
|
|
128
|
-
|
|
151
|
+
// Normalize device to 'android' or 'ios' for comparison
|
|
152
|
+
const normalizedDevice = device === 'iphone' ? 'ios' : device?.toLowerCase();
|
|
153
|
+
const deviceParam = normalizedDevice === ANDROID.toLowerCase() ? ANDROID : IOS;
|
|
129
154
|
return (
|
|
130
155
|
<TemplatePreview
|
|
131
156
|
device={this.props.channel === INAPP.toUpperCase() ? deviceParam : device}
|
|
@@ -159,8 +184,8 @@ class MobilePushPreviewV2 extends React.Component { // eslint-disable-line react
|
|
|
159
184
|
hasAndroid = get(templateData, 'versions.base.ANDROID') || get(templateData, 'androidContent.title');
|
|
160
185
|
hasIos = get(templateData, 'versions.base.IOS') || get(templateData, 'iosContent.title');
|
|
161
186
|
} else if (this.props.channel === INAPP.toUpperCase()) {
|
|
162
|
-
hasAndroid = get(templateData, 'versions.base.content.ANDROID') || get(templateData, 'androidContent
|
|
163
|
-
hasIos = get(templateData, 'versions.base.content.IOS') || get(templateData, 'iosContent
|
|
187
|
+
hasAndroid = get(templateData, 'versions.base.content.ANDROID') || get(templateData, 'androidContent');
|
|
188
|
+
hasIos = get(templateData, 'versions.base.content.IOS') || get(templateData, 'iosContent');
|
|
164
189
|
}
|
|
165
190
|
const hasBothAndroidAndIos = hasAndroid && hasIos;
|
|
166
191
|
return (
|
|
@@ -16,10 +16,11 @@
|
|
|
16
16
|
&.mobilepush
|
|
17
17
|
|
|
18
18
|
.inapp-message-container-POPUP-ANDROID {
|
|
19
|
+
background-color: $CAP_WHITE;
|
|
19
20
|
position: absolute;
|
|
20
|
-
top:
|
|
21
|
+
top: 30%;
|
|
21
22
|
display: flex;
|
|
22
|
-
width:
|
|
23
|
+
width: 14.286rem;
|
|
23
24
|
left: 28%;
|
|
24
25
|
|
|
25
26
|
.inapp-title-POPUP-ANDROID {
|
|
@@ -59,10 +60,10 @@
|
|
|
59
60
|
.inapp-message-container-HEADER-ANDROID {
|
|
60
61
|
position: absolute;
|
|
61
62
|
display: flex;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
width: 17.571rem;
|
|
64
|
+
left: 18%;
|
|
65
|
+
top: 4.071rem;
|
|
66
|
+
background-color: $CAP_WHITE;
|
|
66
67
|
|
|
67
68
|
.inapp-title-HEADER-ANDROID {
|
|
68
69
|
left: 34%;
|
|
@@ -129,22 +130,24 @@
|
|
|
129
130
|
|
|
130
131
|
|
|
131
132
|
.inapp-message-container-FOOTER-ANDROID {
|
|
133
|
+
background-color: $CAP_WHITE;
|
|
132
134
|
position: absolute;
|
|
133
135
|
display: flex;
|
|
134
136
|
justify-content: center;
|
|
135
|
-
bottom:
|
|
136
|
-
width:
|
|
137
|
-
left:
|
|
137
|
+
bottom: 2.5%;
|
|
138
|
+
width: 16.571rem;
|
|
139
|
+
left: 21%;
|
|
140
|
+
background-color: $CAP_WHITE;
|
|
138
141
|
|
|
139
142
|
.inapp-title-FOOTER-ANDROID {
|
|
140
|
-
width:
|
|
143
|
+
width: 6.429rem;
|
|
141
144
|
height: 12px;
|
|
142
145
|
text-align: left;
|
|
143
146
|
left: 34%;
|
|
144
147
|
justify-content: center;
|
|
145
148
|
position: relative;
|
|
146
149
|
right: 33%;
|
|
147
|
-
bottom: -
|
|
150
|
+
bottom: -1.429rem;
|
|
148
151
|
font-size: 10px;
|
|
149
152
|
text-overflow: ellipsis;
|
|
150
153
|
overflow: hidden;
|
|
@@ -201,10 +204,12 @@
|
|
|
201
204
|
}
|
|
202
205
|
|
|
203
206
|
.inapp-message-container-FULLSCREEN-ANDROID {
|
|
207
|
+
background-color: $CAP_WHITE;
|
|
204
208
|
position: absolute;
|
|
205
209
|
top: 10%;
|
|
206
210
|
display: flex;
|
|
207
|
-
left:
|
|
211
|
+
left: 20%;
|
|
212
|
+
width: 16.643rem;
|
|
208
213
|
.inapp-title-FULLSCREEN-ANDROID {
|
|
209
214
|
text-overflow: ellipsis;
|
|
210
215
|
overflow: hidden;
|
|
@@ -238,10 +243,11 @@
|
|
|
238
243
|
}
|
|
239
244
|
|
|
240
245
|
.inapp-message-container-POPUP-iOS {
|
|
246
|
+
background-color: $CAP_WHITE;
|
|
241
247
|
position: absolute;
|
|
242
|
-
top:
|
|
248
|
+
top: 30%;
|
|
243
249
|
display: flex;
|
|
244
|
-
width:
|
|
250
|
+
width: 14.286rem;
|
|
245
251
|
left: 28%;
|
|
246
252
|
|
|
247
253
|
.inapp-title-POPUP-iOS {
|
|
@@ -278,18 +284,19 @@
|
|
|
278
284
|
}
|
|
279
285
|
|
|
280
286
|
.inapp-message-container-HEADER-iOS {
|
|
287
|
+
background-color: $CAP_WHITE;
|
|
281
288
|
position: absolute;
|
|
282
289
|
display: flex;
|
|
283
|
-
width:
|
|
284
|
-
left:
|
|
285
|
-
top:
|
|
290
|
+
width: 16.571rem;
|
|
291
|
+
left: 20%;
|
|
292
|
+
top: 10%;
|
|
286
293
|
|
|
287
294
|
.inapp-title-HEADER-iOS {
|
|
288
295
|
left: 34%;
|
|
289
296
|
top: 15%;
|
|
290
297
|
position: relative;
|
|
291
298
|
font-size: 10px;
|
|
292
|
-
width:
|
|
299
|
+
width: 6.429rem;
|
|
293
300
|
height: 12px;
|
|
294
301
|
text-overflow: ellipsis;
|
|
295
302
|
overflow: hidden;
|
|
@@ -300,7 +307,7 @@
|
|
|
300
307
|
|
|
301
308
|
.without-image-title-HEADER-ios {
|
|
302
309
|
left: 26%;
|
|
303
|
-
top:
|
|
310
|
+
top: 1.286rem;
|
|
304
311
|
text-align: center;
|
|
305
312
|
}
|
|
306
313
|
|
|
@@ -330,7 +337,7 @@
|
|
|
330
337
|
.without-image-content-HEADER-ios {
|
|
331
338
|
width: 92%;
|
|
332
339
|
left: 6%;
|
|
333
|
-
top:
|
|
340
|
+
top: 1.5rem;
|
|
334
341
|
}
|
|
335
342
|
|
|
336
343
|
.inapp-button-HEADER-iOS {
|
|
@@ -347,12 +354,14 @@
|
|
|
347
354
|
}
|
|
348
355
|
|
|
349
356
|
.inapp-message-container-FOOTER-iOS {
|
|
357
|
+
background-color: $CAP_WHITE;
|
|
350
358
|
position: absolute;
|
|
351
359
|
display: flex;
|
|
352
360
|
justify-content: center;
|
|
353
|
-
width:
|
|
354
|
-
left:
|
|
355
|
-
top:
|
|
361
|
+
width: 16.571rem;
|
|
362
|
+
left: 20%;
|
|
363
|
+
top: 42%;
|
|
364
|
+
bottom: 3.5%;
|
|
356
365
|
|
|
357
366
|
.inapp-title-FOOTER-iOS {
|
|
358
367
|
width: 90px;
|
|
@@ -420,10 +429,12 @@
|
|
|
420
429
|
}
|
|
421
430
|
|
|
422
431
|
.inapp-message-container-FULLSCREEN-iOS {
|
|
432
|
+
background-color: $CAP_WHITE;
|
|
423
433
|
position: absolute;
|
|
424
434
|
top: 10%;
|
|
425
435
|
display: flex;
|
|
426
|
-
left:
|
|
436
|
+
left: 20%;
|
|
437
|
+
width: 16.643rem;
|
|
427
438
|
.inapp-title-FULLSCREEN-iOS {
|
|
428
439
|
text-overflow: ellipsis;
|
|
429
440
|
overflow: hidden;
|
|
@@ -455,6 +466,15 @@
|
|
|
455
466
|
bottom: -1%;
|
|
456
467
|
}
|
|
457
468
|
}
|
|
469
|
+
|
|
470
|
+
.inapp-message-container-MODAL-ANDROID, .inapp-message-container-MODAL-iOS {
|
|
471
|
+
background-color: $CAP_WHITE;
|
|
472
|
+
position: absolute;
|
|
473
|
+
top: 30%;
|
|
474
|
+
display: flex;
|
|
475
|
+
width: 14.286rem;
|
|
476
|
+
left: 28%;
|
|
477
|
+
}
|
|
458
478
|
}
|
|
459
479
|
|
|
460
480
|
|
|
@@ -37,14 +37,8 @@ import {
|
|
|
37
37
|
import { VIBER, FACEBOOK } from '../../v2Containers/App/constants';
|
|
38
38
|
import Carousel from '../Carousel';
|
|
39
39
|
import whatsappMobileAndroid from './assets/images/whatsapp_mobile_android.svg';
|
|
40
|
-
import
|
|
41
|
-
import
|
|
42
|
-
import inAppMobileAndroidBottom from './assets/images/inapp_mobile_android_bottom.svg';
|
|
43
|
-
import inAppMobileAndroidFull from './assets/images/inapp_mobile_android_full.svg';
|
|
44
|
-
import inAppMobileIOSModal from './assets/images/inapp_mobile_ios_modal.svg';
|
|
45
|
-
import inAppMobileIOSTop from './assets/images/inapp_mobile_ios_top.svg';
|
|
46
|
-
import inAppMobileIOSBottom from './assets/images/inapp_mobile_ios_bottom.svg';
|
|
47
|
-
import inAppMobileIOSFull from './assets/images/inapp_mobile_ios_full.svg';
|
|
40
|
+
import inAppMobileDeviceAndroid from '../../assets/Android.png';
|
|
41
|
+
import inAppMobileDeviceIos from '../../assets/iOS.png';
|
|
48
42
|
import whatsappImageEmptyPreview from './assets/images/empty_image_preview.svg';
|
|
49
43
|
import whatsappVideoEmptyPreview from './assets/images/empty_video_preview.svg';
|
|
50
44
|
import videoPlay from '../../assets/videoPlay.svg';
|
|
@@ -239,7 +233,7 @@ export class TemplatePreview extends React.Component { // eslint-disable-line re
|
|
|
239
233
|
} = this.props;
|
|
240
234
|
let content = channel && channel.toLowerCase() === 'sms' ? [this.props.content] : this.props.content;
|
|
241
235
|
const { formatMessage } = intl;
|
|
242
|
-
const { rcsPreviewContent, inAppPreviewContent, viberPreviewContent } = content || {};
|
|
236
|
+
const { rcsPreviewContent, inAppPreviewContent, viberPreviewContent, isBeeFreeTemplate } = content || {};
|
|
243
237
|
const { rcsImageSrc, rcsVideoSrc, rcsTitle, rcsDesc, rcsSuggestions } = rcsPreviewContent || {};
|
|
244
238
|
const {
|
|
245
239
|
videoParams,
|
|
@@ -247,7 +241,11 @@ export class TemplatePreview extends React.Component { // eslint-disable-line re
|
|
|
247
241
|
buttonText: viberButtonText,
|
|
248
242
|
messageContent: viberMessageContent,
|
|
249
243
|
} = viberPreviewContent || {};
|
|
244
|
+
let isHTMLContent = true;
|
|
250
245
|
const {mediaPreview = {}, templateTitle = "", templateMsg = "", ctaData} = inAppPreviewContent || {};
|
|
246
|
+
if(templateTitle !== undefined && ctaData !== undefined && templateMsg !== undefined) {
|
|
247
|
+
isHTMLContent = false;
|
|
248
|
+
}
|
|
251
249
|
let smsDetails = {};
|
|
252
250
|
// let smsText = '';
|
|
253
251
|
if (this.props.content && this.props.charCounterEnabled) {
|
|
@@ -464,27 +462,9 @@ export class TemplatePreview extends React.Component { // eslint-disable-line re
|
|
|
464
462
|
|
|
465
463
|
const getPreviewImage = () => {
|
|
466
464
|
if (this.props.device === ANDROID) {
|
|
467
|
-
|
|
468
|
-
case INAPP_MESSAGE_LAYOUT_TYPES.MODAL:
|
|
469
|
-
return inAppMobileAndroidModal;
|
|
470
|
-
case INAPP_MESSAGE_LAYOUT_TYPES.TOPBANNER:
|
|
471
|
-
return inAppMobileAndroidTop;
|
|
472
|
-
case INAPP_MESSAGE_LAYOUT_TYPES.BOTTOMBANNER:
|
|
473
|
-
return inAppMobileAndroidBottom;
|
|
474
|
-
default:
|
|
475
|
-
return inAppMobileAndroidFull;
|
|
476
|
-
}
|
|
465
|
+
return inAppMobileDeviceAndroid;
|
|
477
466
|
} else {
|
|
478
|
-
|
|
479
|
-
case INAPP_MESSAGE_LAYOUT_TYPES.MODAL:
|
|
480
|
-
return inAppMobileIOSModal;
|
|
481
|
-
case INAPP_MESSAGE_LAYOUT_TYPES.TOPBANNER:
|
|
482
|
-
return inAppMobileIOSTop;
|
|
483
|
-
case INAPP_MESSAGE_LAYOUT_TYPES.BOTTOMBANNER:
|
|
484
|
-
return inAppMobileIOSBottom;
|
|
485
|
-
default:
|
|
486
|
-
return inAppMobileIOSFull;
|
|
487
|
-
}
|
|
467
|
+
return inAppMobileDeviceIos;
|
|
488
468
|
}
|
|
489
469
|
};
|
|
490
470
|
|
|
@@ -1406,7 +1386,34 @@ export class TemplatePreview extends React.Component { // eslint-disable-line re
|
|
|
1406
1386
|
</div>
|
|
1407
1387
|
)}
|
|
1408
1388
|
{channel?.toUpperCase() === INAPP && (
|
|
1409
|
-
|
|
1389
|
+
isBeeFreeTemplate ? (
|
|
1390
|
+
<div className="shell-v2 align-center">
|
|
1391
|
+
<div style={{ position: 'relative', display: 'inline-block', width: '100%', height: '100%' }}>
|
|
1392
|
+
<CapImage
|
|
1393
|
+
className="preview-image"
|
|
1394
|
+
src={this.props.device === ANDROID ? inAppMobileDeviceAndroid : inAppMobileDeviceIos}
|
|
1395
|
+
alt={formatMessage(messages.previewGenerated)}
|
|
1396
|
+
/>
|
|
1397
|
+
<iframe
|
|
1398
|
+
srcDoc={inAppPreviewContent?.value}
|
|
1399
|
+
title={formatMessage(messages.inappPreview)}
|
|
1400
|
+
style={{
|
|
1401
|
+
position: 'absolute',
|
|
1402
|
+
top: '3rem',
|
|
1403
|
+
left: '5rem',
|
|
1404
|
+
width: '60%',
|
|
1405
|
+
height: '89%',
|
|
1406
|
+
zIndex: 1,
|
|
1407
|
+
pointerEvents: 'none',
|
|
1408
|
+
backgroundColor: 'white',
|
|
1409
|
+
borderRadius: `${CAP_SPACE_08}`,
|
|
1410
|
+
}}
|
|
1411
|
+
frameBorder="0"
|
|
1412
|
+
/>
|
|
1413
|
+
</div>
|
|
1414
|
+
</div>
|
|
1415
|
+
): (
|
|
1416
|
+
<div className="shell-v2 align-center">
|
|
1410
1417
|
<CapImage
|
|
1411
1418
|
className="preview-image"
|
|
1412
1419
|
src={getPreviewImage()}
|
|
@@ -1414,9 +1421,15 @@ export class TemplatePreview extends React.Component { // eslint-disable-line re
|
|
|
1414
1421
|
/>
|
|
1415
1422
|
<div className="preview-image">
|
|
1416
1423
|
<div
|
|
1417
|
-
className={`inapp-message-container-${templateLayoutType}-${device}
|
|
1424
|
+
className={`inapp-message-container-${templateLayoutType}-${device} inapp`}
|
|
1418
1425
|
>
|
|
1419
|
-
|
|
1426
|
+
{isHTMLContent ? (
|
|
1427
|
+
<div
|
|
1428
|
+
className="inapp-html-content"
|
|
1429
|
+
dangerouslySetInnerHTML={{ __html: templateMsg }}
|
|
1430
|
+
/>
|
|
1431
|
+
) : (
|
|
1432
|
+
<div className="preview-inapp-screen">
|
|
1420
1433
|
{
|
|
1421
1434
|
<CapLabel
|
|
1422
1435
|
type="label15"
|
|
@@ -1481,9 +1494,11 @@ export class TemplatePreview extends React.Component { // eslint-disable-line re
|
|
|
1481
1494
|
</CapButton>
|
|
1482
1495
|
)}
|
|
1483
1496
|
</div>
|
|
1497
|
+
)}
|
|
1484
1498
|
</div>
|
|
1485
1499
|
</div>
|
|
1486
1500
|
</div>
|
|
1501
|
+
)
|
|
1487
1502
|
)}
|
|
1488
1503
|
</CapRow>
|
|
1489
1504
|
</CapColumn>
|
|
@@ -94,4 +94,8 @@ export default defineMessages({
|
|
|
94
94
|
id: 'creatives.componentsV2.TemplatePreview.videoNotSupported',
|
|
95
95
|
defaultMessage: 'Your browser does not support the video tag.',
|
|
96
96
|
},
|
|
97
|
+
inappPreview: {
|
|
98
|
+
id: 'creatives.componentsV2.TemplatePreview.inappPreview',
|
|
99
|
+
defaultMessage: 'Inapp Preview',
|
|
100
|
+
},
|
|
97
101
|
});
|
|
@@ -92,9 +92,12 @@ const TestAndPreviewSlidebox = (props) => {
|
|
|
92
92
|
const activeTab = currentTabData?.activeTab;
|
|
93
93
|
const templateContent = currentTabData?.[activeTab]?.['template-content'];
|
|
94
94
|
|
|
95
|
-
|
|
95
|
+
// Use templateContent or fall back to content prop
|
|
96
|
+
const initialContent = templateContent || content;
|
|
97
|
+
|
|
98
|
+
if (initialContent) {
|
|
96
99
|
return {
|
|
97
|
-
resolvedBody:
|
|
100
|
+
resolvedBody: initialContent,
|
|
98
101
|
resolvedTitle: formData['template-subject'] || ''
|
|
99
102
|
};
|
|
100
103
|
}
|
|
@@ -112,14 +115,14 @@ const TestAndPreviewSlidebox = (props) => {
|
|
|
112
115
|
const resolveTagsInText = (text, tagValues) => {
|
|
113
116
|
if (!text) return text;
|
|
114
117
|
let resolvedText = text;
|
|
115
|
-
|
|
118
|
+
|
|
116
119
|
// Replace each tag with its custom value
|
|
117
120
|
Object.keys(tagValues).forEach((tagPath) => {
|
|
118
121
|
const tagName = tagPath.split('.').pop(); // Get the actual tag name from the path
|
|
119
122
|
const tagRegex = new RegExp(`{{${tagName}}}`, 'g');
|
|
120
123
|
resolvedText = resolvedText.replace(tagRegex, tagValues[tagPath] || `{{${tagName}}}`);
|
|
121
124
|
});
|
|
122
|
-
|
|
125
|
+
|
|
123
126
|
return resolvedText;
|
|
124
127
|
};
|
|
125
128
|
|
|
@@ -128,7 +131,7 @@ const TestAndPreviewSlidebox = (props) => {
|
|
|
128
131
|
const currentTabData = formData[currentTab - 1];
|
|
129
132
|
const activeTab = currentTabData?.activeTab;
|
|
130
133
|
const isDragDrop = currentTabData?.[activeTab]?.is_drag_drop;
|
|
131
|
-
|
|
134
|
+
|
|
132
135
|
if (isDragDrop && beeContent) {
|
|
133
136
|
return beeContent; // Use BEE content if available
|
|
134
137
|
}
|
|
@@ -230,7 +233,7 @@ const TestAndPreviewSlidebox = (props) => {
|
|
|
230
233
|
actions.extractTagsRequested(formData['template-subject'] || '', payloadContent);
|
|
231
234
|
}
|
|
232
235
|
}
|
|
233
|
-
|
|
236
|
+
|
|
234
237
|
actions.fetchTestCustomersRequested();
|
|
235
238
|
actions.fetchTestGroupsRequested();
|
|
236
239
|
}
|
|
@@ -242,17 +245,20 @@ const TestAndPreviewSlidebox = (props) => {
|
|
|
242
245
|
const activeTab = currentTabData?.activeTab;
|
|
243
246
|
const isDragDrop = currentTabData?.[activeTab]?.is_drag_drop;
|
|
244
247
|
const templateContent = currentTabData?.[activeTab]?.['template-content'];
|
|
245
|
-
|
|
246
|
-
if
|
|
248
|
+
|
|
249
|
+
// Fallback to content prop if templateContent is missing (for HTML editor)
|
|
250
|
+
const contentToUse = templateContent || content;
|
|
251
|
+
|
|
252
|
+
if (contentToUse && (typeof contentToUse === 'string' && contentToUse.trim() !== '')) {
|
|
247
253
|
// Common function to handle content update
|
|
248
|
-
const handleContentUpdate = (
|
|
254
|
+
const handleContentUpdate = (newContent) => {
|
|
249
255
|
setPreviewDataHtml({
|
|
250
|
-
resolvedBody:
|
|
256
|
+
resolvedBody: newContent,
|
|
251
257
|
resolvedTitle: formData['template-subject'] || ''
|
|
252
258
|
});
|
|
253
259
|
|
|
254
260
|
// Extract tags from content
|
|
255
|
-
const payloadContent = convert(
|
|
261
|
+
const payloadContent = convert(newContent, GLOBAL_CONVERT_OPTIONS);
|
|
256
262
|
actions.extractTagsRequested(formData['template-subject'] || '', payloadContent);
|
|
257
263
|
};
|
|
258
264
|
|
|
@@ -264,13 +270,13 @@ const TestAndPreviewSlidebox = (props) => {
|
|
|
264
270
|
handleContentUpdate(templateContent);
|
|
265
271
|
}
|
|
266
272
|
} else {
|
|
267
|
-
// For CKEditor, only update if content changed
|
|
268
|
-
if (
|
|
269
|
-
handleContentUpdate(
|
|
273
|
+
// For CKEditor/HTML, only update if content changed
|
|
274
|
+
if (contentToUse !== previewDataHtml?.resolvedBody) {
|
|
275
|
+
handleContentUpdate(contentToUse);
|
|
270
276
|
}
|
|
271
277
|
}
|
|
272
278
|
}
|
|
273
|
-
}, [formData, currentTab]);
|
|
279
|
+
}, [formData, currentTab, content]);
|
|
274
280
|
|
|
275
281
|
// Cleanup effect to reset ref when slidebox closes
|
|
276
282
|
useEffect(() => {
|
|
@@ -366,10 +372,10 @@ const TestAndPreviewSlidebox = (props) => {
|
|
|
366
372
|
useEffect(() => {
|
|
367
373
|
if (selectedCustomer) {
|
|
368
374
|
setTagsExtracted(true); // Auto-open custom values editor
|
|
369
|
-
|
|
375
|
+
|
|
370
376
|
// Get all available tags
|
|
371
377
|
const allTags = [...requiredTags, ...optionalTags];
|
|
372
|
-
|
|
378
|
+
|
|
373
379
|
if (allTags.length > 0) {
|
|
374
380
|
const payload = {
|
|
375
381
|
channel: EMAIL,
|
|
@@ -391,7 +397,7 @@ const TestAndPreviewSlidebox = (props) => {
|
|
|
391
397
|
updatedValues[tag?.fullPath] = prefilledValues[tag?.fullPath] || '';
|
|
392
398
|
});
|
|
393
399
|
|
|
394
|
-
|
|
400
|
+
|
|
395
401
|
setCustomValues(updatedValues);
|
|
396
402
|
|
|
397
403
|
// Update preview with prefilled values
|
|
@@ -439,10 +445,10 @@ const TestAndPreviewSlidebox = (props) => {
|
|
|
439
445
|
setSelectedTestEntities([]);
|
|
440
446
|
setBeeContent('');
|
|
441
447
|
previousBeeContentRef.current = '';
|
|
442
|
-
|
|
448
|
+
|
|
443
449
|
// Clear any pending actions
|
|
444
450
|
actions.clearPrefilledValues();
|
|
445
|
-
|
|
451
|
+
|
|
446
452
|
// Call parent's onClose if provided
|
|
447
453
|
if (onClose) {
|
|
448
454
|
onClose();
|
|
@@ -457,7 +463,7 @@ const TestAndPreviewSlidebox = (props) => {
|
|
|
457
463
|
const handleCustomerSelect = (customer) => {
|
|
458
464
|
setSelectedCustomer(customer);
|
|
459
465
|
setTagsExtracted(true); // Auto-open custom values editor
|
|
460
|
-
|
|
466
|
+
|
|
461
467
|
// Clear any existing values while waiting for prefilled values
|
|
462
468
|
const emptyValues = {};
|
|
463
469
|
[...requiredTags, ...optionalTags].forEach((tag) => {
|
|
@@ -468,7 +474,7 @@ const TestAndPreviewSlidebox = (props) => {
|
|
|
468
474
|
|
|
469
475
|
const handleClearSelection = () => {
|
|
470
476
|
setSelectedCustomer(null);
|
|
471
|
-
|
|
477
|
+
|
|
472
478
|
// Initialize empty values for all tags
|
|
473
479
|
const emptyValues = {};
|
|
474
480
|
[...requiredTags, ...optionalTags].forEach((tag) => {
|
|
@@ -559,12 +565,12 @@ const TestAndPreviewSlidebox = (props) => {
|
|
|
559
565
|
const currentTabData = formData[currentTab - 1];
|
|
560
566
|
const activeTab = currentTabData?.activeTab;
|
|
561
567
|
const templateContent = currentTabData?.[activeTab]?.['template-content'];
|
|
562
|
-
|
|
568
|
+
|
|
563
569
|
// Check for personalization tags (excluding unsubscribe)
|
|
564
570
|
const content = templateContent || getCurrentContent;
|
|
565
571
|
const tags = content.match(/{{[^}]+}}/g) || [];
|
|
566
572
|
const hasPersonalizationTags = tags.some(tag => !tag.includes('unsubscribe'));
|
|
567
|
-
|
|
573
|
+
|
|
568
574
|
if (!hasPersonalizationTags && tags.length === 1 && tags[0].includes('unsubscribe')) {
|
|
569
575
|
// If only unsubscribe tag is present, show noTagsExtracted message
|
|
570
576
|
setTagsExtracted(false);
|
|
@@ -573,7 +579,7 @@ const TestAndPreviewSlidebox = (props) => {
|
|
|
573
579
|
setCustomValues({});
|
|
574
580
|
return;
|
|
575
581
|
}
|
|
576
|
-
|
|
582
|
+
|
|
577
583
|
// Extract tags
|
|
578
584
|
setTagsExtracted(true);
|
|
579
585
|
if (templateContent) {
|
|
@@ -40,7 +40,6 @@ export const TRACK_CREATE_IMAGE = 'createImage';
|
|
|
40
40
|
export const TRACK_CREATE_LINE = 'createLine';
|
|
41
41
|
export const TRACK_CREATE_VIBER = 'createViber';
|
|
42
42
|
export const TRACK_CREATE_FACEBOOK = 'createFacebook';
|
|
43
|
-
export const TRACK_CREATE_WEBPUSH = 'createWebPush';
|
|
44
43
|
|
|
45
44
|
export const CREATE = 'create';
|
|
46
45
|
export const EDIT = 'edit';
|
|
@@ -55,7 +54,6 @@ export const EMAIL = 'email';
|
|
|
55
54
|
export const ASSETS = 'assets';
|
|
56
55
|
export const ZALO = 'zalo';
|
|
57
56
|
export const INAPP = 'inapp';
|
|
58
|
-
export const WEBPUSH = 'webpush';
|
|
59
57
|
|
|
60
58
|
export const JP_LOCALE_HIDE_FEATURE = 'JP_LOCALE_HIDE_FEATURE';
|
|
61
59
|
|
|
@@ -67,7 +65,6 @@ export const TRACK_EDIT_IMAGE = 'editImage';
|
|
|
67
65
|
export const TRACK_EDIT_LINE = 'editLine';
|
|
68
66
|
export const TRACK_EDIT_VIBER = 'editViber';
|
|
69
67
|
export const TRACK_EDIT_FACEBOOK = 'editFacebook';
|
|
70
|
-
export const TRACK_EDIT_WEBPUSH = 'editWebPush';
|
|
71
68
|
|
|
72
69
|
export const CHANNEL_CREATE_TRACK_MAPPING = {
|
|
73
70
|
sms: TRACK_CREATE_SMS,
|
|
@@ -78,7 +75,6 @@ export const CHANNEL_CREATE_TRACK_MAPPING = {
|
|
|
78
75
|
line: TRACK_CREATE_LINE,
|
|
79
76
|
viber: TRACK_CREATE_VIBER,
|
|
80
77
|
facebook: TRACK_CREATE_FACEBOOK,
|
|
81
|
-
webpush: TRACK_CREATE_WEBPUSH,
|
|
82
78
|
};
|
|
83
79
|
|
|
84
80
|
export const CHANNEL_EDIT_TRACK_MAPPING = {
|
|
@@ -90,7 +86,6 @@ export const CHANNEL_EDIT_TRACK_MAPPING = {
|
|
|
90
86
|
line: TRACK_EDIT_LINE,
|
|
91
87
|
viber: TRACK_EDIT_VIBER,
|
|
92
88
|
facebook: TRACK_EDIT_FACEBOOK,
|
|
93
|
-
webpush: TRACK_EDIT_WEBPUSH,
|
|
94
89
|
};
|
|
95
90
|
export const GTM_TRACKING_ID = 'UA-110024621-2';
|
|
96
91
|
export const BEE_PLUGIN = 'BEE_PLUGIN';
|