@capillarytech/creatives-library 8.0.264 → 8.0.266-alpha.0
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 -2
- package/initialReducer.js +2 -0
- package/package.json +1 -1
- package/services/api.js +10 -5
- package/services/tests/api.test.js +34 -0
- package/tests/integration/TemplateCreation/TemplateCreation.integration.test.js +17 -35
- package/tests/integration/TemplateCreation/api-response.js +31 -1
- package/tests/integration/TemplateCreation/msw-handler.js +2 -0
- package/utils/common.js +5 -6
- package/utils/commonUtils.js +28 -5
- package/utils/tagValidations.js +1 -2
- package/utils/tests/commonUtil.test.js +224 -0
- package/utils/tests/transformerUtils.test.js +0 -297
- package/utils/transformTemplateConfig.js +0 -10
- package/utils/transformerUtils.js +0 -40
- package/v2Components/CapDeviceContent/index.js +61 -56
- package/v2Components/CapImageUpload/constants.js +0 -2
- package/v2Components/CapImageUpload/index.js +16 -65
- package/v2Components/CapImageUpload/index.scss +1 -4
- package/v2Components/CapImageUpload/messages.js +1 -5
- 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/CommonTestAndPreview/UnifiedPreview/_unifiedPreview.scss +2 -2
- package/v2Components/ErrorInfoNote/constants.js +1 -0
- package/v2Components/ErrorInfoNote/index.js +402 -72
- package/v2Components/ErrorInfoNote/messages.js +32 -6
- package/v2Components/ErrorInfoNote/style.scss +278 -6
- package/v2Components/FormBuilder/index.js +8 -8
- package/v2Components/FormBuilder/tests/index.test.js +13 -4
- package/v2Components/HtmlEditor/HTMLEditor.js +418 -99
- package/v2Components/HtmlEditor/__tests__/HTMLEditor.apiErrors.test.js +870 -0
- package/v2Components/HtmlEditor/__tests__/HTMLEditor.test.js +1882 -133
- package/v2Components/HtmlEditor/__tests__/index.lazy.test.js +27 -16
- package/v2Components/HtmlEditor/_htmlEditor.scss +108 -45
- package/v2Components/HtmlEditor/_index.lazy.scss +0 -1
- package/v2Components/HtmlEditor/components/CodeEditorPane/_codeEditorPane.scss +23 -102
- package/v2Components/HtmlEditor/components/CodeEditorPane/index.js +148 -140
- package/v2Components/HtmlEditor/components/DeviceToggle/_deviceToggle.scss +2 -1
- package/v2Components/HtmlEditor/components/DeviceToggle/index.js +3 -3
- package/v2Components/HtmlEditor/components/EditorToolbar/_editorToolbar.scss +9 -1
- package/v2Components/HtmlEditor/components/EditorToolbar/index.js +31 -6
- package/v2Components/HtmlEditor/components/FullscreenModal/_fullscreenModal.scss +22 -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 +7 -10
- package/v2Components/HtmlEditor/components/PreviewPane/index.js +22 -43
- package/v2Components/HtmlEditor/components/SplitContainer/_splitContainer.scss +1 -1
- package/v2Components/HtmlEditor/components/ValidationErrorDisplay/_validationErrorDisplay.scss +18 -0
- package/v2Components/HtmlEditor/components/ValidationErrorDisplay/index.js +36 -31
- package/v2Components/HtmlEditor/components/ValidationPanel/_validationPanel.scss +46 -34
- package/v2Components/HtmlEditor/components/ValidationPanel/constants.js +6 -0
- package/v2Components/HtmlEditor/components/ValidationPanel/index.js +52 -46
- package/v2Components/HtmlEditor/components/ValidationTabs/_validationTabs.scss +277 -0
- package/v2Components/HtmlEditor/components/ValidationTabs/index.js +295 -0
- package/v2Components/HtmlEditor/components/ValidationTabs/messages.js +51 -0
- package/v2Components/HtmlEditor/constants.js +45 -20
- package/v2Components/HtmlEditor/hooks/__tests__/useInAppContent.test.js +373 -16
- package/v2Components/HtmlEditor/hooks/__tests__/useValidation.test.js +351 -16
- package/v2Components/HtmlEditor/hooks/useEditorContent.js +5 -2
- package/v2Components/HtmlEditor/hooks/useInAppContent.js +88 -146
- package/v2Components/HtmlEditor/hooks/useValidation.js +213 -56
- package/v2Components/HtmlEditor/index.js +1 -1
- package/v2Components/HtmlEditor/messages.js +102 -94
- package/v2Components/HtmlEditor/utils/__tests__/htmlValidator.enhanced.test.js +214 -45
- package/v2Components/HtmlEditor/utils/__tests__/validationAdapter.test.js +134 -0
- package/v2Components/HtmlEditor/utils/contentSanitizer.js +40 -41
- package/v2Components/HtmlEditor/utils/htmlValidator.js +71 -72
- package/v2Components/HtmlEditor/utils/liquidTemplateSupport.js +158 -124
- package/v2Components/HtmlEditor/utils/properSyntaxHighlighting.js +23 -25
- package/v2Components/HtmlEditor/utils/validationAdapter.js +66 -41
- package/v2Components/HtmlEditor/utils/validationConstants.js +38 -0
- package/v2Components/MobilePushPreviewV2/constants.js +6 -0
- package/v2Components/MobilePushPreviewV2/index.js +33 -7
- package/v2Components/TemplatePreview/_templatePreview.scss +55 -24
- package/v2Components/TemplatePreview/index.js +47 -32
- package/v2Components/TemplatePreview/messages.js +4 -0
- package/v2Components/TestAndPreviewSlidebox/_testAndPreviewSlidebox.scss +1 -0
- package/v2Containers/App/constants.js +0 -5
- package/v2Containers/BeeEditor/index.js +172 -90
- package/v2Containers/BeePopupEditor/_beePopupEditor.scss +14 -0
- package/v2Containers/BeePopupEditor/constants.js +10 -0
- package/v2Containers/BeePopupEditor/index.js +194 -0
- package/v2Containers/BeePopupEditor/tests/index.test.js +627 -0
- package/v2Containers/CreativesContainer/SlideBoxContent.js +129 -108
- package/v2Containers/CreativesContainer/SlideBoxFooter.js +163 -13
- package/v2Containers/CreativesContainer/SlideBoxHeader.js +2 -2
- package/v2Containers/CreativesContainer/constants.js +1 -3
- package/v2Containers/CreativesContainer/index.js +240 -214
- package/v2Containers/CreativesContainer/messages.js +8 -4
- package/v2Containers/CreativesContainer/tests/SlideBoxContent.test.js +0 -210
- package/v2Containers/CreativesContainer/tests/SlideBoxFooter.test.js +11 -2
- package/v2Containers/CreativesContainer/tests/__snapshots__/SlideBoxContent.test.js.snap +38 -354
- package/v2Containers/CreativesContainer/tests/__snapshots__/index.test.js.snap +103 -0
- package/v2Containers/Email/actions.js +7 -0
- package/v2Containers/Email/constants.js +5 -1
- package/v2Containers/Email/index.js +241 -32
- package/v2Containers/Email/messages.js +32 -0
- package/v2Containers/Email/reducer.js +12 -1
- package/v2Containers/Email/sagas.js +61 -7
- package/v2Containers/Email/tests/__snapshots__/reducer.test.js.snap +2 -0
- package/v2Containers/Email/tests/reducer.test.js +46 -0
- package/v2Containers/Email/tests/sagas.test.js +320 -29
- package/v2Containers/EmailWrapper/components/EmailHTMLEditor.js +1246 -0
- package/v2Containers/EmailWrapper/components/EmailWrapperView.js +211 -21
- package/v2Containers/EmailWrapper/components/HTMLEditorTesting.js +40 -74
- package/v2Containers/EmailWrapper/components/__tests__/EmailHTMLEditor.test.js +2472 -0
- package/v2Containers/EmailWrapper/components/__tests__/EmailWrapperView.test.js +520 -0
- package/v2Containers/EmailWrapper/components/__tests__/HTMLEditorTesting.test.js +2 -67
- package/v2Containers/EmailWrapper/constants.js +2 -0
- package/v2Containers/EmailWrapper/hooks/useEmailWrapper.js +629 -77
- package/v2Containers/EmailWrapper/index.js +103 -23
- package/v2Containers/EmailWrapper/messages.js +65 -1
- package/v2Containers/EmailWrapper/tests/useEmailWrapper.edgeCases.test.js +956 -0
- package/v2Containers/EmailWrapper/tests/useEmailWrapper.test.js +594 -77
- package/v2Containers/FTP/index.js +1 -1
- 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 +802 -360
- 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 +151 -0
- package/v2Containers/InAppWrapper/components/__tests__/InAppWrapperView.test.js +267 -0
- package/v2Containers/InAppWrapper/components/inAppWrapperView.scss +23 -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 -0
- package/v2Containers/Line/Container/ImageCarousel/tests/__snapshots__/index.test.js.snap +2 -0
- package/v2Containers/Line/Container/Text/index.js +0 -1
- package/v2Containers/Line/Container/Wrapper/tests/__snapshots__/index.test.js.snap +2 -0
- package/v2Containers/Line/Container/tests/__snapshots__/index.test.js.snap +9 -0
- package/v2Containers/MobilePushNew/index.js +0 -1
- package/v2Containers/Rcs/index.js +0 -3
- package/v2Containers/Rcs/tests/__snapshots__/index.test.js.snap +12 -0
- package/v2Containers/SmsTrai/Edit/index.js +0 -1
- package/v2Containers/SmsTrai/Edit/tests/__snapshots__/index.test.js.snap +4 -0
- package/v2Containers/TagList/index.js +62 -19
- package/v2Containers/Templates/ChannelTypeIllustration.js +1 -13
- package/v2Containers/Templates/_templates.scss +56 -202
- package/v2Containers/Templates/actions.js +1 -2
- package/v2Containers/Templates/constants.js +0 -1
- package/v2Containers/Templates/index.js +123 -278
- 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/TemplatesV2.style.js +4 -2
- package/v2Containers/TemplatesV2/index.js +7 -15
- package/v2Containers/TemplatesV2/messages.js +0 -4
- package/v2Containers/Viber/index.js +0 -1
- package/v2Containers/Whatsapp/index.js +0 -1
- package/v2Containers/Whatsapp/tests/__snapshots__/index.test.js.snap +34 -0
- package/v2Containers/Zalo/index.js +0 -1
- package/v2Containers/Zalo/tests/index.test.js +5 -1
- package/utils/imageUrlUpload.js +0 -141
- package/v2Components/CapImageUrlUpload/constants.js +0 -26
- package/v2Components/CapImageUrlUpload/index.js +0 -365
- package/v2Components/CapImageUrlUpload/index.scss +0 -35
- package/v2Components/CapImageUrlUpload/messages.js +0 -47
- package/v2Components/HtmlEditor/components/ValidationErrorDisplay/__tests__/index.test.js +0 -152
- package/v2Containers/EmailWrapper/tests/EmailWrapperView.test.js +0 -214
- package/v2Containers/WebPush/Create/components/BrandIconSection.js +0 -108
- package/v2Containers/WebPush/Create/components/ButtonForm.js +0 -172
- package/v2Containers/WebPush/Create/components/ButtonItem.js +0 -101
- package/v2Containers/WebPush/Create/components/ButtonList.js +0 -145
- package/v2Containers/WebPush/Create/components/ButtonsLinksSection.js +0 -164
- package/v2Containers/WebPush/Create/components/ButtonsLinksSection.test.js +0 -463
- package/v2Containers/WebPush/Create/components/FormActions.js +0 -54
- package/v2Containers/WebPush/Create/components/FormActions.test.js +0 -163
- package/v2Containers/WebPush/Create/components/MediaSection.js +0 -142
- package/v2Containers/WebPush/Create/components/MediaSection.test.js +0 -341
- package/v2Containers/WebPush/Create/components/MessageSection.js +0 -103
- package/v2Containers/WebPush/Create/components/MessageSection.test.js +0 -268
- package/v2Containers/WebPush/Create/components/NotificationTitleSection.js +0 -87
- package/v2Containers/WebPush/Create/components/NotificationTitleSection.test.js +0 -210
- package/v2Containers/WebPush/Create/components/TemplateNameSection.js +0 -54
- package/v2Containers/WebPush/Create/components/TemplateNameSection.test.js +0 -143
- package/v2Containers/WebPush/Create/components/__snapshots__/ButtonsLinksSection.test.js.snap +0 -86
- package/v2Containers/WebPush/Create/components/__snapshots__/FormActions.test.js.snap +0 -16
- package/v2Containers/WebPush/Create/components/__snapshots__/MediaSection.test.js.snap +0 -41
- package/v2Containers/WebPush/Create/components/__snapshots__/MessageSection.test.js.snap +0 -54
- package/v2Containers/WebPush/Create/components/__snapshots__/NotificationTitleSection.test.js.snap +0 -37
- package/v2Containers/WebPush/Create/components/__snapshots__/TemplateNameSection.test.js.snap +0 -21
- 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 -78
- package/v2Containers/WebPush/Create/hooks/useButtonManagement.js +0 -138
- package/v2Containers/WebPush/Create/hooks/useButtonManagement.test.js +0 -406
- package/v2Containers/WebPush/Create/hooks/useCharacterCount.js +0 -30
- package/v2Containers/WebPush/Create/hooks/useCharacterCount.test.js +0 -151
- package/v2Containers/WebPush/Create/hooks/useImageUpload.js +0 -104
- package/v2Containers/WebPush/Create/hooks/useImageUpload.test.js +0 -538
- package/v2Containers/WebPush/Create/hooks/useTagManagement.js +0 -122
- package/v2Containers/WebPush/Create/hooks/useTagManagement.test.js +0 -633
- package/v2Containers/WebPush/Create/index.js +0 -1148
- package/v2Containers/WebPush/Create/index.scss +0 -134
- package/v2Containers/WebPush/Create/messages.js +0 -211
- package/v2Containers/WebPush/Create/preview/DevicePreviewContent.js +0 -228
- package/v2Containers/WebPush/Create/preview/NotificationContainer.js +0 -294
- package/v2Containers/WebPush/Create/preview/PreviewContent.js +0 -90
- package/v2Containers/WebPush/Create/preview/PreviewControls.js +0 -305
- package/v2Containers/WebPush/Create/preview/PreviewDisclaimer.js +0 -25
- package/v2Containers/WebPush/Create/preview/WebPushPreview.js +0 -155
- 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/android-arrow-down.svg +0 -9
- package/v2Containers/WebPush/Create/preview/assets/android-arrow-up.svg +0 -9
- 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/macos-arrow-down-icon.svg +0 -9
- package/v2Containers/WebPush/Create/preview/assets/macos-triple-dot-icon.svg +0 -9
- 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/assets/windows-close-icon.svg +0 -9
- package/v2Containers/WebPush/Create/preview/assets/windows-triple-dot-icon.svg +0 -9
- package/v2Containers/WebPush/Create/preview/components/AndroidMobileChromeHeader.js +0 -51
- package/v2Containers/WebPush/Create/preview/components/AndroidMobileExpanded.js +0 -145
- package/v2Containers/WebPush/Create/preview/components/IOSHeader.js +0 -45
- package/v2Containers/WebPush/Create/preview/components/NotificationExpandedContent.js +0 -68
- package/v2Containers/WebPush/Create/preview/components/NotificationHeader.js +0 -61
- package/v2Containers/WebPush/Create/preview/components/WindowsChromeExpanded.js +0 -99
- package/v2Containers/WebPush/Create/preview/components/tests/AndroidMobileExpanded.test.js +0 -733
- package/v2Containers/WebPush/Create/preview/components/tests/WindowsChromeExpanded.test.js +0 -571
- package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/AndroidMobileExpanded.test.js.snap +0 -85
- package/v2Containers/WebPush/Create/preview/components/tests/__snapshots__/WindowsChromeExpanded.test.js.snap +0 -81
- package/v2Containers/WebPush/Create/preview/config/notificationMappings.js +0 -50
- package/v2Containers/WebPush/Create/preview/constants.js +0 -637
- package/v2Containers/WebPush/Create/preview/notification-container.scss +0 -79
- package/v2Containers/WebPush/Create/preview/preview.scss +0 -358
- package/v2Containers/WebPush/Create/preview/styles/_android-mobile-chrome.scss +0 -370
- 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 -47
- 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 -207
- package/v2Containers/WebPush/Create/preview/styles/_ios.scss +0 -153
- package/v2Containers/WebPush/Create/preview/styles/_ipados.scss +0 -107
- package/v2Containers/WebPush/Create/preview/styles/_macos-chrome.scss +0 -101
- package/v2Containers/WebPush/Create/preview/styles/_windows-chrome.scss +0 -229
- package/v2Containers/WebPush/Create/preview/tests/DevicePreviewContent.test.js +0 -909
- package/v2Containers/WebPush/Create/preview/tests/NotificationContainer.test.js +0 -1081
- package/v2Containers/WebPush/Create/preview/tests/PreviewControls.test.js +0 -723
- package/v2Containers/WebPush/Create/preview/tests/WebPushPreview.test.js +0 -1327
- package/v2Containers/WebPush/Create/preview/tests/__snapshots__/DevicePreviewContent.test.js.snap +0 -131
- package/v2Containers/WebPush/Create/preview/tests/__snapshots__/NotificationContainer.test.js.snap +0 -112
- 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 -129
- package/v2Containers/WebPush/Create/utils/payloadBuilder.js +0 -96
- package/v2Containers/WebPush/Create/utils/payloadBuilder.test.js +0 -396
- package/v2Containers/WebPush/Create/utils/previewUtils.js +0 -89
- package/v2Containers/WebPush/Create/utils/urlValidation.js +0 -115
- package/v2Containers/WebPush/Create/utils/urlValidation.test.js +0 -449
- package/v2Containers/WebPush/Create/utils/validation.js +0 -76
- package/v2Containers/WebPush/Create/utils/validation.test.js +0 -283
- package/v2Containers/WebPush/actions.js +0 -60
- package/v2Containers/WebPush/constants.js +0 -132
- 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
|
@@ -2281,6 +2281,7 @@ new message content.",
|
|
|
2281
2281
|
"email": [Function],
|
|
2282
2282
|
"facebookPreview": [Function],
|
|
2283
2283
|
"gallery": [Function],
|
|
2284
|
+
"inApp": [Function],
|
|
2284
2285
|
"language": [Function],
|
|
2285
2286
|
"navigationConfig": [Function],
|
|
2286
2287
|
"previewAndTest": [Function],
|
|
@@ -18313,6 +18314,7 @@ new message content.",
|
|
|
18313
18314
|
"email": [Function],
|
|
18314
18315
|
"facebookPreview": [Function],
|
|
18315
18316
|
"gallery": [Function],
|
|
18317
|
+
"inApp": [Function],
|
|
18316
18318
|
"language": [Function],
|
|
18317
18319
|
"navigationConfig": [Function],
|
|
18318
18320
|
"previewAndTest": [Function],
|
|
@@ -34345,6 +34347,7 @@ new message content.",
|
|
|
34345
34347
|
"email": [Function],
|
|
34346
34348
|
"facebookPreview": [Function],
|
|
34347
34349
|
"gallery": [Function],
|
|
34350
|
+
"inApp": [Function],
|
|
34348
34351
|
"language": [Function],
|
|
34349
34352
|
"navigationConfig": [Function],
|
|
34350
34353
|
"previewAndTest": [Function],
|
|
@@ -50899,6 +50902,7 @@ new message content.",
|
|
|
50899
50902
|
"email": [Function],
|
|
50900
50903
|
"facebookPreview": [Function],
|
|
50901
50904
|
"gallery": [Function],
|
|
50905
|
+
"inApp": [Function],
|
|
50902
50906
|
"language": [Function],
|
|
50903
50907
|
"navigationConfig": [Function],
|
|
50904
50908
|
"previewAndTest": [Function],
|
|
@@ -68001,6 +68005,7 @@ new message content.",
|
|
|
68001
68005
|
"email": [Function],
|
|
68002
68006
|
"facebookPreview": [Function],
|
|
68003
68007
|
"gallery": [Function],
|
|
68008
|
+
"inApp": [Function],
|
|
68004
68009
|
"language": [Function],
|
|
68005
68010
|
"navigationConfig": [Function],
|
|
68006
68011
|
"previewAndTest": [Function],
|
|
@@ -84033,6 +84038,7 @@ new message content.",
|
|
|
84033
84038
|
"email": [Function],
|
|
84034
84039
|
"facebookPreview": [Function],
|
|
84035
84040
|
"gallery": [Function],
|
|
84041
|
+
"inApp": [Function],
|
|
84036
84042
|
"language": [Function],
|
|
84037
84043
|
"navigationConfig": [Function],
|
|
84038
84044
|
"previewAndTest": [Function],
|
|
@@ -103374,6 +103380,7 @@ new message content.",
|
|
|
103374
103380
|
"email": [Function],
|
|
103375
103381
|
"facebookPreview": [Function],
|
|
103376
103382
|
"gallery": [Function],
|
|
103383
|
+
"inApp": [Function],
|
|
103377
103384
|
"language": [Function],
|
|
103378
103385
|
"navigationConfig": [Function],
|
|
103379
103386
|
"previewAndTest": [Function],
|
|
@@ -122715,6 +122722,7 @@ new message content.",
|
|
|
122715
122722
|
"email": [Function],
|
|
122716
122723
|
"facebookPreview": [Function],
|
|
122717
122724
|
"gallery": [Function],
|
|
122725
|
+
"inApp": [Function],
|
|
122718
122726
|
"language": [Function],
|
|
122719
122727
|
"navigationConfig": [Function],
|
|
122720
122728
|
"previewAndTest": [Function],
|
|
@@ -142731,6 +142739,7 @@ new message content.",
|
|
|
142731
142739
|
"email": [Function],
|
|
142732
142740
|
"facebookPreview": [Function],
|
|
142733
142741
|
"gallery": [Function],
|
|
142742
|
+
"inApp": [Function],
|
|
142734
142743
|
"language": [Function],
|
|
142735
142744
|
"navigationConfig": [Function],
|
|
142736
142745
|
"previewAndTest": [Function],
|
|
@@ -158763,6 +158772,7 @@ new message content.",
|
|
|
158763
158772
|
"email": [Function],
|
|
158764
158773
|
"facebookPreview": [Function],
|
|
158765
158774
|
"gallery": [Function],
|
|
158775
|
+
"inApp": [Function],
|
|
158766
158776
|
"language": [Function],
|
|
158767
158777
|
"navigationConfig": [Function],
|
|
158768
158778
|
"previewAndTest": [Function],
|
|
@@ -174795,6 +174805,7 @@ new message content.",
|
|
|
174795
174805
|
"email": [Function],
|
|
174796
174806
|
"facebookPreview": [Function],
|
|
174797
174807
|
"gallery": [Function],
|
|
174808
|
+
"inApp": [Function],
|
|
174798
174809
|
"language": [Function],
|
|
174799
174810
|
"navigationConfig": [Function],
|
|
174800
174811
|
"previewAndTest": [Function],
|
|
@@ -190827,6 +190838,7 @@ new message content.",
|
|
|
190827
190838
|
"email": [Function],
|
|
190828
190839
|
"facebookPreview": [Function],
|
|
190829
190840
|
"gallery": [Function],
|
|
190841
|
+
"inApp": [Function],
|
|
190830
190842
|
"language": [Function],
|
|
190831
190843
|
"navigationConfig": [Function],
|
|
190832
190844
|
"previewAndTest": [Function],
|
|
@@ -2281,6 +2281,7 @@ new message content.",
|
|
|
2281
2281
|
"email": [Function],
|
|
2282
2282
|
"facebookPreview": [Function],
|
|
2283
2283
|
"gallery": [Function],
|
|
2284
|
+
"inApp": [Function],
|
|
2284
2285
|
"language": [Function],
|
|
2285
2286
|
"navigationConfig": [Function],
|
|
2286
2287
|
"previewAndTest": [Function],
|
|
@@ -13327,6 +13328,7 @@ new message content.",
|
|
|
13327
13328
|
"email": [Function],
|
|
13328
13329
|
"facebookPreview": [Function],
|
|
13329
13330
|
"gallery": [Function],
|
|
13331
|
+
"inApp": [Function],
|
|
13330
13332
|
"language": [Function],
|
|
13331
13333
|
"navigationConfig": [Function],
|
|
13332
13334
|
"previewAndTest": [Function],
|
|
@@ -24119,6 +24121,7 @@ new message content.",
|
|
|
24119
24121
|
"email": [Function],
|
|
24120
24122
|
"facebookPreview": [Function],
|
|
24121
24123
|
"gallery": [Function],
|
|
24124
|
+
"inApp": [Function],
|
|
24122
24125
|
"language": [Function],
|
|
24123
24126
|
"navigationConfig": [Function],
|
|
24124
24127
|
"previewAndTest": [Function],
|
|
@@ -34911,6 +34914,7 @@ new message content.",
|
|
|
34911
34914
|
"email": [Function],
|
|
34912
34915
|
"facebookPreview": [Function],
|
|
34913
34916
|
"gallery": [Function],
|
|
34917
|
+
"inApp": [Function],
|
|
34914
34918
|
"language": [Function],
|
|
34915
34919
|
"navigationConfig": [Function],
|
|
34916
34920
|
"previewAndTest": [Function],
|
|
@@ -40,6 +40,7 @@ export class TagList extends React.Component { // eslint-disable-line react/pref
|
|
|
40
40
|
tags: [],
|
|
41
41
|
tagsError: false,
|
|
42
42
|
currentContext: null, // Track current context to detect changes
|
|
43
|
+
hasTriggeredInitialApiCall: false, // Track if we've triggered API call when popover opens
|
|
43
44
|
};
|
|
44
45
|
this.renderTags = this.renderTags.bind(this);
|
|
45
46
|
this.populateTags = this.populateTags.bind(this);
|
|
@@ -51,6 +52,14 @@ export class TagList extends React.Component { // eslint-disable-line react/pref
|
|
|
51
52
|
|
|
52
53
|
componentDidMount() {
|
|
53
54
|
this.generateTags(this.props);
|
|
55
|
+
// Trigger initial API call if tags are empty (similar to Email/SMS behavior)
|
|
56
|
+
const { tags, injectedTags, onContextChange } = this.props;
|
|
57
|
+
const hasNoTags = (!tags || tags.length === 0) && _.isEmpty(injectedTags);
|
|
58
|
+
if (hasNoTags && onContextChange) {
|
|
59
|
+
// Trigger API call with default 'Outbound' context to match CapTagList default
|
|
60
|
+
// This ensures tags are loaded when component mounts
|
|
61
|
+
this.getTagsforContext('Outbound');
|
|
62
|
+
}
|
|
54
63
|
}
|
|
55
64
|
|
|
56
65
|
componentWillReceiveProps(nextProps) {
|
|
@@ -59,23 +68,27 @@ export class TagList extends React.Component { // eslint-disable-line react/pref
|
|
|
59
68
|
// 2. Context change is happening (detected by different tag arrays)
|
|
60
69
|
const { injectedTags: currentInjectedTags, tags: currentTags } = this.props;
|
|
61
70
|
const { injectedTags: nextInjectedTags, tags: nextTags, fetchingSchemaError } = nextProps;
|
|
62
|
-
|
|
71
|
+
|
|
63
72
|
const isInitialLoad = _.isEmpty(currentInjectedTags) && _.isEmpty(currentTags);
|
|
64
73
|
const isContextChange = !_.isEqual(nextTags, currentTags) && !_.isEmpty(currentTags);
|
|
65
|
-
|
|
74
|
+
|
|
66
75
|
if (isInitialLoad || isContextChange) {
|
|
67
76
|
this.setState({loading: true});
|
|
68
77
|
}
|
|
69
|
-
|
|
78
|
+
|
|
70
79
|
// Only reset loading for injectedTags changes if we're not currently loading due to context change
|
|
71
80
|
if (!_.isEqual(nextInjectedTags, currentInjectedTags) && !this.state.loading) {
|
|
72
81
|
this.setState({loading: false});
|
|
73
82
|
this.clearLoadingTimeout();
|
|
74
83
|
}
|
|
75
|
-
|
|
84
|
+
|
|
76
85
|
if (!_.isEqual(nextTags, currentTags)) {
|
|
77
86
|
this.setState({loading: false});
|
|
78
87
|
this.clearLoadingTimeout();
|
|
88
|
+
// Reset the flag when tags are received, so we can trigger API call again if needed
|
|
89
|
+
if (nextTags && nextTags.length > 0) {
|
|
90
|
+
this.setState({ hasTriggeredInitialApiCall: false });
|
|
91
|
+
}
|
|
79
92
|
}
|
|
80
93
|
if (fetchingSchemaError) {
|
|
81
94
|
this.setState({tagsError: fetchingSchemaError, loading: false});
|
|
@@ -86,7 +99,7 @@ export class TagList extends React.Component { // eslint-disable-line react/pref
|
|
|
86
99
|
componentDidUpdate(prevProps) {
|
|
87
100
|
const { tags, injectedTags, selectedOfferDetails } = this.props;
|
|
88
101
|
const { tags: prevTags, injectedTags: prevInjectedTags, selectedOfferDetails: prevSelectedOfferDetails } = prevProps;
|
|
89
|
-
|
|
102
|
+
|
|
90
103
|
if (tags !== prevTags || injectedTags !== prevInjectedTags || selectedOfferDetails !== prevSelectedOfferDetails) {
|
|
91
104
|
this.generateTags(this.props);
|
|
92
105
|
}
|
|
@@ -111,17 +124,44 @@ export class TagList extends React.Component { // eslint-disable-line react/pref
|
|
|
111
124
|
getTagsforContext = (data) => {
|
|
112
125
|
// Set loading state when context change is requested
|
|
113
126
|
this.setState({loading: true, currentContext: data});
|
|
114
|
-
|
|
127
|
+
|
|
115
128
|
// Set a timeout to prevent infinite loading (fallback safety)
|
|
116
129
|
this.clearLoadingTimeout();
|
|
117
130
|
this.loadingTimeout = setTimeout(() => {
|
|
118
131
|
this.setState({loading: false});
|
|
119
132
|
}, 5000); // Reduced timeout to 5 seconds for better UX
|
|
120
|
-
|
|
133
|
+
|
|
121
134
|
const { onContextChange } = this.props;
|
|
122
|
-
onContextChange
|
|
135
|
+
// Always call onContextChange if available - this triggers the API call
|
|
136
|
+
// The API call will fetch tags from /meta/TAG endpoint
|
|
137
|
+
if (onContextChange) {
|
|
138
|
+
onContextChange(data);
|
|
139
|
+
} else {
|
|
140
|
+
console.warn('TagList: onContextChange is not available. API call will not be triggered.');
|
|
141
|
+
}
|
|
123
142
|
}
|
|
124
143
|
|
|
144
|
+
handlePopoverVisibilityChange = (visible) => {
|
|
145
|
+
// When popover opens, trigger API call if tags are empty or if we haven't triggered it yet
|
|
146
|
+
// This ensures API call happens when user clicks "Add Label" button
|
|
147
|
+
if (visible && this.props.onContextChange) {
|
|
148
|
+
const { tags, injectedTags } = this.props;
|
|
149
|
+
// Check if tags array is empty or if state tags are empty
|
|
150
|
+
const hasNoTags = (!tags || tags.length === 0) && _.isEmpty(injectedTags);
|
|
151
|
+
const hasNoStateTags = _.isEmpty(this.state.tags);
|
|
152
|
+
const hasNotTriggeredApiCall = !this.state.hasTriggeredInitialApiCall;
|
|
153
|
+
|
|
154
|
+
// Trigger API call if tags are not loaded yet OR if we haven't triggered it yet
|
|
155
|
+
if ((hasNoTags || hasNoStateTags || hasNotTriggeredApiCall)) {
|
|
156
|
+
// Mark that we've triggered the API call
|
|
157
|
+
this.setState({ hasTriggeredInitialApiCall: true });
|
|
158
|
+
// Trigger API call with default 'Outbound' context to match CapTagList default
|
|
159
|
+
// This will call onContextChange which triggers handleOnTagsContextChange in InApp
|
|
160
|
+
this.getTagsforContext('Outbound');
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
|
|
125
165
|
generateTags = (props) => {
|
|
126
166
|
let tags = {};
|
|
127
167
|
let injectedTags = {};
|
|
@@ -149,11 +189,11 @@ export class TagList extends React.Component { // eslint-disable-line react/pref
|
|
|
149
189
|
if (eventContextTags?.length) {
|
|
150
190
|
const TAG_HEADER_MSG_LABEL = this.props.intl.formatMessage(messages.entryEvent);
|
|
151
191
|
eventContextTagsObj.eventContextTags = {
|
|
152
|
-
name: TAG_HEADER_MSG_LABEL,
|
|
153
|
-
desc: TAG_HEADER_MSG_LABEL,
|
|
154
|
-
resolved: true,
|
|
192
|
+
"name": TAG_HEADER_MSG_LABEL,
|
|
193
|
+
"desc": TAG_HEADER_MSG_LABEL,
|
|
194
|
+
"resolved": true,
|
|
155
195
|
'tag-header': true,
|
|
156
|
-
subtags: {},
|
|
196
|
+
"subtags": {},
|
|
157
197
|
};
|
|
158
198
|
|
|
159
199
|
eventContextTags.forEach((tag) => {
|
|
@@ -164,11 +204,11 @@ export class TagList extends React.Component { // eslint-disable-line react/pref
|
|
|
164
204
|
// Initializing the tags profile if it doesn't exist
|
|
165
205
|
if (!eventContextTagsObj?.eventContextTags?.subtags?.[profileId]) {
|
|
166
206
|
eventContextTagsObj.eventContextTags.subtags[profileId] = {
|
|
167
|
-
name: profileName,
|
|
168
|
-
desc: profileName,
|
|
169
|
-
resolved: true,
|
|
207
|
+
"name": profileName,
|
|
208
|
+
"desc": profileName,
|
|
209
|
+
"resolved": true,
|
|
170
210
|
'tag-header': true,
|
|
171
|
-
subtags: {},
|
|
211
|
+
"subtags": {},
|
|
172
212
|
};
|
|
173
213
|
}
|
|
174
214
|
// Adding the current tag to the profile group
|
|
@@ -201,7 +241,7 @@ export class TagList extends React.Component { // eslint-disable-line react/pref
|
|
|
201
241
|
_.forEach(tagsList, (temp) => {
|
|
202
242
|
const tag = temp.definition;
|
|
203
243
|
const { intl } = this.props;
|
|
204
|
-
|
|
244
|
+
const { locale: userLocale } = intl || {};
|
|
205
245
|
|
|
206
246
|
// Check if the tag.value should be skipped based on feature control
|
|
207
247
|
if (_.includes(excludedTags, tag.value)) {
|
|
@@ -209,8 +249,8 @@ export class TagList extends React.Component { // eslint-disable-line react/pref
|
|
|
209
249
|
}
|
|
210
250
|
if (!tag['tag-header']) {
|
|
211
251
|
mainTags[tag.value] = {
|
|
212
|
-
|
|
213
|
-
|
|
252
|
+
name: tag?.label[userLocale] ? tag?.label[userLocale] : tag?.label?.en,
|
|
253
|
+
desc: tag?.label[userLocale] ? tag?.label[userLocale] : tag?.label?.en,
|
|
214
254
|
};
|
|
215
255
|
} else if (tag['tag-header'] && mainTags[tag.value]) {
|
|
216
256
|
mainTags[tag.value].subtags = _.concat(mainTags[tag.value].subtags, tag.subtags);
|
|
@@ -366,12 +406,14 @@ export class TagList extends React.Component { // eslint-disable-line react/pref
|
|
|
366
406
|
visibleTaglist={this.props.visibleTaglist}
|
|
367
407
|
hidePopover={this.props.hidePopover}
|
|
368
408
|
onContextChange={this.getTagsforContext}
|
|
409
|
+
onVisibleChange={this.handlePopoverVisibilityChange}
|
|
369
410
|
moduleFilterEnabled={this.props.moduleFilterEnabled}
|
|
370
411
|
modalProps={this.props.modalProps}
|
|
371
412
|
currentOrgDetails={this.props.currentOrgDetails}
|
|
372
413
|
channel={this.props.channel}
|
|
373
414
|
disabled={this.props.disabled}
|
|
374
415
|
fetchingSchemaError={this?.state?.tagsError}
|
|
416
|
+
popoverPlacement={this.props.popoverPlacement}
|
|
375
417
|
/>
|
|
376
418
|
</div>
|
|
377
419
|
);
|
|
@@ -402,6 +444,7 @@ TagList.propTypes = {
|
|
|
402
444
|
disabled: PropTypes.bool,
|
|
403
445
|
fetchingSchemaError: PropTypes.bool,
|
|
404
446
|
eventContextTags: PropTypes.array,
|
|
447
|
+
popoverPlacement: PropTypes.string,
|
|
405
448
|
intl: PropTypes.shape({
|
|
406
449
|
formatMessage: PropTypes.func.isRequired,
|
|
407
450
|
locale: PropTypes.string,
|
|
@@ -14,7 +14,7 @@ import inAppIllustration from '@capillarytech/cap-ui-library/assets/images/featu
|
|
|
14
14
|
import messages from './messages';
|
|
15
15
|
import { FormattedMessage } from 'react-intl';
|
|
16
16
|
import { CapIllustration } from "@capillarytech/cap-ui-library";
|
|
17
|
-
import { MOBILE_PUSH, SMS, EMAIL, LINE, VIBER, FACEBOOK, WHATSAPP, RCS, ZALO, INAPP
|
|
17
|
+
import { MOBILE_PUSH, SMS, EMAIL, LINE, VIBER, FACEBOOK, WHATSAPP, RCS, ZALO, INAPP } from '../CreativesContainer/constants';
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
// Configuration object for channel types
|
|
@@ -133,18 +133,6 @@ function ChannelTypeIllustration(props) {
|
|
|
133
133
|
};
|
|
134
134
|
}
|
|
135
135
|
|
|
136
|
-
if (type === WEBPUSH) {
|
|
137
|
-
return {
|
|
138
|
-
buttonLabel: <FormattedMessage {...messages.newWebPushTemplate} values={{ template: templateText }} />,
|
|
139
|
-
onClick: createTemplate,
|
|
140
|
-
illustrationImage: pushIllustration,
|
|
141
|
-
title: <FormattedMessage {...messages.webPushTitleIllustration} values={{ template: templateText }} />,
|
|
142
|
-
description: <FormattedMessage {...messages.webPushDescIllustration} />,
|
|
143
|
-
descriptionPosition: 'bottom',
|
|
144
|
-
descriptionClassName: 'illustration-desc',
|
|
145
|
-
};
|
|
146
|
-
}
|
|
147
|
-
|
|
148
136
|
// Handle standard channels using configuration
|
|
149
137
|
const config = CHANNEL_CONFIG[type];
|
|
150
138
|
if (!config) {
|
|
@@ -133,20 +133,17 @@
|
|
|
133
133
|
.ant-card-meta-description{
|
|
134
134
|
display: -webkit-box;
|
|
135
135
|
-webkit-line-clamp: 13;
|
|
136
|
-
line-clamp: 13;
|
|
137
136
|
-webkit-box-orient: vertical;
|
|
138
137
|
}
|
|
139
138
|
}
|
|
140
139
|
.truncate-text-with-button{
|
|
141
140
|
.ant-card-meta-description{
|
|
142
141
|
-webkit-line-clamp: 13;
|
|
143
|
-
line-clamp: 13;
|
|
144
142
|
}
|
|
145
143
|
}
|
|
146
144
|
.truncate-text-with-image{
|
|
147
145
|
.ant-card-meta-description{
|
|
148
146
|
-webkit-line-clamp: 3;
|
|
149
|
-
line-clamp: 3;
|
|
150
147
|
}
|
|
151
148
|
}
|
|
152
149
|
|
|
@@ -316,72 +313,63 @@
|
|
|
316
313
|
}
|
|
317
314
|
}
|
|
318
315
|
}
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
.ant-card-body {
|
|
324
|
-
height: 19rem;
|
|
325
|
-
padding: $CAP_SPACE_16;
|
|
326
|
-
overflow: hidden;
|
|
327
|
-
|
|
328
|
-
.ant-card-meta {
|
|
329
|
-
height: 100%;
|
|
330
|
-
|
|
331
|
-
.ant-card-meta-description {
|
|
332
|
-
height: 100%;
|
|
333
|
-
display: flex;
|
|
334
|
-
flex-direction: column;
|
|
335
|
-
|
|
336
|
-
.sms-template-content.webpush-template-content {
|
|
337
|
-
height: 100%;
|
|
338
|
-
overflow: hidden;
|
|
339
|
-
|
|
340
|
-
.webpush-template-card {
|
|
341
|
-
height: 100%;
|
|
342
|
-
overflow: hidden;
|
|
343
|
-
|
|
344
|
-
.webpush-template-meta {
|
|
345
|
-
flex-shrink: 0;
|
|
346
|
-
}
|
|
347
|
-
|
|
348
|
-
.webpush-template-text {
|
|
349
|
-
flex: 1;
|
|
350
|
-
min-height: 0;
|
|
351
|
-
overflow: hidden;
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
.webpush-media-image {
|
|
355
|
-
max-height: 7.142rem;
|
|
356
|
-
flex-shrink: 0;
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
.webpush-template-cta-section {
|
|
360
|
-
flex-shrink: 0;
|
|
361
|
-
margin-top: $CAP_SPACE_08;
|
|
362
|
-
padding-top: $CAP_SPACE_08;
|
|
363
|
-
border-top: 1px solid $CAP_G07;
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
}
|
|
316
|
+
.INAPP {
|
|
317
|
+
margin-bottom: $CAP_SPACE_12;
|
|
318
|
+
.inapp-container {
|
|
319
|
+
margin-top: $CAP_SPACE_24;
|
|
369
320
|
}
|
|
321
|
+
// Modal Layout - centered
|
|
322
|
+
.inapp-modal-layout {
|
|
323
|
+
position: absolute;
|
|
324
|
+
display: flex;
|
|
325
|
+
width: 12rem;
|
|
326
|
+
top: 10%;
|
|
327
|
+
left: 10%;
|
|
328
|
+
bottom: 5%;
|
|
329
|
+
overflow: hidden;
|
|
330
|
+
background-color: $CAP_WHITE;
|
|
331
|
+
border-radius: $CAP_SPACE_08;
|
|
370
332
|
}
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
333
|
+
|
|
334
|
+
// Full Screen Layout
|
|
335
|
+
.inapp-fullscreen-layout {
|
|
336
|
+
position: absolute;
|
|
337
|
+
display: flex;
|
|
338
|
+
width: 12rem;
|
|
339
|
+
left: 10%;
|
|
340
|
+
top: 1%;
|
|
341
|
+
bottom: 1%;
|
|
342
|
+
overflow: hidden;
|
|
343
|
+
background-color: $CAP_WHITE;
|
|
344
|
+
border-radius: $CAP_SPACE_08;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
// Top Banner Layout
|
|
348
|
+
.inapp-top-banner-layout {
|
|
349
|
+
position: absolute;
|
|
350
|
+
display: flex;
|
|
351
|
+
width: 12rem;
|
|
352
|
+
left: 10%;
|
|
353
|
+
top: 1%;
|
|
354
|
+
bottom: 20%;
|
|
355
|
+
overflow: hidden;
|
|
356
|
+
background-color: $CAP_WHITE;
|
|
357
|
+
border-radius: $CAP_SPACE_08;
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
// Bottom Banner Layout
|
|
361
|
+
.inapp-bottom-banner-layout {
|
|
362
|
+
position: absolute;
|
|
363
|
+
display: flex;
|
|
364
|
+
justify-content: center;
|
|
365
|
+
width: 12rem;
|
|
366
|
+
left: 10%;
|
|
367
|
+
top: 50%;
|
|
368
|
+
bottom: 2%;
|
|
369
|
+
overflow: hidden;
|
|
370
|
+
background-color: $CAP_WHITE;
|
|
371
|
+
border-radius: $CAP_SPACE_08;
|
|
376
372
|
}
|
|
377
|
-
|
|
378
|
-
&.no-image .ant-card-meta {
|
|
379
|
-
background: $CAP_WHITE;
|
|
380
|
-
padding: $CAP_SPACE_16;
|
|
381
|
-
|
|
382
|
-
.ant-card-meta-description {
|
|
383
|
-
height: 100%;
|
|
384
|
-
}
|
|
385
373
|
}
|
|
386
374
|
}
|
|
387
375
|
|
|
@@ -438,136 +426,6 @@
|
|
|
438
426
|
width: 100%;
|
|
439
427
|
}
|
|
440
428
|
|
|
441
|
-
.sms-template-content.webpush-template-content {
|
|
442
|
-
padding: 0;
|
|
443
|
-
// Font-family override: needed when used in library mode where parent repo's root font-family differs
|
|
444
|
-
font-family: 'Roboto', open-sans, sans-serif;
|
|
445
|
-
}
|
|
446
|
-
|
|
447
|
-
.webpush-template-card {
|
|
448
|
-
display: flex;
|
|
449
|
-
flex-direction: column;
|
|
450
|
-
|
|
451
|
-
.webpush-template-meta {
|
|
452
|
-
display: flex;
|
|
453
|
-
align-items: flex-start;
|
|
454
|
-
gap: $CAP_SPACE_08;
|
|
455
|
-
}
|
|
456
|
-
|
|
457
|
-
.webpush-brand-icon,
|
|
458
|
-
.webpush-brand-icon-placeholder {
|
|
459
|
-
width: $CAP_SPACE_20;
|
|
460
|
-
height: $CAP_SPACE_20;
|
|
461
|
-
border-radius: 50%;
|
|
462
|
-
flex-shrink: 0;
|
|
463
|
-
object-fit: cover;
|
|
464
|
-
}
|
|
465
|
-
|
|
466
|
-
.webpush-brand-icon-placeholder {
|
|
467
|
-
background-color: $CAP_G07;
|
|
468
|
-
}
|
|
469
|
-
|
|
470
|
-
.webpush-template-text {
|
|
471
|
-
display: flex;
|
|
472
|
-
flex-direction: column;
|
|
473
|
-
gap: $CAP_SPACE_04;
|
|
474
|
-
width: 100%;
|
|
475
|
-
}
|
|
476
|
-
|
|
477
|
-
.webpush-template-header {
|
|
478
|
-
display: flex;
|
|
479
|
-
align-items: flex-start;
|
|
480
|
-
justify-content: space-between;
|
|
481
|
-
gap: $CAP_SPACE_08;
|
|
482
|
-
}
|
|
483
|
-
|
|
484
|
-
.webpush-template-title {
|
|
485
|
-
width: 1px; // Required for text truncation with flex: 1
|
|
486
|
-
font-weight: 600;
|
|
487
|
-
color: $CAP_G02;
|
|
488
|
-
font-size: $FONT_SIZE_S;
|
|
489
|
-
line-height: $CAP_SPACE_16;
|
|
490
|
-
word-break: break-word;
|
|
491
|
-
flex: 1;
|
|
492
|
-
overflow: hidden;
|
|
493
|
-
text-overflow: ellipsis;
|
|
494
|
-
white-space: nowrap;
|
|
495
|
-
}
|
|
496
|
-
|
|
497
|
-
.webpush-template-time {
|
|
498
|
-
color: $CAP_G04;
|
|
499
|
-
font-size: $FONT_SIZE_VS;
|
|
500
|
-
line-height: $CAP_SPACE_16;
|
|
501
|
-
white-space: nowrap;
|
|
502
|
-
flex-shrink: 0;
|
|
503
|
-
}
|
|
504
|
-
|
|
505
|
-
.webpush-template-message {
|
|
506
|
-
color: $CAP_G04;
|
|
507
|
-
font-size: $FONT_SIZE_S;
|
|
508
|
-
line-height: $CAP_SPACE_16;
|
|
509
|
-
word-break: break-word;
|
|
510
|
-
display: -webkit-box;
|
|
511
|
-
-webkit-line-clamp: 3;
|
|
512
|
-
line-clamp: 3;
|
|
513
|
-
-webkit-box-orient: vertical;
|
|
514
|
-
overflow: hidden;
|
|
515
|
-
text-overflow: ellipsis;
|
|
516
|
-
}
|
|
517
|
-
|
|
518
|
-
.webpush-media-image {
|
|
519
|
-
width: 100%;
|
|
520
|
-
height: auto;
|
|
521
|
-
max-height: 8.571rem;
|
|
522
|
-
border-radius: $CAP_SPACE_08;
|
|
523
|
-
object-fit: cover;
|
|
524
|
-
margin-top: $CAP_SPACE_04;
|
|
525
|
-
}
|
|
526
|
-
|
|
527
|
-
.webpush-template-cta-section {
|
|
528
|
-
display: flex;
|
|
529
|
-
margin-top: $CAP_SPACE_08;
|
|
530
|
-
padding-top: $CAP_SPACE_08;
|
|
531
|
-
width: 100%;
|
|
532
|
-
|
|
533
|
-
&.single-cta {
|
|
534
|
-
justify-content: center;
|
|
535
|
-
|
|
536
|
-
.webpush-template-cta-item {
|
|
537
|
-
flex: 0 1 auto;
|
|
538
|
-
}
|
|
539
|
-
}
|
|
540
|
-
|
|
541
|
-
.webpush-template-cta-item {
|
|
542
|
-
flex: 1;
|
|
543
|
-
padding: 0 $CAP_SPACE_08;
|
|
544
|
-
display: flex;
|
|
545
|
-
align-items: center;
|
|
546
|
-
justify-content: center;
|
|
547
|
-
}
|
|
548
|
-
|
|
549
|
-
.webpush-template-cta-item + .webpush-template-cta-item {
|
|
550
|
-
border-left: 1px solid $CAP_G07;
|
|
551
|
-
}
|
|
552
|
-
|
|
553
|
-
.webpush-template-cta-text {
|
|
554
|
-
font-weight: 600;
|
|
555
|
-
font-size: $FONT_SIZE_VS;
|
|
556
|
-
line-height: 1rem;
|
|
557
|
-
color: $CAP_G02;
|
|
558
|
-
text-align: center;
|
|
559
|
-
white-space: nowrap;
|
|
560
|
-
overflow: hidden;
|
|
561
|
-
text-overflow: ellipsis;
|
|
562
|
-
width: 100%;
|
|
563
|
-
user-select: none;
|
|
564
|
-
-webkit-user-select: none;
|
|
565
|
-
-moz-user-select: none;
|
|
566
|
-
-ms-user-select: none;
|
|
567
|
-
}
|
|
568
|
-
}
|
|
569
|
-
}
|
|
570
|
-
|
|
571
429
|
.footer-container{
|
|
572
430
|
padding: 8px 0 8px 16px;
|
|
573
431
|
}
|
|
@@ -772,7 +630,6 @@
|
|
|
772
630
|
text-overflow: ellipsis;
|
|
773
631
|
display: -webkit-box;
|
|
774
632
|
-webkit-line-clamp: 3;
|
|
775
|
-
line-clamp: 3;
|
|
776
633
|
-webkit-box-orient: vertical;
|
|
777
634
|
}
|
|
778
635
|
.title{
|
|
@@ -835,7 +692,6 @@
|
|
|
835
692
|
text-overflow: ellipsis;
|
|
836
693
|
display: -webkit-box;
|
|
837
694
|
-webkit-line-clamp: 2;
|
|
838
|
-
line-clamp: 2;
|
|
839
695
|
-webkit-box-orient: vertical;
|
|
840
696
|
}
|
|
841
697
|
.actions{
|
|
@@ -897,7 +753,8 @@
|
|
|
897
753
|
}
|
|
898
754
|
|
|
899
755
|
.whatsapp-filters,
|
|
900
|
-
.zalo-filters
|
|
756
|
+
.zalo-filters,
|
|
757
|
+
.inapp-filters {
|
|
901
758
|
display: flex;
|
|
902
759
|
width: 100%;
|
|
903
760
|
padding-left: 8px;
|
|
@@ -913,7 +770,6 @@
|
|
|
913
770
|
overflow: hidden;
|
|
914
771
|
&.desc{
|
|
915
772
|
-webkit-line-clamp: 5;
|
|
916
|
-
line-clamp: 5;
|
|
917
773
|
}
|
|
918
774
|
}
|
|
919
775
|
|
|
@@ -1011,7 +867,6 @@
|
|
|
1011
867
|
.whatsapp-message-with-media {
|
|
1012
868
|
display: -webkit-box;
|
|
1013
869
|
-webkit-line-clamp: 3;
|
|
1014
|
-
line-clamp: 3;
|
|
1015
870
|
-webkit-box-orient: vertical;
|
|
1016
871
|
overflow: hidden;
|
|
1017
872
|
}
|
|
@@ -1019,7 +874,6 @@
|
|
|
1019
874
|
.whatsapp-message-without-media {
|
|
1020
875
|
display: -webkit-box;
|
|
1021
876
|
-webkit-line-clamp: 10;
|
|
1022
|
-
line-clamp: 10;
|
|
1023
877
|
-webkit-box-orient: vertical;
|
|
1024
878
|
overflow: hidden;
|
|
1025
879
|
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
import * as types from './constants';
|
|
8
8
|
import {
|
|
9
|
-
LINE, WHATSAPP, RCS, ZALO,
|
|
9
|
+
LINE, WHATSAPP, RCS, ZALO,
|
|
10
10
|
} from '../CreativesContainer/constants';
|
|
11
11
|
|
|
12
12
|
export function getAllTemplates(channel, queryParams, intlCopyOf = '') {
|
|
@@ -68,7 +68,6 @@ export function setChannelAccount(channel, account) {
|
|
|
68
68
|
[LINE]: types.SET_LINE_ACCOUNT,
|
|
69
69
|
[WHATSAPP]: types.SET_WHATSAPP_ACCOUNT,
|
|
70
70
|
[ZALO]: types.SET_ZALO_ACCOUNT,
|
|
71
|
-
[WEBPUSH]: types.SET_WEBPUSH_ACCOUNT,
|
|
72
71
|
[RCS]: types.SET_RCS_ACCOUNT,
|
|
73
72
|
};
|
|
74
73
|
|