@designcrowd/library.brand-page 5.16.26-pre-temp-9 → 5.16.26
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-zCu2SCxy.js → CreatedOnBrandCrowd-de-de-Dfs4kuhz.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-en-us-B_PEyGIm.js → CreatedOnBrandCrowd-en-us-DJ13cGoF.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-es-es-BFCsKE8u.js → CreatedOnBrandCrowd-es-es-CYnYFX32.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-fr-eMQTX6OI.js → CreatedOnBrandCrowd-fr-ca-DxVqJhKj.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-ca-eMQTX6OI.js → CreatedOnBrandCrowd-fr-fr-DxVqJhKj.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-pt-Bn9C1SHL.js → CreatedOnBrandCrowd-pt-br-DRVSgk5J.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-br-Bn9C1SHL.js → CreatedOnBrandCrowd-pt-pt-DRVSgk5J.js} +1 -1
- package/lib/src/{CreatedOnDcom-de-de-7O5zPVh5.js → CreatedOnDcom-de-de-CY_TZaZq.js} +1 -1
- package/lib/src/{CreatedOnDcom-en-us-id9DhBYr.js → CreatedOnDcom-en-us-B_sgd1y-.js} +1 -1
- package/lib/src/{CreatedOnDcom-es-es-DeCG2CiK.js → CreatedOnDcom-es-es-DO2a5QCl.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-ca-CGRAPv4Y.js → CreatedOnDcom-fr-ca-D_eCbDAT.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-fr-DQ4tFENU.js → CreatedOnDcom-fr-fr-B3J5bsTR.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-br-Dl8O_w_4.js → CreatedOnDcom-pt-br-xDatVqDR.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-pt-BJbg3OCL.js → CreatedOnDcom-pt-pt-D9Yzuo4O.js} +1 -1
- package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMakerTemplateSettings.mixin.js +5 -2
- package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.js +4 -4
- package/lib/src/brand-page-maker/constants/template-constants.d.ts +2 -1
- package/lib/src/brand-page-maker/constants/template-constants.js +2 -1
- package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.js +0 -10
- package/lib/src/clients/design-template-client.d.ts +0 -2
- package/lib/src/clients/fabric-render-client.d.ts +0 -3
- package/lib/src/index.d.ts +1 -1
- package/lib/src/index.mjs +92 -92
- package/lib/src/{lib-CmDr5vgr.js → lib-BXqEits5.js} +7078 -7117
- package/lib/src/lib.js +1 -1
- package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.d.ts +0 -8
- package/lib/src/shared/logo-settings/components/LogoSettings.mixin.d.ts +0 -8
- package/lib/src/shared/logo-settings/store/editable-logo-store.d.ts +0 -12
- package/lib/src/shared/logo-settings/store/editable-logo-store.js +0 -16
- package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +0 -8
- package/lib/src/shared/template-settings/store/template-settings-store.js +8 -39
- package/package.json +1 -1
- package/src/brand-page-maker/components/brand-page-maker/BrandPageMakerTemplateSettings.mixin.ts +6 -1
- package/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.ts +4 -4
- package/src/brand-page-maker/constants/template-constants.ts +2 -1
- package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.ts +0 -14
- package/src/clients/design-template-client.ts +0 -2
- package/src/clients/fabric-render-client.ts +0 -3
- package/src/lib.ts +0 -1
- package/src/shared/logo-settings/store/editable-logo-store.ts +0 -20
- package/src/shared/template-settings/store/template-settings-store.ts +9 -52
package/lib/src/lib.js
CHANGED
|
@@ -26,7 +26,7 @@ export { default as SensitiveContentModal } from './brand-page/components/sensit
|
|
|
26
26
|
// functions
|
|
27
27
|
export { getBrandPageViewModelFromBrandPageModel, migrateBrandPageModel, } from './brand-page/utils';
|
|
28
28
|
export * as brandPageUtils from './brand-page/utils';
|
|
29
|
-
export { getOptimalLogoSize, calculateOptimizedLogoDimensions,
|
|
29
|
+
export { getOptimalLogoSize, calculateOptimizedLogoDimensions, } from './brand-page/utils/logo.util';
|
|
30
30
|
export { sanitizeRTEHtml } from './brand-page-maker/utils';
|
|
31
31
|
export { getPageSlugFromPageTitle } from './brand-page-maker/utils/slug.util';
|
|
32
32
|
// stores
|
|
@@ -81,14 +81,6 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
81
81
|
variationType: string | undefined;
|
|
82
82
|
width: number;
|
|
83
83
|
height: number;
|
|
84
|
-
expiryDate?: string | undefined;
|
|
85
|
-
s3Token?: string | undefined;
|
|
86
|
-
logoTheme?: {
|
|
87
|
-
backgroundColors: string[];
|
|
88
|
-
textColors: string[];
|
|
89
|
-
textOpacities: number[];
|
|
90
|
-
textValues: any;
|
|
91
|
-
} | undefined;
|
|
92
84
|
}[];
|
|
93
85
|
logoTemplateMetadata: string;
|
|
94
86
|
isLogoDraftSaved: boolean;
|
|
@@ -253,14 +253,6 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
253
253
|
variationType: string | undefined;
|
|
254
254
|
width: number;
|
|
255
255
|
height: number;
|
|
256
|
-
expiryDate?: string | undefined;
|
|
257
|
-
s3Token?: string | undefined;
|
|
258
|
-
logoTheme?: {
|
|
259
|
-
backgroundColors: string[];
|
|
260
|
-
textColors: string[];
|
|
261
|
-
textOpacities: number[];
|
|
262
|
-
textValues: any;
|
|
263
|
-
} | undefined;
|
|
264
256
|
}[];
|
|
265
257
|
logoTemplateMetadata: string;
|
|
266
258
|
isLogoDraftSaved: boolean;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { type ModifyLogoDataResponse } from '../../../clients/fabric-render-client';
|
|
2
|
-
import { type FabricLogoTheme } from '../../../brand-page';
|
|
3
2
|
export interface GradientObject {
|
|
4
3
|
type: string;
|
|
5
4
|
angle: number | undefined;
|
|
@@ -61,9 +60,6 @@ export interface EditableLogoVariation {
|
|
|
61
60
|
variationType: string | undefined;
|
|
62
61
|
width: number;
|
|
63
62
|
height: number;
|
|
64
|
-
expiryDate?: string;
|
|
65
|
-
s3Token?: string;
|
|
66
|
-
logoTheme?: FabricLogoTheme;
|
|
67
63
|
}
|
|
68
64
|
export interface EditableLogoState {
|
|
69
65
|
enableEditMode: boolean;
|
|
@@ -155,14 +151,6 @@ export declare const useUiEditableLogoStore: import("pinia").StoreDefinition<"ui
|
|
|
155
151
|
variationType: string | undefined;
|
|
156
152
|
width: number;
|
|
157
153
|
height: number;
|
|
158
|
-
expiryDate?: string | undefined;
|
|
159
|
-
s3Token?: string | undefined;
|
|
160
|
-
logoTheme?: {
|
|
161
|
-
backgroundColors: string[];
|
|
162
|
-
textColors: string[];
|
|
163
|
-
textOpacities: number[];
|
|
164
|
-
textValues: any;
|
|
165
|
-
} | undefined;
|
|
166
154
|
}[];
|
|
167
155
|
logoTemplateMetadata: string;
|
|
168
156
|
isLogoDraftSaved: boolean;
|
|
@@ -19,9 +19,6 @@ export const useUiEditableLogoStore = defineStore('uiEditableLogo', {
|
|
|
19
19
|
variationType: undefined,
|
|
20
20
|
width: 0,
|
|
21
21
|
height: 0,
|
|
22
|
-
expiryDate: undefined,
|
|
23
|
-
s3Token: undefined,
|
|
24
|
-
logoTheme: undefined,
|
|
25
22
|
},
|
|
26
23
|
{
|
|
27
24
|
variationId: LOGO_VARIATION.LOGO_WITH_BACKGROUND,
|
|
@@ -30,9 +27,6 @@ export const useUiEditableLogoStore = defineStore('uiEditableLogo', {
|
|
|
30
27
|
variationType: undefined,
|
|
31
28
|
width: 0,
|
|
32
29
|
height: 0,
|
|
33
|
-
expiryDate: undefined,
|
|
34
|
-
s3Token: undefined,
|
|
35
|
-
logoTheme: undefined,
|
|
36
30
|
},
|
|
37
31
|
{
|
|
38
32
|
variationId: LOGO_VARIATION.LOGO_ONLY_WITH_TRANSPARENT_BACKGROUND,
|
|
@@ -41,9 +35,6 @@ export const useUiEditableLogoStore = defineStore('uiEditableLogo', {
|
|
|
41
35
|
variationType: LOGO_VARIATION_TYPES.ICON_TRANSPARENT_BACKGROUND_ONLY,
|
|
42
36
|
width: 0,
|
|
43
37
|
height: 0,
|
|
44
|
-
expiryDate: undefined,
|
|
45
|
-
s3Token: undefined,
|
|
46
|
-
logoTheme: undefined,
|
|
47
38
|
},
|
|
48
39
|
{
|
|
49
40
|
variationId: LOGO_VARIATION.TEXT_ONLY_WITH_TRANSPARENT_BACKGROUND,
|
|
@@ -52,9 +43,6 @@ export const useUiEditableLogoStore = defineStore('uiEditableLogo', {
|
|
|
52
43
|
variationType: LOGO_VARIATION_TYPES.TEXT_TRANSPARENT_BACKGROUND_ONLY,
|
|
53
44
|
width: 0,
|
|
54
45
|
height: 0,
|
|
55
|
-
expiryDate: undefined,
|
|
56
|
-
s3Token: undefined,
|
|
57
|
-
logoTheme: undefined,
|
|
58
46
|
},
|
|
59
47
|
],
|
|
60
48
|
logoEdits: {
|
|
@@ -266,9 +254,6 @@ export const useUiEditableLogoStore = defineStore('uiEditableLogo', {
|
|
|
266
254
|
editableLogoVariation.base64 = result.base64;
|
|
267
255
|
editableLogoVariation.width = result.width;
|
|
268
256
|
editableLogoVariation.height = result.height;
|
|
269
|
-
editableLogoVariation.expiryDate = result.expiryDate;
|
|
270
|
-
editableLogoVariation.s3Token = result.s3Token;
|
|
271
|
-
editableLogoVariation.logoTheme = result.logoTheme;
|
|
272
257
|
return result;
|
|
273
258
|
},
|
|
274
259
|
getDraftMetadata(logoDraftToken) {
|
|
@@ -297,7 +282,6 @@ export const useUiEditableLogoStore = defineStore('uiEditableLogo', {
|
|
|
297
282
|
const logoStore = useLogoStore();
|
|
298
283
|
const body = {
|
|
299
284
|
returnJson: payload?.returnJson || false,
|
|
300
|
-
generateS3Url: true,
|
|
301
285
|
dimensionsType: payload?.dimensionType,
|
|
302
286
|
variation: payload?.variationType,
|
|
303
287
|
primaryText: payload?.defaultPrimaryText,
|
|
@@ -4191,14 +4191,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
4191
4191
|
variationType: string | undefined;
|
|
4192
4192
|
width: number;
|
|
4193
4193
|
height: number;
|
|
4194
|
-
expiryDate?: string | undefined;
|
|
4195
|
-
s3Token?: string | undefined;
|
|
4196
|
-
logoTheme?: {
|
|
4197
|
-
backgroundColors: string[];
|
|
4198
|
-
textColors: string[];
|
|
4199
|
-
textOpacities: number[];
|
|
4200
|
-
textValues: any;
|
|
4201
|
-
} | undefined;
|
|
4202
4194
|
}[];
|
|
4203
4195
|
logoTemplateMetadata: string;
|
|
4204
4196
|
isLogoDraftSaved: boolean;
|
|
@@ -3,12 +3,12 @@ import * as DesignTemplateClient from '../../../clients/design-template-client';
|
|
|
3
3
|
import {} from '../../../clients/models';
|
|
4
4
|
import { BP_DEFAULT_TEMPLATE_TYPE_NAME, SIDE_BAR_TAB_NAMES, } from '../../../brand-page-maker/constants';
|
|
5
5
|
import { defineStore, storeToRefs } from 'pinia';
|
|
6
|
-
import { useBrandPageContainerStore, useBrandPageMakerStore, useBrandPageMakerUserStore,
|
|
6
|
+
import { useBrandPageContainerStore, useBrandPageMakerStore, useBrandPageMakerUserStore, useUiStore, } from '../../../brand-page-maker/stores';
|
|
7
7
|
import { useUiSideBarStore } from '../../side-bar/store';
|
|
8
8
|
import { BrandPageModel } from '../../../brand-page/models';
|
|
9
9
|
import { migrateBrandPageModel } from '../../../brand-page/utils';
|
|
10
10
|
import { getAiContentIndexByTemplateTokenAndNumberOfVariations } from '../../../brand-page-maker/utils/ai-content-selection.util';
|
|
11
|
-
import {
|
|
11
|
+
import { useUiLogoSettingsStore } from '../../logo-settings/store';
|
|
12
12
|
import { templateSettingsTr, getCurrentLocale, } from '../../../composables/useTranslate';
|
|
13
13
|
import { watch } from 'vue';
|
|
14
14
|
export const DEFAULT_PAGE_SIZE = 6;
|
|
@@ -18,7 +18,8 @@ export const useUiTemplateSettingsStore = defineStore('uiTemplateSettings', {
|
|
|
18
18
|
const brandPageContainerStore = useBrandPageContainerStore();
|
|
19
19
|
const brandPageMakerUserStore = useBrandPageMakerUserStore();
|
|
20
20
|
// Set renderAsImage to true if not admin AND not pre-purchase
|
|
21
|
-
const renderAsImage = !brandPageMakerUserStore.isAdmin
|
|
21
|
+
const renderAsImage = !brandPageMakerUserStore.isAdmin &&
|
|
22
|
+
!brandPageContainerStore.isPrePurchase;
|
|
22
23
|
return {
|
|
23
24
|
isBusy: false,
|
|
24
25
|
pageCount: 0,
|
|
@@ -143,8 +144,6 @@ export const useUiTemplateSettingsStore = defineStore('uiTemplateSettings', {
|
|
|
143
144
|
const brandPageContainerStore = useBrandPageContainerStore();
|
|
144
145
|
const brandPageMakerUserStore = useBrandPageMakerUserStore();
|
|
145
146
|
const logoSettingsStore = useUiLogoSettingsStore();
|
|
146
|
-
const logoStore = useLogoStore();
|
|
147
|
-
const editableLogoStore = useUiEditableLogoStore();
|
|
148
147
|
const designTemplateToken = brandPageContainerStore.designTemplateToken;
|
|
149
148
|
if (brandPageMakerStore.isInitialising) {
|
|
150
149
|
setTimeout(() => {
|
|
@@ -169,10 +168,6 @@ export const useUiTemplateSettingsStore = defineStore('uiTemplateSettings', {
|
|
|
169
168
|
try {
|
|
170
169
|
const designTemplateClient = DesignTemplateClient.getInstance();
|
|
171
170
|
const currentLocale = getCurrentLocale();
|
|
172
|
-
const isByo = logoStore.logoTemplateAsset?.isByo ?? false;
|
|
173
|
-
const logoTemplateToken = logoStore.logoTemplateAsset?.token ?? undefined;
|
|
174
|
-
const logoVariation = logoSettingsStore.selectedLogoImage.logoVariation;
|
|
175
|
-
const editableLogoVariation = editableLogoStore.editableLogoVariations[logoVariation];
|
|
176
171
|
const result = await designTemplateClient.getTemplateItemsByTemplateType(this.templateType, {
|
|
177
172
|
page: pageNo,
|
|
178
173
|
pageSize: DEFAULT_PAGE_SIZE,
|
|
@@ -183,8 +178,6 @@ export const useUiTemplateSettingsStore = defineStore('uiTemplateSettings', {
|
|
|
183
178
|
personalisable: this.selectedTab.key === TEMPLATE_TABS.AI,
|
|
184
179
|
selectedTemplateToken: designTemplateToken,
|
|
185
180
|
locale: currentLocale,
|
|
186
|
-
logoS3Token: !isByo ? editableLogoVariation.s3Token : undefined,
|
|
187
|
-
logoTemplateToken: isByo ? logoTemplateToken : undefined,
|
|
188
181
|
});
|
|
189
182
|
if (!result) {
|
|
190
183
|
return;
|
|
@@ -192,7 +185,8 @@ export const useUiTemplateSettingsStore = defineStore('uiTemplateSettings', {
|
|
|
192
185
|
this._setPageCount({ pageCount: result.pageCount });
|
|
193
186
|
const templates = await Promise.all(result.paginatedItems.map(async (item) => {
|
|
194
187
|
try {
|
|
195
|
-
if (
|
|
188
|
+
if (brandPageContainerStore.isPrePurchase ||
|
|
189
|
+
brandPageMakerUserStore.isAdmin) {
|
|
196
190
|
// Pre-purchase: full template with brandPageModel for live rendering
|
|
197
191
|
const template = await designTemplateClient.getTemplateByTemplateToken(item.designTemplateToken);
|
|
198
192
|
return this.safeMapToTemplateSettingsTemplate(template);
|
|
@@ -251,15 +245,6 @@ export const useUiTemplateSettingsStore = defineStore('uiTemplateSettings', {
|
|
|
251
245
|
templateId: payload.templateId,
|
|
252
246
|
forceApply: payload.forceApply,
|
|
253
247
|
});
|
|
254
|
-
if (payload.forceApply) {
|
|
255
|
-
// When force applying, we need to also refresh the templates to reflect any changes
|
|
256
|
-
// due to the new logo S3 token after updating the logo
|
|
257
|
-
await this._setTemplates({
|
|
258
|
-
templates: [],
|
|
259
|
-
});
|
|
260
|
-
await this._setPageNoLoaded({ pageNoLoaded: 0 });
|
|
261
|
-
await this.loadPageNo({ pageNo: 1 });
|
|
262
|
-
}
|
|
263
248
|
},
|
|
264
249
|
async onCategorySelected(payload) {
|
|
265
250
|
await this._setTemplates({
|
|
@@ -334,11 +319,9 @@ export const useUiTemplateSettingsStore = defineStore('uiTemplateSettings', {
|
|
|
334
319
|
*/
|
|
335
320
|
setupLogoChangeWatcher() {
|
|
336
321
|
const logoSettingsStore = useUiLogoSettingsStore();
|
|
337
|
-
const editableLogoStore = useUiEditableLogoStore();
|
|
338
322
|
const brandPageContainerStore = useBrandPageContainerStore();
|
|
339
323
|
const brandPageMakerUserStore = useBrandPageMakerUserStore();
|
|
340
324
|
const { selectedLogoImage } = storeToRefs(logoSettingsStore);
|
|
341
|
-
const { editableLogoVariations } = storeToRefs(editableLogoStore);
|
|
342
325
|
// Watch for changes to logoImage (token or variation changes)
|
|
343
326
|
watch(() => selectedLogoImage.value, async (newLogoImage, oldLogoImage) => {
|
|
344
327
|
// Skip initial load when oldLogoImage is undefined
|
|
@@ -348,7 +331,8 @@ export const useUiTemplateSettingsStore = defineStore('uiTemplateSettings', {
|
|
|
348
331
|
// Only refetch for post-purchase users and when logo actually changes
|
|
349
332
|
const hasLogoChanged = newLogoImage.logoDraftToken !== oldLogoImage.logoDraftToken ||
|
|
350
333
|
newLogoImage.logoVariation !== oldLogoImage.logoVariation;
|
|
351
|
-
if (!
|
|
334
|
+
if (!brandPageContainerStore.isPrePurchase &&
|
|
335
|
+
!brandPageMakerUserStore.isAdmin &&
|
|
352
336
|
newLogoImage.logoDraftToken &&
|
|
353
337
|
hasLogoChanged) {
|
|
354
338
|
// Reset templates state and reload with new logo
|
|
@@ -359,21 +343,6 @@ export const useUiTemplateSettingsStore = defineStore('uiTemplateSettings', {
|
|
|
359
343
|
await this.loadPageNo({ pageNo: 1 });
|
|
360
344
|
}
|
|
361
345
|
}, { deep: true });
|
|
362
|
-
watch(() => editableLogoVariations.value[selectedLogoImage.value.logoVariation]
|
|
363
|
-
?.s3Token, async (newS3Token, oldS3Token) => {
|
|
364
|
-
if (!oldS3Token) {
|
|
365
|
-
return;
|
|
366
|
-
}
|
|
367
|
-
const hasLogoChanged = newS3Token !== oldS3Token;
|
|
368
|
-
if (!brandPageMakerUserStore.isAdmin && hasLogoChanged) {
|
|
369
|
-
// Reset templates state and reload with new logo
|
|
370
|
-
// Use the same pattern as onCategorySelected and onSearch
|
|
371
|
-
await this._setTemplates({ templates: [] });
|
|
372
|
-
await this._setPageNoLoaded({ pageNoLoaded: 0 });
|
|
373
|
-
await this._setPageNo({ pageNo: 1 });
|
|
374
|
-
await this.loadPageNo({ pageNo: 1 });
|
|
375
|
-
}
|
|
376
|
-
});
|
|
377
346
|
},
|
|
378
347
|
},
|
|
379
348
|
});
|
package/package.json
CHANGED
package/src/brand-page-maker/components/brand-page-maker/BrandPageMakerTemplateSettings.mixin.ts
CHANGED
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
DESKTOP_WIDTH,
|
|
5
5
|
MOBILE_HEIGHT,
|
|
6
6
|
MOBILE_WIDTH,
|
|
7
|
+
MOBILE_HEIGHT_POST_PURCHASE,
|
|
7
8
|
} from '../../constants';
|
|
8
9
|
import {
|
|
9
10
|
useBrandPageMakerStore,
|
|
@@ -35,7 +36,11 @@ export default defineComponent({
|
|
|
35
36
|
},
|
|
36
37
|
|
|
37
38
|
height(): number {
|
|
38
|
-
|
|
39
|
+
if (this.isBrandSite) {
|
|
40
|
+
return DESKTOP_HEIGHT;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return this.isPrePurchase ? MOBILE_HEIGHT : MOBILE_HEIGHT_POST_PURCHASE;
|
|
39
44
|
},
|
|
40
45
|
},
|
|
41
46
|
});
|
|
@@ -265,7 +265,7 @@ export default defineComponent({
|
|
|
265
265
|
},
|
|
266
266
|
watch: {
|
|
267
267
|
template() {
|
|
268
|
-
if (this.isAdmin) {
|
|
268
|
+
if (this.isAdmin || this.isPrePurchase) {
|
|
269
269
|
this.updateViewModel();
|
|
270
270
|
} else {
|
|
271
271
|
// Reset loading state when template changes for image-based previews
|
|
@@ -275,7 +275,7 @@ export default defineComponent({
|
|
|
275
275
|
},
|
|
276
276
|
logoTheme: {
|
|
277
277
|
handler() {
|
|
278
|
-
if (this.isAdmin) {
|
|
278
|
+
if (this.isAdmin || this.isPrePurchase) {
|
|
279
279
|
this.updateViewModel();
|
|
280
280
|
}
|
|
281
281
|
},
|
|
@@ -283,7 +283,7 @@ export default defineComponent({
|
|
|
283
283
|
},
|
|
284
284
|
previewImageUrl() {
|
|
285
285
|
// Reset loading state whenever the preview URL changes
|
|
286
|
-
if (!this.isAdmin) {
|
|
286
|
+
if (!this.isAdmin && !this.isPrePurchase) {
|
|
287
287
|
this.imageLoading = true;
|
|
288
288
|
this.imageLoadError = false;
|
|
289
289
|
}
|
|
@@ -353,7 +353,7 @@ export default defineComponent({
|
|
|
353
353
|
|
|
354
354
|
async updateViewModel(forceUpdate = true) {
|
|
355
355
|
// Only update view model for admin or pre-purchase mode
|
|
356
|
-
if (!this.isAdmin) {
|
|
356
|
+
if (!this.isAdmin && !this.isPrePurchase) {
|
|
357
357
|
return;
|
|
358
358
|
}
|
|
359
359
|
|
|
@@ -358,7 +358,6 @@ export const useBrandPageMakerStore = defineStore('brandPageMaker', {
|
|
|
358
358
|
const userStore = useBrandPageMakerUserStore();
|
|
359
359
|
const containerStore = useBrandPageContainerStore();
|
|
360
360
|
const uiContentSettings = useUiContentSettingsStore();
|
|
361
|
-
const editableLogoStore = useUiEditableLogoStore();
|
|
362
361
|
|
|
363
362
|
if (!this.selectedTemplateId) {
|
|
364
363
|
return;
|
|
@@ -410,19 +409,6 @@ export const useBrandPageMakerStore = defineStore('brandPageMaker', {
|
|
|
410
409
|
);
|
|
411
410
|
}
|
|
412
411
|
} else {
|
|
413
|
-
if (containerStore.isPrePurchase) {
|
|
414
|
-
const logoVariation =
|
|
415
|
-
logoSettingsStore.selectedLogoTemplateImage?.logoTemplateVersion ??
|
|
416
|
-
0;
|
|
417
|
-
const logoTheme =
|
|
418
|
-
editableLogoStore.editableLogoVariations[logoVariation]?.logoTheme;
|
|
419
|
-
|
|
420
|
-
if (logoTheme)
|
|
421
|
-
uiStore.setLogoTheme({
|
|
422
|
-
logoTheme: parseLogoThemeToCssStyles(logoTheme),
|
|
423
|
-
});
|
|
424
|
-
}
|
|
425
|
-
|
|
426
412
|
const logoImage =
|
|
427
413
|
logoUtil.safeGetLogoImageFromLogoImageUrl(logoImageUrl);
|
|
428
414
|
|
|
@@ -26,8 +26,6 @@ interface GetTemplatesAsyncOptions {
|
|
|
26
26
|
personalisable?: boolean;
|
|
27
27
|
selectedTemplateToken?: string | false;
|
|
28
28
|
locale?: string;
|
|
29
|
-
logoS3Token?: string;
|
|
30
|
-
logoTemplateToken?: string;
|
|
31
29
|
}
|
|
32
30
|
|
|
33
31
|
export const getTemplatesEndpoint = (templateTypeName: string) =>
|
|
@@ -31,7 +31,6 @@ export interface ModifyLogoDataRequest {
|
|
|
31
31
|
dimensionsType: string;
|
|
32
32
|
variation: string;
|
|
33
33
|
primaryText?: string;
|
|
34
|
-
generateS3Url?: boolean;
|
|
35
34
|
logo: {
|
|
36
35
|
template: {
|
|
37
36
|
token: string;
|
|
@@ -59,8 +58,6 @@ export interface ModifyLogoDataResponse {
|
|
|
59
58
|
metadata: string | null;
|
|
60
59
|
width: number;
|
|
61
60
|
height: number;
|
|
62
|
-
expiryDate?: string;
|
|
63
|
-
s3Token?: string;
|
|
64
61
|
}
|
|
65
62
|
|
|
66
63
|
export const LOGO_DIMENSION_TYPES = {
|
package/src/lib.ts
CHANGED
|
@@ -61,7 +61,6 @@ export type { CriticalResourceURLs } from './brand-page/utils/view-model.util';
|
|
|
61
61
|
export {
|
|
62
62
|
getOptimalLogoSize,
|
|
63
63
|
calculateOptimizedLogoDimensions,
|
|
64
|
-
applyLogoImageBase64UrlToBrandPageTemplateModel,
|
|
65
64
|
} from './brand-page/utils/logo.util';
|
|
66
65
|
export { sanitizeRTEHtml } from './brand-page-maker/utils';
|
|
67
66
|
export { getPageSlugFromPageTitle } from './brand-page-maker/utils/slug.util';
|
|
@@ -13,7 +13,6 @@ import {
|
|
|
13
13
|
VIEWPORTS,
|
|
14
14
|
type LogoContent,
|
|
15
15
|
LOGO_VARIATION,
|
|
16
|
-
type FabricLogoTheme,
|
|
17
16
|
} from '../../../brand-page';
|
|
18
17
|
import { PAGE_SECTIONS } from '../../../shared/page-settings/models';
|
|
19
18
|
|
|
@@ -102,9 +101,6 @@ export interface EditableLogoVariation {
|
|
|
102
101
|
variationType: string | undefined;
|
|
103
102
|
width: number;
|
|
104
103
|
height: number;
|
|
105
|
-
expiryDate?: string;
|
|
106
|
-
s3Token?: string;
|
|
107
|
-
logoTheme?: FabricLogoTheme;
|
|
108
104
|
}
|
|
109
105
|
|
|
110
106
|
export interface EditableLogoState {
|
|
@@ -137,9 +133,6 @@ export const useUiEditableLogoStore = defineStore('uiEditableLogo', {
|
|
|
137
133
|
variationType: undefined,
|
|
138
134
|
width: 0,
|
|
139
135
|
height: 0,
|
|
140
|
-
expiryDate: undefined,
|
|
141
|
-
s3Token: undefined,
|
|
142
|
-
logoTheme: undefined,
|
|
143
136
|
},
|
|
144
137
|
{
|
|
145
138
|
variationId: LOGO_VARIATION.LOGO_WITH_BACKGROUND,
|
|
@@ -148,9 +141,6 @@ export const useUiEditableLogoStore = defineStore('uiEditableLogo', {
|
|
|
148
141
|
variationType: undefined,
|
|
149
142
|
width: 0,
|
|
150
143
|
height: 0,
|
|
151
|
-
expiryDate: undefined,
|
|
152
|
-
s3Token: undefined,
|
|
153
|
-
logoTheme: undefined,
|
|
154
144
|
},
|
|
155
145
|
{
|
|
156
146
|
variationId: LOGO_VARIATION.LOGO_ONLY_WITH_TRANSPARENT_BACKGROUND,
|
|
@@ -159,9 +149,6 @@ export const useUiEditableLogoStore = defineStore('uiEditableLogo', {
|
|
|
159
149
|
variationType: LOGO_VARIATION_TYPES.ICON_TRANSPARENT_BACKGROUND_ONLY,
|
|
160
150
|
width: 0,
|
|
161
151
|
height: 0,
|
|
162
|
-
expiryDate: undefined,
|
|
163
|
-
s3Token: undefined,
|
|
164
|
-
logoTheme: undefined,
|
|
165
152
|
},
|
|
166
153
|
{
|
|
167
154
|
variationId: LOGO_VARIATION.TEXT_ONLY_WITH_TRANSPARENT_BACKGROUND,
|
|
@@ -170,9 +157,6 @@ export const useUiEditableLogoStore = defineStore('uiEditableLogo', {
|
|
|
170
157
|
variationType: LOGO_VARIATION_TYPES.TEXT_TRANSPARENT_BACKGROUND_ONLY,
|
|
171
158
|
width: 0,
|
|
172
159
|
height: 0,
|
|
173
|
-
expiryDate: undefined,
|
|
174
|
-
s3Token: undefined,
|
|
175
|
-
logoTheme: undefined,
|
|
176
160
|
},
|
|
177
161
|
],
|
|
178
162
|
logoEdits: {
|
|
@@ -467,9 +451,6 @@ export const useUiEditableLogoStore = defineStore('uiEditableLogo', {
|
|
|
467
451
|
editableLogoVariation.base64 = result.base64;
|
|
468
452
|
editableLogoVariation.width = result.width;
|
|
469
453
|
editableLogoVariation.height = result.height;
|
|
470
|
-
editableLogoVariation.expiryDate = result.expiryDate;
|
|
471
|
-
editableLogoVariation.s3Token = result.s3Token;
|
|
472
|
-
editableLogoVariation.logoTheme = result.logoTheme;
|
|
473
454
|
|
|
474
455
|
return result;
|
|
475
456
|
},
|
|
@@ -511,7 +492,6 @@ export const useUiEditableLogoStore = defineStore('uiEditableLogo', {
|
|
|
511
492
|
|
|
512
493
|
const body: ModifyLogoDataRequest = {
|
|
513
494
|
returnJson: payload?.returnJson || false,
|
|
514
|
-
generateS3Url: true,
|
|
515
495
|
dimensionsType: payload?.dimensionType,
|
|
516
496
|
variation: payload?.variationType,
|
|
517
497
|
primaryText: payload?.defaultPrimaryText,
|
|
@@ -21,17 +21,13 @@ import {
|
|
|
21
21
|
useBrandPageContainerStore,
|
|
22
22
|
useBrandPageMakerStore,
|
|
23
23
|
useBrandPageMakerUserStore,
|
|
24
|
-
useLogoStore,
|
|
25
24
|
useUiStore,
|
|
26
25
|
} from '../../../brand-page-maker/stores';
|
|
27
26
|
import { useUiSideBarStore } from '../../side-bar/store';
|
|
28
27
|
import { BrandPageModel } from '../../../brand-page/models';
|
|
29
28
|
import { migrateBrandPageModel } from '../../../brand-page/utils';
|
|
30
29
|
import { getAiContentIndexByTemplateTokenAndNumberOfVariations } from '../../../brand-page-maker/utils/ai-content-selection.util';
|
|
31
|
-
import {
|
|
32
|
-
useUiEditableLogoStore,
|
|
33
|
-
useUiLogoSettingsStore,
|
|
34
|
-
} from '../../logo-settings/store';
|
|
30
|
+
import { useUiLogoSettingsStore } from '../../logo-settings/store';
|
|
35
31
|
import {
|
|
36
32
|
templateSettingsTr,
|
|
37
33
|
getCurrentLocale,
|
|
@@ -70,7 +66,9 @@ export const useUiTemplateSettingsStore = defineStore('uiTemplateSettings', {
|
|
|
70
66
|
const brandPageMakerUserStore = useBrandPageMakerUserStore();
|
|
71
67
|
|
|
72
68
|
// Set renderAsImage to true if not admin AND not pre-purchase
|
|
73
|
-
const renderAsImage =
|
|
69
|
+
const renderAsImage =
|
|
70
|
+
!brandPageMakerUserStore.isAdmin &&
|
|
71
|
+
!brandPageContainerStore.isPrePurchase;
|
|
74
72
|
|
|
75
73
|
return {
|
|
76
74
|
isBusy: false,
|
|
@@ -235,8 +233,6 @@ export const useUiTemplateSettingsStore = defineStore('uiTemplateSettings', {
|
|
|
235
233
|
const brandPageContainerStore = useBrandPageContainerStore();
|
|
236
234
|
const brandPageMakerUserStore = useBrandPageMakerUserStore();
|
|
237
235
|
const logoSettingsStore = useUiLogoSettingsStore();
|
|
238
|
-
const logoStore = useLogoStore();
|
|
239
|
-
const editableLogoStore = useUiEditableLogoStore();
|
|
240
236
|
const designTemplateToken = brandPageContainerStore.designTemplateToken;
|
|
241
237
|
|
|
242
238
|
if (brandPageMakerStore.isInitialising) {
|
|
@@ -272,13 +268,6 @@ export const useUiTemplateSettingsStore = defineStore('uiTemplateSettings', {
|
|
|
272
268
|
|
|
273
269
|
const currentLocale = getCurrentLocale();
|
|
274
270
|
|
|
275
|
-
const isByo = logoStore.logoTemplateAsset?.isByo ?? false;
|
|
276
|
-
const logoTemplateToken =
|
|
277
|
-
logoStore.logoTemplateAsset?.token ?? undefined;
|
|
278
|
-
const logoVariation = logoSettingsStore.selectedLogoImage.logoVariation;
|
|
279
|
-
const editableLogoVariation =
|
|
280
|
-
editableLogoStore.editableLogoVariations[logoVariation];
|
|
281
|
-
|
|
282
271
|
const result =
|
|
283
272
|
await designTemplateClient.getTemplateItemsByTemplateType(
|
|
284
273
|
this.templateType,
|
|
@@ -293,8 +282,6 @@ export const useUiTemplateSettingsStore = defineStore('uiTemplateSettings', {
|
|
|
293
282
|
personalisable: this.selectedTab.key === TEMPLATE_TABS.AI,
|
|
294
283
|
selectedTemplateToken: designTemplateToken,
|
|
295
284
|
locale: currentLocale,
|
|
296
|
-
logoS3Token: !isByo ? editableLogoVariation.s3Token : undefined,
|
|
297
|
-
logoTemplateToken: isByo ? logoTemplateToken : undefined,
|
|
298
285
|
},
|
|
299
286
|
);
|
|
300
287
|
|
|
@@ -307,7 +294,10 @@ export const useUiTemplateSettingsStore = defineStore('uiTemplateSettings', {
|
|
|
307
294
|
const templates = await Promise.all(
|
|
308
295
|
result.paginatedItems.map(async (item) => {
|
|
309
296
|
try {
|
|
310
|
-
if (
|
|
297
|
+
if (
|
|
298
|
+
brandPageContainerStore.isPrePurchase ||
|
|
299
|
+
brandPageMakerUserStore.isAdmin
|
|
300
|
+
) {
|
|
311
301
|
// Pre-purchase: full template with brandPageModel for live rendering
|
|
312
302
|
const template =
|
|
313
303
|
await designTemplateClient.getTemplateByTemplateToken(
|
|
@@ -386,16 +376,6 @@ export const useUiTemplateSettingsStore = defineStore('uiTemplateSettings', {
|
|
|
386
376
|
templateId: payload.templateId,
|
|
387
377
|
forceApply: payload.forceApply,
|
|
388
378
|
});
|
|
389
|
-
|
|
390
|
-
if (payload.forceApply) {
|
|
391
|
-
// When force applying, we need to also refresh the templates to reflect any changes
|
|
392
|
-
// due to the new logo S3 token after updating the logo
|
|
393
|
-
await this._setTemplates({
|
|
394
|
-
templates: [],
|
|
395
|
-
});
|
|
396
|
-
await this._setPageNoLoaded({ pageNoLoaded: 0 });
|
|
397
|
-
await this.loadPageNo({ pageNo: 1 });
|
|
398
|
-
}
|
|
399
379
|
},
|
|
400
380
|
async onCategorySelected(payload: OnCategorySelectedPayload) {
|
|
401
381
|
await this._setTemplates({
|
|
@@ -479,11 +459,9 @@ export const useUiTemplateSettingsStore = defineStore('uiTemplateSettings', {
|
|
|
479
459
|
*/
|
|
480
460
|
setupLogoChangeWatcher() {
|
|
481
461
|
const logoSettingsStore = useUiLogoSettingsStore();
|
|
482
|
-
const editableLogoStore = useUiEditableLogoStore();
|
|
483
462
|
const brandPageContainerStore = useBrandPageContainerStore();
|
|
484
463
|
const brandPageMakerUserStore = useBrandPageMakerUserStore();
|
|
485
464
|
const { selectedLogoImage } = storeToRefs(logoSettingsStore);
|
|
486
|
-
const { editableLogoVariations } = storeToRefs(editableLogoStore);
|
|
487
465
|
|
|
488
466
|
// Watch for changes to logoImage (token or variation changes)
|
|
489
467
|
watch(
|
|
@@ -500,6 +478,7 @@ export const useUiTemplateSettingsStore = defineStore('uiTemplateSettings', {
|
|
|
500
478
|
newLogoImage.logoVariation !== oldLogoImage.logoVariation;
|
|
501
479
|
|
|
502
480
|
if (
|
|
481
|
+
!brandPageContainerStore.isPrePurchase &&
|
|
503
482
|
!brandPageMakerUserStore.isAdmin &&
|
|
504
483
|
newLogoImage.logoDraftToken &&
|
|
505
484
|
hasLogoChanged
|
|
@@ -514,28 +493,6 @@ export const useUiTemplateSettingsStore = defineStore('uiTemplateSettings', {
|
|
|
514
493
|
},
|
|
515
494
|
{ deep: true },
|
|
516
495
|
);
|
|
517
|
-
|
|
518
|
-
watch(
|
|
519
|
-
() =>
|
|
520
|
-
editableLogoVariations.value[selectedLogoImage.value.logoVariation]
|
|
521
|
-
?.s3Token,
|
|
522
|
-
async (newS3Token, oldS3Token) => {
|
|
523
|
-
if (!oldS3Token) {
|
|
524
|
-
return;
|
|
525
|
-
}
|
|
526
|
-
|
|
527
|
-
const hasLogoChanged = newS3Token !== oldS3Token;
|
|
528
|
-
|
|
529
|
-
if (!brandPageMakerUserStore.isAdmin && hasLogoChanged) {
|
|
530
|
-
// Reset templates state and reload with new logo
|
|
531
|
-
// Use the same pattern as onCategorySelected and onSearch
|
|
532
|
-
await this._setTemplates({ templates: [] });
|
|
533
|
-
await this._setPageNoLoaded({ pageNoLoaded: 0 });
|
|
534
|
-
await this._setPageNo({ pageNo: 1 });
|
|
535
|
-
await this.loadPageNo({ pageNo: 1 });
|
|
536
|
-
}
|
|
537
|
-
},
|
|
538
|
-
);
|
|
539
496
|
},
|
|
540
497
|
},
|
|
541
498
|
});
|