@designcrowd/library.brand-page 5.16.3-background-9 → 5.16.3-contact-2
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/lib/src/{CreatedOnBrandCrowd-de-de--KpngFdf.js → CreatedOnBrandCrowd-de-de--_FeHtZf.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-en-us-DtxY4Z2d.js → CreatedOnBrandCrowd-en-us-D50ID8e7.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-es-es-uDQh1CTo.js → CreatedOnBrandCrowd-es-es-ChmGwyQP.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-fr-BiB8cMX_.js → CreatedOnBrandCrowd-fr-ca-C1-kg3AV.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-ca-BiB8cMX_.js → CreatedOnBrandCrowd-fr-fr-C1-kg3AV.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-pt-D3sXSjw8.js → CreatedOnBrandCrowd-pt-br-Ble7-Qy8.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-br-D3sXSjw8.js → CreatedOnBrandCrowd-pt-pt-Ble7-Qy8.js} +1 -1
- package/lib/src/{CreatedOnDcom-de-de-CMssXwxW.js → CreatedOnDcom-de-de-DF9kzQ0d.js} +1 -1
- package/lib/src/{CreatedOnDcom-en-us-CagKWzBt.js → CreatedOnDcom-en-us-DTzNQbc3.js} +1 -1
- package/lib/src/{CreatedOnDcom-es-es-DGmFkW7a.js → CreatedOnDcom-es-es-DBkkl0zi.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-ca-BEG1Lwj5.js → CreatedOnDcom-fr-ca-TMiYbr--.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-fr-o4G0x8pw.js → CreatedOnDcom-fr-fr-BDLKQ_EW.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-br-iTLOgDpS.js → CreatedOnDcom-pt-br-DU_Ry2_R.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-pt-D3-ovGCA.js → CreatedOnDcom-pt-pt-Df-CXhgn.js} +1 -1
- package/lib/src/brand-page/clients/brand-page.client.d.ts +2 -0
- package/lib/src/brand-page/clients/brand-page.client.js +1 -1
- package/lib/src/brand-page/components/contact-form/ContactForm.mixin.js +6 -1
- package/lib/src/brand-page/components/page/Page.mixin.js +15 -19
- package/lib/src/brand-page/components/page/Page.stories.js +2 -2
- package/lib/src/brand-page/models/brand-page-context.model.d.ts +0 -1
- package/lib/src/brand-page/models/brand-page-context.model.js +0 -5
- package/lib/src/brand-page/models/index.d.ts +3 -1
- package/lib/src/brand-page/models/index.js +3 -2
- package/lib/src/brand-page/utils/view-model.util.d.ts +1 -2
- package/lib/src/brand-page/utils/view-model.util.js +2 -27
- package/lib/src/brand-page/view-models.d.ts +2 -17
- package/lib/src/brand-page-maker/components/admin-background-settings/AdminBackgroundSettings.mixin.d.ts +2 -7
- package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +0 -13
- package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.js +1 -30
- package/lib/src/brand-page-maker/components/preview/Preview.stories.js +2 -2
- package/lib/src/brand-page-maker/constants/config-settings-constant.js +39 -18
- package/lib/src/brand-page-maker/models/content-settings.js +21 -0
- package/lib/src/brand-page-maker/stores/index.d.ts +0 -1
- package/lib/src/brand-page-maker/stores/index.js +0 -1
- package/lib/src/brand-page-maker/utils/rich-text-editor.util.d.ts +0 -2
- package/lib/src/brand-page-maker/utils/rich-text-editor.util.js +0 -117
- package/lib/src/bundled-translations-D9v_x3a1.js +161 -0
- package/lib/src/bundled-translations.de-DE-BoSwOfFn.js +161 -0
- package/lib/src/bundled-translations.es-ES-DSAAb1QV.js +161 -0
- package/lib/src/bundled-translations.fr-CA-D2IlFarH.js +161 -0
- package/lib/src/bundled-translations.fr-FR-_5zbwKjk.js +161 -0
- package/lib/src/bundled-translations.pt-BR-DL1ZtRSd.js +161 -0
- package/lib/src/bundled-translations.pt-PT-CoAEDuid.js +161 -0
- package/lib/src/bundles/bundled-translations.de-DE.json +14 -19
- package/lib/src/bundles/bundled-translations.es-ES.json +14 -19
- package/lib/src/bundles/bundled-translations.fr-CA.json +14 -19
- package/lib/src/bundles/bundled-translations.fr-FR.json +14 -19
- package/lib/src/bundles/bundled-translations.json +14 -19
- package/lib/src/bundles/bundled-translations.pt-BR.json +14 -19
- package/lib/src/bundles/bundled-translations.pt-PT.json +14 -19
- package/lib/src/clients/design-template-client.d.ts +0 -2
- package/lib/src/clients/design-template-client.js +0 -33
- package/lib/src/composables/useTranslate.d.ts +1 -2
- package/lib/src/composables/useTranslate.js +1 -2
- package/lib/src/css/library.brand-page-brandCrowd.min.css +23 -170
- package/lib/src/css/library.brand-page-brandPage.min.css +23 -157
- package/lib/src/css/library.brand-page-designCom.min.css +23 -170
- package/lib/src/css/library.brand-page-preview.min.css +23 -154
- package/lib/src/index.mjs +1 -1
- package/lib/src/{lib-BIGyHbSf.js → lib-aoRAudTX.js} +20727 -21417
- package/lib/src/shared/background-settings/components/background-shapes/BackgroundShapeSettings.mixin.d.ts +2 -7
- package/lib/src/shared/background-settings/store/background-settings-store.d.ts +0 -3
- package/lib/src/shared/background-settings/store/background-settings-store.js +2 -43
- package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.d.ts +0 -1
- package/lib/src/shared/content-settings/components/content-settings/ContentSettings.mixin.js +0 -3
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.d.ts +0 -2
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.js +0 -6
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.d.ts +0 -8
- package/lib/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.js +1 -44
- package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.d.ts +0 -1
- package/lib/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.js +0 -3
- package/lib/src/shared/content-settings/components/form-fields-field/FormFieldsField.mixin.d.ts +34 -1
- package/lib/src/shared/content-settings/components/form-fields-field/FormFieldsField.mixin.js +41 -1
- package/lib/src/shared/content-settings/components/image-field/ImageField.mixin.js +1 -3
- package/lib/src/shared/content-settings/components/testimonial-items-field/TestimonialItemsField.mixin.d.ts +3 -21
- package/lib/src/shared/content-settings/components/testimonial-items-field/TestimonialItemsField.mixin.js +2 -39
- package/lib/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.d.ts +2 -20
- package/lib/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.js +2 -41
- package/lib/src/shared/content-settings/utils.d.ts +0 -1
- package/lib/src/shared/content-settings/utils.js +0 -6
- package/lib/src/shared/style-settings/components/StyleSettings.mixin.d.ts +0 -2
- package/package.json +2 -2
- package/src/brand-page/clients/brand-page.client.ts +3 -1
- package/src/brand-page/components/contact-form/ContactForm.mixin.ts +6 -1
- package/src/brand-page/components/page/Page.mixin.ts +15 -23
- package/src/brand-page/components/page/Page.stories.ts +1 -2
- package/src/brand-page/components/page/Page.vue +1 -17
- package/src/brand-page/models/brand-page-context.model.ts +0 -13
- package/src/brand-page/models/index.ts +3 -2
- package/src/brand-page/utils/__snapshots__/migration.util.test.ts.snap +0 -3
- package/src/brand-page/utils/__snapshots__/migration2.util.test.ts.snap +0 -1
- package/src/brand-page/utils/__snapshots__/model.util.test.ts.snap +0 -2
- package/src/brand-page/utils/view-model.util.ts +2 -42
- package/src/brand-page/view-models.ts +1 -23
- package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.ts +0 -31
- package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.vue +1 -2
- package/src/brand-page-maker/components/preview/Preview.stories.ts +1 -2
- package/src/brand-page-maker/constants/config-settings-constant.ts +40 -18
- package/src/brand-page-maker/models/content-settings.ts +21 -0
- package/src/brand-page-maker/stores/index.ts +0 -1
- package/src/brand-page-maker/utils/rich-text-editor.util.ts +0 -154
- package/src/bundles/bundled-translations.de-DE.json +14 -19
- package/src/bundles/bundled-translations.es-ES.json +14 -19
- package/src/bundles/bundled-translations.fr-CA.json +14 -19
- package/src/bundles/bundled-translations.fr-FR.json +14 -19
- package/src/bundles/bundled-translations.json +14 -19
- package/src/bundles/bundled-translations.pt-BR.json +14 -19
- package/src/bundles/bundled-translations.pt-PT.json +14 -19
- package/src/clients/design-template-client.ts +0 -57
- package/src/composables/useTranslate.ts +0 -3
- package/src/shared/background-settings/components/BackgroundSettings.vue +8 -25
- package/src/shared/background-settings/components/ReplaceImageSettingsForBackgroundSettings.vue +1 -13
- package/src/shared/background-settings/components/i18n/background-settings.de-DE.json +1 -3
- package/src/shared/background-settings/components/i18n/background-settings.es-ES.json +1 -3
- package/src/shared/background-settings/components/i18n/background-settings.fr-CA.json +1 -3
- package/src/shared/background-settings/components/i18n/background-settings.fr-FR.json +1 -3
- package/src/shared/background-settings/components/i18n/background-settings.json +1 -3
- package/src/shared/background-settings/components/i18n/background-settings.pt-BR.json +1 -3
- package/src/shared/background-settings/components/i18n/background-settings.pt-PT.json +1 -3
- package/src/shared/background-settings/store/background-settings-store.ts +2 -60
- package/src/shared/common/i18n/common.de-DE.json +1 -5
- package/src/shared/common/i18n/common.es-ES.json +1 -5
- package/src/shared/common/i18n/common.fr-CA.json +1 -5
- package/src/shared/common/i18n/common.fr-FR.json +1 -5
- package/src/shared/common/i18n/common.json +1 -5
- package/src/shared/common/i18n/common.pt-BR.json +1 -5
- package/src/shared/common/i18n/common.pt-PT.json +1 -5
- package/src/shared/content-settings/components/content-settings/ContentSettings.mixin.ts +0 -3
- package/src/shared/content-settings/components/content-settings/ContentSettings.vue +0 -2
- package/src/shared/content-settings/components/content-settings/i18n/content-settings.de-DE.json +2 -0
- package/src/shared/content-settings/components/content-settings/i18n/content-settings.es-ES.json +2 -0
- package/src/shared/content-settings/components/content-settings/i18n/content-settings.fr-CA.json +2 -0
- package/src/shared/content-settings/components/content-settings/i18n/content-settings.fr-FR.json +2 -0
- package/src/shared/content-settings/components/content-settings/i18n/content-settings.json +2 -0
- package/src/shared/content-settings/components/content-settings/i18n/content-settings.pt-BR.json +2 -0
- package/src/shared/content-settings/components/content-settings/i18n/content-settings.pt-PT.json +2 -0
- package/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.mixin.ts +0 -8
- package/src/shared/content-settings/components/content-settings-item/ContentSettingsItem.vue +0 -1
- package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.mixin.ts +0 -54
- package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.vue +2 -20
- package/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.mixin.ts +1 -3
- package/src/shared/content-settings/components/focused-content-item-settings/FocusedContentItemSettings.vue +0 -1
- package/src/shared/content-settings/components/form-fields-field/FormFieldsField.mixin.ts +45 -1
- package/src/shared/content-settings/components/form-fields-field/FormFieldsField.vue +106 -32
- package/src/shared/content-settings/components/form-fields-field/i18n/form-fields.de-DE.json +10 -1
- package/src/shared/content-settings/components/form-fields-field/i18n/form-fields.es-ES.json +10 -1
- package/src/shared/content-settings/components/form-fields-field/i18n/form-fields.fr-CA.json +10 -1
- package/src/shared/content-settings/components/form-fields-field/i18n/form-fields.fr-FR.json +10 -1
- package/src/shared/content-settings/components/form-fields-field/i18n/form-fields.json +10 -1
- package/src/shared/content-settings/components/form-fields-field/i18n/form-fields.pt-BR.json +10 -1
- package/src/shared/content-settings/components/form-fields-field/i18n/form-fields.pt-PT.json +10 -1
- package/src/shared/content-settings/components/image-field/ImageField.mixin.ts +1 -4
- package/src/shared/content-settings/components/testimonial-items-field/TestimonialItemsField.mixin.ts +2 -44
- package/src/shared/content-settings/components/testimonial-items-field/TestimonialItemsField.vue +3 -15
- package/src/shared/content-settings/components/text-items-field/TextItemsField.mixin.ts +2 -52
- package/src/shared/content-settings/components/text-items-field/TextItemsField.vue +3 -16
- package/src/shared/content-settings/utils.ts +0 -9
- package/lib/src/brand-page-maker/stores/snapshot/snapshot-store.d.ts +0 -14
- package/lib/src/brand-page-maker/stores/snapshot/snapshot-store.js +0 -21
- package/lib/src/bundled-translations-0k_bW9M3.js +0 -163
- package/lib/src/bundled-translations.de-DE-alPJDdV5.js +0 -163
- package/lib/src/bundled-translations.es-ES-DvG6dxbl.js +0 -163
- package/lib/src/bundled-translations.fr-CA-uKGhZH2y.js +0 -163
- package/lib/src/bundled-translations.fr-FR-DsR3NACS.js +0 -163
- package/lib/src/bundled-translations.pt-BR-Bh9w3i0j.js +0 -163
- package/lib/src/bundled-translations.pt-PT-BzegT--8.js +0 -163
- package/lib/src/composables/useSnapshot.d.ts +0 -5
- package/lib/src/composables/useSnapshot.js +0 -74
- package/src/brand-page-maker/stores/snapshot/snapshot-store.ts +0 -31
- package/src/composables/useSnapshot.ts +0 -97
- package/src/shared/content-settings/components/generate-ai-button/GenerateAiButton.vue +0 -95
- package/src/shared/content-settings/components/generate-ai-modal/GenerateAiModal.vue +0 -500
- package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.de-DE.json +0 -12
- package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.es-ES.json +0 -12
- package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.fr-CA.json +0 -12
- package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.fr-FR.json +0 -12
- package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.json +0 -12
- package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.pt-BR.json +0 -12
- package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.pt-PT.json +0 -12
|
@@ -33,7 +33,7 @@ const submitContactForm = async (brandPageToken, contentBlockId, values) => {
|
|
|
33
33
|
const csrfToken = csrfUtil.getCsrfTokenFromMetaHeader();
|
|
34
34
|
const formBody = {
|
|
35
35
|
contentBlockId,
|
|
36
|
-
|
|
36
|
+
fields: values,
|
|
37
37
|
};
|
|
38
38
|
await axios.post(`/api/contact/${brandPageToken}`, formBody, {
|
|
39
39
|
headers: {
|
|
@@ -146,7 +146,12 @@ export default defineComponent({
|
|
|
146
146
|
let result;
|
|
147
147
|
this.isSubmitting = true;
|
|
148
148
|
try {
|
|
149
|
-
result = await brandPageClient.submitContactForm(this.context.brandPageToken, this.viewModel.id, this.values.map((v) => ({
|
|
149
|
+
result = await brandPageClient.submitContactForm(this.context.brandPageToken, this.viewModel.id, this.values.map((v) => ({
|
|
150
|
+
id: v.field.id,
|
|
151
|
+
name: v.field.name,
|
|
152
|
+
type: v.field.type,
|
|
153
|
+
value: v.value,
|
|
154
|
+
})));
|
|
150
155
|
}
|
|
151
156
|
finally {
|
|
152
157
|
this.isSubmitting = false;
|
|
@@ -79,18 +79,15 @@ export default defineComponent({
|
|
|
79
79
|
},
|
|
80
80
|
backgroundShapes() {
|
|
81
81
|
const backgroundShapes = [
|
|
82
|
-
...(this.viewModel?.styles?.
|
|
83
|
-
?.backgroundShapes || []),
|
|
82
|
+
...(this.viewModel?.styles?.backgroundStyles?.backgroundShapes || []),
|
|
84
83
|
];
|
|
85
84
|
// TODO: create style viewmodel object to include backgroundImageContent attribute only on viewmodel
|
|
86
85
|
// p.s backgroundImageUrl can be url or SVG content string
|
|
87
|
-
if (this.viewModel.styles?.
|
|
86
|
+
if (this.viewModel.styles?.backgroundStyles?.backgroundImageUrl) {
|
|
88
87
|
backgroundShapes.splice(0, 0, {
|
|
89
|
-
name: this.viewModel.styles.
|
|
90
|
-
.backgroundImageUrl,
|
|
88
|
+
name: this.viewModel.styles.backgroundStyles.backgroundImageUrl,
|
|
91
89
|
style: {
|
|
92
|
-
...this.viewModel.styles.
|
|
93
|
-
.backgroundShapeStyle,
|
|
90
|
+
...this.viewModel.styles.backgroundStyles.backgroundShapeStyle,
|
|
94
91
|
width: `100%`,
|
|
95
92
|
height: `100%`,
|
|
96
93
|
},
|
|
@@ -100,11 +97,10 @@ export default defineComponent({
|
|
|
100
97
|
},
|
|
101
98
|
rootElementStyles() {
|
|
102
99
|
let styles = {};
|
|
103
|
-
if (!this.viewModel?.styles?.
|
|
104
|
-
?.
|
|
105
|
-
this.viewModel?.styles?.backgroundStylesViewModel?.style) {
|
|
100
|
+
if (!this.viewModel?.styles?.backgroundStyles?.backgroundImageUrl &&
|
|
101
|
+
this.viewModel?.styles?.backgroundStyles?.style) {
|
|
106
102
|
styles = {
|
|
107
|
-
...this.viewModel?.styles?.
|
|
103
|
+
...this.viewModel?.styles?.backgroundStyles?.style,
|
|
108
104
|
};
|
|
109
105
|
}
|
|
110
106
|
Object.assign(styles, this.viewModel?.styles?.textStyles?.style);
|
|
@@ -121,26 +117,26 @@ export default defineComponent({
|
|
|
121
117
|
},
|
|
122
118
|
rootBackgroundStyles() {
|
|
123
119
|
const styles = {
|
|
124
|
-
...(this.viewModel?.styles?.
|
|
120
|
+
...(this.viewModel?.styles?.backgroundStyles?.style || {}),
|
|
125
121
|
};
|
|
126
122
|
delete styles.backgroundAttachment;
|
|
127
|
-
if (this.viewModel.styles?.
|
|
128
|
-
(this.viewModel.styles.
|
|
129
|
-
!this.viewModel.styles?.
|
|
123
|
+
if (this.viewModel.styles?.backgroundStyles?.backgroundImageUrl &&
|
|
124
|
+
(this.viewModel.styles.backgroundStyles.backgroundImageUrl.endsWith(`.svg`) ||
|
|
125
|
+
!this.viewModel.styles?.backgroundStyles?.backgroundImageUrl.startsWith('http'))) {
|
|
130
126
|
// Any backgroundImageUrl that handles svg file, svg markup is handled as BackgroundShape object
|
|
131
127
|
delete styles.backgroundImage;
|
|
132
128
|
}
|
|
133
|
-
else if (this.viewModel?.styles?.
|
|
129
|
+
else if (this.viewModel?.styles?.backgroundStyles?.backgroundImageUrl) {
|
|
134
130
|
// if background is a gradient
|
|
135
|
-
if (this.viewModel?.styles?.
|
|
131
|
+
if (this.viewModel?.styles?.backgroundStyles?.style?.background?.startsWith('linear-gradient')) {
|
|
136
132
|
// combine image and gradient into the `background` property
|
|
137
|
-
styles.backgroundImage = `url(${this.viewModel?.styles?.
|
|
133
|
+
styles.backgroundImage = `url(${this.viewModel?.styles?.backgroundStyles?.backgroundImageUrl}), ${this.viewModel?.styles?.backgroundStyles?.style?.background}`;
|
|
138
134
|
delete styles.background;
|
|
139
135
|
}
|
|
140
136
|
else {
|
|
141
137
|
// background is a solid color
|
|
142
138
|
styles.backgroundColor = styles.background;
|
|
143
|
-
styles.backgroundImage = `url(${this.viewModel?.styles?.
|
|
139
|
+
styles.backgroundImage = `url(${this.viewModel?.styles?.backgroundStyles?.backgroundImageUrl})`;
|
|
144
140
|
delete styles.background;
|
|
145
141
|
}
|
|
146
142
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent } from 'vue';
|
|
2
2
|
import Page from './Page.vue';
|
|
3
|
-
import { mapToPageFooterViewModel, mapToPageHeaderViewModel,
|
|
3
|
+
import { mapToPageFooterViewModel, mapToPageHeaderViewModel, mapToViewModel, } from '../../utils';
|
|
4
4
|
import { BRAND_PAGE_TYPES, BrandPageModel, SENSITIVE_CONTENT_TYPES, VIEWPORTS, } from '../../models';
|
|
5
5
|
export default {
|
|
6
6
|
title: 'Components/BrandPage/Page',
|
|
@@ -17,7 +17,7 @@ const pages = brandPageModel.pages.map((p) => ({
|
|
|
17
17
|
}));
|
|
18
18
|
const viewModel = {
|
|
19
19
|
showBrandCrowdLogo: true,
|
|
20
|
-
styles:
|
|
20
|
+
styles: brandPageModel.styles,
|
|
21
21
|
headerViewModelDesktop: mapToPageHeaderViewModel(brandPageModel.pageHeaderDesktop, brandPageModel.styles, pages),
|
|
22
22
|
headerViewModelMobile: mapToPageHeaderViewModel(brandPageModel.pageHeaderMobile, brandPageModel.styles, pages),
|
|
23
23
|
footerViewModelDesktop: mapToPageFooterViewModel(brandPageModel.pageFooterDesktop, brandPageModel.styles),
|
|
@@ -37,7 +37,6 @@ export interface AbTestResult {
|
|
|
37
37
|
export interface AbTest {
|
|
38
38
|
bp_3926_freemium_watermark?: AbTestResult;
|
|
39
39
|
bp_4092_rotating_upsells_at_publish?: AbTestResult;
|
|
40
|
-
bp_4572_ai_text_generation_post_purchase?: AbTestResult;
|
|
41
40
|
}
|
|
42
41
|
export declare const MEDIA_SIZES: {
|
|
43
42
|
readonly size1x: "size1x";
|
|
@@ -25,7 +25,6 @@ export const AB_TEST_FLAG = {
|
|
|
25
25
|
const AB_TEST_KEYS = {
|
|
26
26
|
BP_3926_FREEMIUM_WATERMARK: 'bc-bp-3926-freemium-cta-in-website-editor',
|
|
27
27
|
BP_4092_ROTATING_UPSELLS_AT_PUBLISH: 'bc-bp-4092-rotating-upsells-at-website-publish',
|
|
28
|
-
BP_4572_AI_TEXT_GENERATION_POST_PURCHASE: 'bc-bp-4572-ai-text-generation-post-purchase',
|
|
29
28
|
};
|
|
30
29
|
export const MEDIA_SIZES = {
|
|
31
30
|
size1x: 'size1x',
|
|
@@ -47,9 +46,5 @@ export const getAbTestResults = (abtestKeyValues) => {
|
|
|
47
46
|
if (abtestKeyValues[AB_TEST_KEYS.BP_3926_FREEMIUM_WATERMARK]) {
|
|
48
47
|
abTests.bp_3926_freemium_watermark = getValueType(AB_TEST_KEYS.BP_3926_FREEMIUM_WATERMARK, abtestKeyValues[AB_TEST_KEYS.BP_3926_FREEMIUM_WATERMARK]);
|
|
49
48
|
}
|
|
50
|
-
// AB Test for BP-4572 - AI Text Generation Post Purchase
|
|
51
|
-
if (abtestKeyValues[AB_TEST_KEYS.BP_4572_AI_TEXT_GENERATION_POST_PURCHASE]) {
|
|
52
|
-
abTests.bp_4572_ai_text_generation_post_purchase = getValueType(AB_TEST_KEYS.BP_4572_AI_TEXT_GENERATION_POST_PURCHASE, abtestKeyValues[AB_TEST_KEYS.BP_4572_AI_TEXT_GENERATION_POST_PURCHASE]);
|
|
53
|
-
}
|
|
54
49
|
return abTests;
|
|
55
50
|
};
|
|
@@ -32,7 +32,6 @@ export declare class BackgroundStyles {
|
|
|
32
32
|
backgroundImageUrl: string;
|
|
33
33
|
backgroundShapes: BackgroundShape[];
|
|
34
34
|
personalisationRole?: PersonalisationRole;
|
|
35
|
-
media?: AbstractMedia;
|
|
36
35
|
constructor(option?: Partial<BackgroundStyles>);
|
|
37
36
|
}
|
|
38
37
|
export declare const GALLERY_TYPES: {
|
|
@@ -200,6 +199,9 @@ export declare const FORM_FIELD_IDS: {
|
|
|
200
199
|
readonly emailAddress: "emailAddress";
|
|
201
200
|
readonly phoneNumber: "phoneNumber";
|
|
202
201
|
readonly message: "message";
|
|
202
|
+
readonly customField1: "customField1";
|
|
203
|
+
readonly customField2: "customField2";
|
|
204
|
+
readonly customField3: "customField3";
|
|
203
205
|
};
|
|
204
206
|
export declare const BUTTON_LINK_TYPE: {
|
|
205
207
|
readonly url: "url";
|
|
@@ -47,7 +47,6 @@ export class BackgroundStyles {
|
|
|
47
47
|
backgroundImageUrl;
|
|
48
48
|
backgroundShapes;
|
|
49
49
|
personalisationRole;
|
|
50
|
-
media;
|
|
51
50
|
constructor(option = {}) {
|
|
52
51
|
this.backgroundImageUrl = option.backgroundImageUrl || '';
|
|
53
52
|
this.backgroundShapes = (option.backgroundShapes ||
|
|
@@ -60,7 +59,6 @@ export class BackgroundStyles {
|
|
|
60
59
|
background: '',
|
|
61
60
|
};
|
|
62
61
|
this.personalisationRole = option.personalisationRole;
|
|
63
|
-
this.media = option.media || undefined;
|
|
64
62
|
}
|
|
65
63
|
}
|
|
66
64
|
export const GALLERY_TYPES = {
|
|
@@ -131,6 +129,9 @@ export const FORM_FIELD_IDS = {
|
|
|
131
129
|
emailAddress: 'emailAddress',
|
|
132
130
|
phoneNumber: 'phoneNumber',
|
|
133
131
|
message: 'message',
|
|
132
|
+
customField1: 'customField1',
|
|
133
|
+
customField2: 'customField2',
|
|
134
|
+
customField3: 'customField3',
|
|
134
135
|
};
|
|
135
136
|
export const BUTTON_LINK_TYPE = {
|
|
136
137
|
url: 'url',
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ImageContent, ProfileContent, TextContent, PageStyles, Content, BrandPageModel, ImageGalleryContent, GalleryStyles, BannerSectionContent, ImagesSectionContent, BrandPageType, PageHeaderDesktop, PageFooterDesktop, PageFooterMobile, PageHeaderMobile, LogoImageModel, LogoTemplateImageModel, BookingSectionContent } from '../models';
|
|
2
|
-
import type { ImageViewModel, LogoViewModel, ProfileViewModel, TextViewModel, ContentViewModel, BrandPageViewModel, ImageGalleryViewModel, PageViewModel, BannerSectionViewModel, PageHeaderViewModel, PageFooterViewModel, TextImageSectionViewModel, BookingSectionViewModel
|
|
2
|
+
import type { ImageViewModel, LogoViewModel, ProfileViewModel, TextViewModel, ContentViewModel, BrandPageViewModel, ImageGalleryViewModel, PageViewModel, BannerSectionViewModel, PageHeaderViewModel, PageFooterViewModel, TextImageSectionViewModel, BookingSectionViewModel } from '../view-models';
|
|
3
3
|
export declare const applyViewModelTextStyles: <T extends ContentViewModel>(content: T, styles: PageStyles) => T;
|
|
4
4
|
export declare const mapToImageViewModel: (content: ImageContent) => ImageViewModel;
|
|
5
5
|
export declare const mapToImageGalleryViewModel: (content: ImageGalleryContent, globalStyles: GalleryStyles) => ImageGalleryViewModel;
|
|
@@ -8,7 +8,6 @@ export declare const mapToTextViewModel: (content: TextContent, styles: PageStyl
|
|
|
8
8
|
export declare const mapToBannerSectionViewModel: (content: BannerSectionContent, styles: PageStyles, options: ViewModelMappingOptions) => BannerSectionViewModel;
|
|
9
9
|
export declare const mapToImagesSectionViewModel: (content: ImagesSectionContent, styles: PageStyles, brandPageType: BrandPageType) => TextImageSectionViewModel;
|
|
10
10
|
export declare const mapToBookingSectionViewModel: (content: BookingSectionContent, styles: PageStyles) => BookingSectionViewModel;
|
|
11
|
-
export declare const mapToPageStyleViewModel: (pageStyles: PageStyles, options: ViewModelMappingOptions) => PageStylesViewModel;
|
|
12
11
|
export declare const mapToPageHeaderViewModel: (pageHeader: PageHeaderDesktop | PageHeaderMobile, pageStyles: PageStyles, pages: PageViewModel[], useOldLogoRenderSize?: boolean) => PageHeaderViewModel;
|
|
13
12
|
export declare const mapToPageFooterViewModel: (pageFooter: PageFooterDesktop | PageFooterMobile, pageStyles: PageStyles, useOldLogoRenderSize?: boolean) => PageFooterViewModel;
|
|
14
13
|
export declare const mapToViewModel: (styles: PageStyles, brandPageType: BrandPageType, options: ViewModelMappingOptions) => (content: Content) => ContentViewModel | undefined;
|
|
@@ -604,15 +604,6 @@ export const mapToBookingSectionViewModel = (content, styles) => {
|
|
|
604
604
|
isFullWidth: true,
|
|
605
605
|
}, styles);
|
|
606
606
|
};
|
|
607
|
-
export const mapToPageStyleViewModel = (pageStyles, options) => {
|
|
608
|
-
return {
|
|
609
|
-
backgroundStylesViewModel: mapBackgroundStylesToViewModel(pageStyles.backgroundStyles, options),
|
|
610
|
-
buttonStyles: pageStyles.buttonStyles,
|
|
611
|
-
logoStyles: pageStyles.logoStyles,
|
|
612
|
-
textStyles: pageStyles.textStyles,
|
|
613
|
-
galleryStyles: pageStyles.galleryStyles,
|
|
614
|
-
};
|
|
615
|
-
};
|
|
616
607
|
export const mapToPageHeaderViewModel = (pageHeader, pageStyles, pages, useOldLogoRenderSize = false) => {
|
|
617
608
|
const viewport = pageHeader.viewport;
|
|
618
609
|
const logoContent = {
|
|
@@ -758,22 +749,6 @@ export const mapToViewModel = (styles, brandPageType, options) => (content) => {
|
|
|
758
749
|
assertUnreachable();
|
|
759
750
|
}
|
|
760
751
|
};
|
|
761
|
-
const mapBackgroundStylesToViewModel = (backgroundStyles, options) => {
|
|
762
|
-
// TODO(jyao): These need to be mapped to a view model eventually
|
|
763
|
-
return {
|
|
764
|
-
style: backgroundStyles.style,
|
|
765
|
-
backgroundShapeStyle: backgroundStyles.backgroundShapeStyle,
|
|
766
|
-
backgroundImageUrl: backgroundStyles.backgroundImageUrl,
|
|
767
|
-
backgroundShapes: backgroundStyles.backgroundShapes,
|
|
768
|
-
personalisationRole: backgroundStyles.personalisationRole,
|
|
769
|
-
mediaViewModel: backgroundStyles.media
|
|
770
|
-
? mapMediaToContentViewModel({
|
|
771
|
-
media: backgroundStyles.media,
|
|
772
|
-
options,
|
|
773
|
-
})
|
|
774
|
-
: undefined,
|
|
775
|
-
};
|
|
776
|
-
};
|
|
777
752
|
export const getBrandPageViewModelFromBrandPageModel = (model, brandPageToken, showBrandCrowdLogo = true, options) => {
|
|
778
753
|
const pages = model.pages.map((p) => {
|
|
779
754
|
const contents = p.contents
|
|
@@ -790,7 +765,7 @@ export const getBrandPageViewModelFromBrandPageModel = (model, brandPageToken, s
|
|
|
790
765
|
brandPageToken,
|
|
791
766
|
pages,
|
|
792
767
|
showBrandCrowdLogo,
|
|
793
|
-
styles:
|
|
768
|
+
styles: model.styles,
|
|
794
769
|
headerViewModelDesktop: mapToPageHeaderViewModel(model.pageHeaderDesktop, model.styles, pages, options.useOldLogoRenderSize),
|
|
795
770
|
headerViewModelMobile: mapToPageHeaderViewModel(model.pageHeaderMobile, model.styles, pages, options.useOldLogoRenderSize),
|
|
796
771
|
footerViewModelDesktop: mapToPageFooterViewModel(model.pageFooterDesktop, model.styles, options.useOldLogoRenderSize),
|
|
@@ -875,7 +850,7 @@ export const getCriticalResourceURLs = (viewModel) => {
|
|
|
875
850
|
}
|
|
876
851
|
}
|
|
877
852
|
// shapes
|
|
878
|
-
const bgShapeFullBg = viewModel.styles?.
|
|
853
|
+
const bgShapeFullBg = viewModel.styles?.backgroundStyles.backgroundImageUrl;
|
|
879
854
|
if (typeof bgShapeFullBg !== 'undefined' && isValidSvgUrl(bgShapeFullBg)) {
|
|
880
855
|
shapes.push(String(bgShapeFullBg));
|
|
881
856
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ButtonWithModalContent, ProfileContent, TextContent, VideoContent, ImageContent, ContentType, ButtonStyles, LogoStyles, MapContent, ImageGalleryContent, GalleryStyles, MailingListContent, RequestPaymentContent, ShopContent, SupportMeContent, ContactFormContent, BannerSectionContent, BrandPageType, SocialLinksContent, TestimonialSectionContent, AboutSectionContent, DividerSectionContent, ShapesSectionContent, ButtonLinkType, PageHeaderMobile, PageHeaderDesktop, PageFooterMobile, PageFooterDesktop, TextMediaItem, TextShapeItem, TextStyleDeclaration, AspectRatio, LogoImageModel, LogoTemplateImageModel, CookieOptions, BookingSectionContent, MediaTypes
|
|
1
|
+
import type { PageStyles, ButtonWithModalContent, ProfileContent, TextContent, VideoContent, ImageContent, ContentType, ButtonStyles, LogoStyles, MapContent, ImageGalleryContent, GalleryStyles, MailingListContent, RequestPaymentContent, ShopContent, SupportMeContent, ContactFormContent, BannerSectionContent, BrandPageType, SocialLinksContent, TestimonialSectionContent, AboutSectionContent, DividerSectionContent, ShapesSectionContent, ButtonLinkType, PageHeaderMobile, PageHeaderDesktop, PageFooterMobile, PageFooterDesktop, TextMediaItem, TextShapeItem, TextStyleDeclaration, AspectRatio, LogoImageModel, LogoTemplateImageModel, CookieOptions, BookingSectionContent, MediaTypes } from './models';
|
|
2
2
|
import type { ImagesSectionContentDisplayStyle } from './constants';
|
|
3
3
|
export type ViewModelType = 'button' | 'image' | 'image-gallery' | 'logo' | 'map' | 'mailing-list' | 'profile' | 'support-me' | 'request-payment' | 'text' | 'video' | 'contact-form' | 'banner-section' | 'images-section' | 'about-section' | 'divider-section' | 'testimonial-section' | 'social-links' | 'shapes-section' | 'shop-section' | 'booking-section';
|
|
4
4
|
export interface ContentViewModel {
|
|
@@ -134,25 +134,10 @@ export interface PageHeaderViewModel extends Omit<PageHeaderDesktop | PageHeader
|
|
|
134
134
|
export interface PageFooterViewModel extends Omit<PageFooterDesktop | PageFooterMobile, 'logoImage' | 'logoImageStyle' | 'isLogoOptional' | 'viewport' | 'isLogoVisible' | 'logoTemplateImage' | 'logoImageHeight' | 'logoImageWidth'> {
|
|
135
135
|
logo: LogoViewModel;
|
|
136
136
|
}
|
|
137
|
-
export interface BackgroundStylesViewModel {
|
|
138
|
-
style: BackgroundStyle;
|
|
139
|
-
backgroundShapeStyle: BackgroundStyle;
|
|
140
|
-
backgroundImageUrl: string;
|
|
141
|
-
backgroundShapes: BackgroundShape[];
|
|
142
|
-
personalisationRole?: PersonalisationRole;
|
|
143
|
-
mediaViewModel?: MediaViewModel;
|
|
144
|
-
}
|
|
145
|
-
export interface PageStylesViewModel {
|
|
146
|
-
backgroundStylesViewModel: BackgroundStylesViewModel;
|
|
147
|
-
buttonStyles: ButtonStyles;
|
|
148
|
-
logoStyles: LogoStyles;
|
|
149
|
-
textStyles: TextStyles;
|
|
150
|
-
galleryStyles: GalleryStyles;
|
|
151
|
-
}
|
|
152
137
|
export interface BrandPageViewModel {
|
|
153
138
|
brandPageToken?: string;
|
|
154
139
|
showBrandCrowdLogo: boolean;
|
|
155
|
-
styles:
|
|
140
|
+
styles: PageStyles;
|
|
156
141
|
pages: PageViewModel[];
|
|
157
142
|
brandPageType: BrandPageType;
|
|
158
143
|
headerViewModelDesktop: PageHeaderViewModel;
|
|
@@ -48,6 +48,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
48
48
|
aspectRatio?: string | undefined;
|
|
49
49
|
width?: string | undefined;
|
|
50
50
|
height?: string | undefined;
|
|
51
|
+
textAlign?: string | undefined;
|
|
51
52
|
backgroundAttachment?: string | undefined;
|
|
52
53
|
background?: string | undefined;
|
|
53
54
|
backgroundImage?: string | undefined;
|
|
@@ -79,7 +80,6 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
79
80
|
overflowWrap?: string | undefined;
|
|
80
81
|
paddingTop?: string | undefined;
|
|
81
82
|
position?: string | undefined;
|
|
82
|
-
textAlign?: string | undefined;
|
|
83
83
|
textDecoration?: string | undefined;
|
|
84
84
|
top?: string | undefined;
|
|
85
85
|
transform?: string | undefined;
|
|
@@ -92,6 +92,7 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
92
92
|
aspectRatio?: string | undefined;
|
|
93
93
|
width?: string | undefined;
|
|
94
94
|
height?: string | undefined;
|
|
95
|
+
textAlign?: string | undefined;
|
|
95
96
|
backgroundAttachment?: string | undefined;
|
|
96
97
|
background?: string | undefined;
|
|
97
98
|
backgroundImage?: string | undefined;
|
|
@@ -123,7 +124,6 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
123
124
|
overflowWrap?: string | undefined;
|
|
124
125
|
paddingTop?: string | undefined;
|
|
125
126
|
position?: string | undefined;
|
|
126
|
-
textAlign?: string | undefined;
|
|
127
127
|
textDecoration?: string | undefined;
|
|
128
128
|
top?: string | undefined;
|
|
129
129
|
transform?: string | undefined;
|
|
@@ -181,9 +181,6 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
181
181
|
};
|
|
182
182
|
}[];
|
|
183
183
|
personalisationRole?: "website" | "email" | "phone" | "profile" | "about" | "information" | "media" | undefined;
|
|
184
|
-
media?: {
|
|
185
|
-
type: import("../../../brand-page").MediaTypes;
|
|
186
|
-
} | undefined;
|
|
187
184
|
}>;
|
|
188
185
|
uiStore: import("pinia").Store<"ui", import("../../../lib").UIRootState, {
|
|
189
186
|
endpoints: () => import("../../../lib").Endpoints;
|
|
@@ -258,8 +255,6 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
258
255
|
setBackgroundMode(payload: {
|
|
259
256
|
backgroundMode: "images" | "edit";
|
|
260
257
|
}): void;
|
|
261
|
-
setBackgroundMedia(payload: import("src/shared/my-uploads/models").MediaBaseSelectedPayload): void;
|
|
262
|
-
removeBackgroundVideo(): void;
|
|
263
258
|
}>;
|
|
264
259
|
}, {
|
|
265
260
|
isColorMatch: {};
|
|
@@ -1146,17 +1146,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
1146
1146
|
getProductModel(): import("../../../brand-page/models/shop.model").ProductModel;
|
|
1147
1147
|
}>;
|
|
1148
1148
|
router: import("vue-router").Router;
|
|
1149
|
-
snapshotStore: import("pinia").Store<"snapshot", import("../../stores").SnapshotState, {
|
|
1150
|
-
hasSnapshot: (state: {
|
|
1151
|
-
snapshotBase64: string | null;
|
|
1152
|
-
isCapturing: boolean;
|
|
1153
|
-
} & import("pinia").PiniaCustomStateProperties<import("../../stores").SnapshotState>) => boolean;
|
|
1154
|
-
}, {
|
|
1155
|
-
setBase64Snapshot(base64: string | null): void;
|
|
1156
|
-
setIsCapturing(isCapturing: boolean): void;
|
|
1157
|
-
clearSnapshot(): void;
|
|
1158
|
-
}>;
|
|
1159
|
-
captureSnapshot: (element: HTMLElement | null) => Promise<string | null>;
|
|
1160
1149
|
videoStore: import("pinia").Store<"video", import("../../stores").videoStoreState, {
|
|
1161
1150
|
getVideoUrlsForToken: (state: {
|
|
1162
1151
|
videoUrls: {
|
|
@@ -1197,10 +1186,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
1197
1186
|
showSaveSuccessMessage: boolean;
|
|
1198
1187
|
}, {
|
|
1199
1188
|
previewContainer(): any;
|
|
1200
|
-
previewContent(): any;
|
|
1201
1189
|
}, {
|
|
1202
1190
|
getBrandPageFromFallback(viewModel: any): BrandPageData;
|
|
1203
|
-
handleCaptureSnapshot(): Promise<void>;
|
|
1204
1191
|
onResizeWithDebounce(): void;
|
|
1205
1192
|
onResize(): void;
|
|
1206
1193
|
setUiScreenSizeModeBasedOnDeviceWidth(): void;
|
|
@@ -10,7 +10,7 @@ import { createInitialBrandPage } from '../../models';
|
|
|
10
10
|
import { navigateToPageBySlug } from '../../routing';
|
|
11
11
|
import { useBrandPageContainerStore } from '../../stores';
|
|
12
12
|
import { UI_DEVICE_MODES, UI_SCREENSIZE_MODES, } from '../../../shared/models';
|
|
13
|
-
import { useBrandPageMakerStore, useBrandPageMakerUserStore, useLocalisedRouteStore, useUiStore,
|
|
13
|
+
import { useBrandPageMakerStore, useBrandPageMakerUserStore, useLocalisedRouteStore, useUiStore, useVideoStore, } from '../../stores';
|
|
14
14
|
import { useUiContentSettingsStore } from '../../../shared/content-settings/store';
|
|
15
15
|
import { useUiTemplateSettingsStore } from '../../../shared/template-settings/store';
|
|
16
16
|
import { useUiPageSettingsStore } from '../../../shared/page-settings/store';
|
|
@@ -21,7 +21,6 @@ import { useShopConfigStore } from '../../../shared/ecommerce-settings/store/sho
|
|
|
21
21
|
import { useProductConfigStore } from '../../../brand-page-maker/stores/product-config/product-config-store';
|
|
22
22
|
import { UPGRADE_CTA_LOCATIONS } from '../../composables/useEventTracker';
|
|
23
23
|
import { commonTr } from '../../../composables/useTranslate';
|
|
24
|
-
import { useSnapshot } from '../../../composables/useSnapshot';
|
|
25
24
|
const RESIZE_DEBOUNCE_WAIT_IN_MS = 100;
|
|
26
25
|
export default defineComponent({
|
|
27
26
|
props: {
|
|
@@ -43,8 +42,6 @@ export default defineComponent({
|
|
|
43
42
|
const productSettingStore = useProductConfigStore();
|
|
44
43
|
const router = useRouter();
|
|
45
44
|
const localisedRouteStore = useLocalisedRouteStore();
|
|
46
|
-
const snapshotStore = useSnapshotStore();
|
|
47
|
-
const { captureSnapshot } = useSnapshot();
|
|
48
45
|
const videoStore = useVideoStore();
|
|
49
46
|
return {
|
|
50
47
|
commonTr,
|
|
@@ -87,8 +84,6 @@ export default defineComponent({
|
|
|
87
84
|
shopSettingStore,
|
|
88
85
|
productSettingStore,
|
|
89
86
|
router,
|
|
90
|
-
snapshotStore,
|
|
91
|
-
captureSnapshot,
|
|
92
87
|
videoStore,
|
|
93
88
|
};
|
|
94
89
|
},
|
|
@@ -104,9 +99,6 @@ export default defineComponent({
|
|
|
104
99
|
previewContainer() {
|
|
105
100
|
return this.$refs.previewContainer;
|
|
106
101
|
},
|
|
107
|
-
previewContent() {
|
|
108
|
-
return this.$refs.previewContent;
|
|
109
|
-
},
|
|
110
102
|
},
|
|
111
103
|
async created() {
|
|
112
104
|
if (!this.viewModel?.logoDraftDesignAttributes?.logoTheme ||
|
|
@@ -221,27 +213,6 @@ export default defineComponent({
|
|
|
221
213
|
return createInitialBrandPage(viewModel.brandPageType);
|
|
222
214
|
}
|
|
223
215
|
},
|
|
224
|
-
async handleCaptureSnapshot() {
|
|
225
|
-
if (!this.previewContent) {
|
|
226
|
-
return;
|
|
227
|
-
}
|
|
228
|
-
this.snapshotStore.setIsCapturing(true);
|
|
229
|
-
try {
|
|
230
|
-
const snapshot = await this.captureSnapshot(this.previewContent);
|
|
231
|
-
if (snapshot) {
|
|
232
|
-
this.snapshotStore.setBase64Snapshot(snapshot);
|
|
233
|
-
}
|
|
234
|
-
else {
|
|
235
|
-
console.warn('⚠️ Snapshot capture returned null');
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
catch (error) {
|
|
239
|
-
console.error('❌ Failed to capture snapshot:', error);
|
|
240
|
-
}
|
|
241
|
-
finally {
|
|
242
|
-
this.snapshotStore.setIsCapturing(false);
|
|
243
|
-
}
|
|
244
|
-
},
|
|
245
216
|
onResizeWithDebounce() {
|
|
246
217
|
if (this.debounceOnResize) {
|
|
247
218
|
this.debounceOnResize();
|
|
@@ -3,7 +3,7 @@ import Preview from './Preview.vue';
|
|
|
3
3
|
import { brandPageData } from '../../../brand-page/__fixtures__/brand-page-sample-data';
|
|
4
4
|
import { PageStyles, BRAND_PAGE_TYPES, PageHeaderDesktop, PageHeaderMobile, PageFooterDesktop, PageFooterMobile, SENSITIVE_CONTENT_TYPES, } from '../../../brand-page';
|
|
5
5
|
import { setupStoryPinia } from '../brand-page-maker/__fixtures__/store-fixture';
|
|
6
|
-
import { mapToPageFooterViewModel, mapToPageHeaderViewModel,
|
|
6
|
+
import { mapToPageFooterViewModel, mapToPageHeaderViewModel, mapToViewModel, } from '../../../brand-page/utils';
|
|
7
7
|
export default {
|
|
8
8
|
title: 'Components/BrandPageMaker/Preview',
|
|
9
9
|
component: Preview,
|
|
@@ -21,7 +21,7 @@ const pages = [
|
|
|
21
21
|
];
|
|
22
22
|
const viewModel = {
|
|
23
23
|
showBrandCrowdLogo: true,
|
|
24
|
-
styles:
|
|
24
|
+
styles: pageStyles,
|
|
25
25
|
headerViewModelDesktop: mapToPageHeaderViewModel(new PageHeaderDesktop(), pageStyles, pages),
|
|
26
26
|
headerViewModelMobile: mapToPageHeaderViewModel(new PageHeaderMobile(), pageStyles, pages),
|
|
27
27
|
footerViewModelDesktop: mapToPageFooterViewModel(new PageFooterDesktop(), pageStyles),
|