simpo-component-library 3.6.327 → 3.6.328

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.
Files changed (29) hide show
  1. package/esm2022/lib/elements/editor-service.service.mjs +31 -6
  2. package/fesm2022/simpo-component-library.mjs +29 -5
  3. package/fesm2022/simpo-component-library.mjs.map +1 -1
  4. package/lib/directive/background-directive.d.ts +1 -1
  5. package/lib/directive/button-directive.directive.d.ts +1 -1
  6. package/lib/directive/color.directive.d.ts +1 -1
  7. package/lib/ecommerce/sections/authentication-required/authentication-required.component.d.ts +1 -1
  8. package/lib/ecommerce/sections/new-collection/new-collection.component.d.ts +1 -1
  9. package/lib/ecommerce/sections/product-desc/product-desc.component.d.ts +2 -2
  10. package/lib/ecommerce/sections/product-list/product-list.component.d.ts +1 -1
  11. package/lib/ecommerce/sections/schemes/schemes.component.d.ts +1 -1
  12. package/lib/ecommerce/sections/store-list/store-list.component.d.ts +1 -1
  13. package/lib/ecommerce/sections/store-page/store-page.component.d.ts +1 -1
  14. package/lib/elements/editor-service.service.d.ts +2 -1
  15. package/lib/elements/pricing-s1/pricing-s1.component.d.ts +1 -1
  16. package/lib/sections/banner-carousel/banner-carousel.component.d.ts +3 -3
  17. package/lib/sections/banner-grid-section/banner-grid-section.component.d.ts +1 -1
  18. package/lib/sections/carousel-banner/carousel-banner.component.d.ts +1 -1
  19. package/lib/sections/contact-us/contact-us.component.d.ts +2 -2
  20. package/lib/sections/faq-section/faq-section.component.d.ts +1 -1
  21. package/lib/sections/header-section/header-section.component.d.ts +1 -1
  22. package/lib/sections/image-section/image-section.component.d.ts +2 -2
  23. package/lib/sections/logo-showcase/logo-showcase.component.d.ts +1 -1
  24. package/lib/sections/moving-text/moving-text.component.d.ts +1 -1
  25. package/lib/sections/new-testimonials/new-testimonials.component.d.ts +1 -1
  26. package/lib/sections/pricing-section/pricing-section.component.d.ts +2 -2
  27. package/package.json +1 -1
  28. package/simpo-component-library-3.6.328.tgz +0 -0
  29. package/simpo-component-library-3.6.327.tgz +0 -0
@@ -1,18 +1,22 @@
1
- import { Inject, Injectable } from '@angular/core';
1
+ import { Inject, Injectable, PLATFORM_ID } from '@angular/core';
2
2
  import { API_URL, CMIS_URL } from '../tokens/api-token';
3
3
  import { map } from 'rxjs';
4
4
  import { Category } from '../ecommerce/styles/category.modal';
5
5
  import { Collection } from '../ecommerce/styles/Collection.modal';
6
+ import { isPlatformBrowser } from '@angular/common';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "@angular/common/http";
8
9
  // import { Category, Collection } from '../../public-api';
9
10
  // import { MatDialog } from '@angular/material/dialog';
10
11
  export class ElementServiceService {
11
12
  // private BASE_URL: string = "https://dev-api.simpo.ai/";
12
- constructor(http, BASE_URL, CMIS_URL) {
13
+ constructor(http, BASE_URL, CMIS_URL, platformId
14
+ // public dialog: MatDialog
15
+ ) {
13
16
  this.http = http;
14
17
  this.BASE_URL = BASE_URL;
15
18
  this.CMIS_URL = CMIS_URL;
19
+ this.platformId = platformId;
16
20
  }
17
21
  openSocialBrand(componentName, height, width, data) {
18
22
  // return this.dialog.open(componentName, {
@@ -35,8 +39,26 @@ export class ElementServiceService {
35
39
  return this.http.post(this.BASE_URL + `admin/library/image/library/save`, mediaRequest);
36
40
  }
37
41
  getTemplate() {
38
- let templateId = JSON.parse(JSON.parse(JSON.stringify(localStorage.getItem('bDetails'))))?.templateId;
39
- return this.http.get(this.BASE_URL + `business/v3/website/${templateId}/pages/list`);
42
+ let templateId = null;
43
+ if (isPlatformBrowser(this.platformId)) {
44
+ // ✅ Only access localStorage on the browser
45
+ try {
46
+ const bDetails = localStorage.getItem('bDetails');
47
+ templateId = bDetails ? JSON.parse(bDetails)?.templateId : null;
48
+ }
49
+ catch (e) {
50
+ console.warn('[ElementService] Failed to parse bDetails from localStorage', e);
51
+ }
52
+ }
53
+ else {
54
+ // ✅ On server, you can either skip or provide a fallback
55
+ console.warn('[SSR] getTemplate() called but localStorage is not available');
56
+ }
57
+ if (!templateId) {
58
+ // optional: return empty observable to avoid HTTP error
59
+ return this.http.get(this.BASE_URL + `business/v3/website/default/pages/list`);
60
+ }
61
+ return this.http.get(`${this.BASE_URL}business/v3/website/${templateId}/pages/list`);
40
62
  }
41
63
  getAllVehicleTypes(data) {
42
64
  return this.http.put(this.CMIS_URL + `crm/get/vehicle-type`, data);
@@ -64,7 +86,7 @@ export class ElementServiceService {
64
86
  };
65
87
  return this.http.put(this.BASE_URL + 'ecommerce/inventory/get/collection', payload).pipe(map((response) => response.data.data?.map((collection) => new Collection(collection))));
66
88
  }
67
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElementServiceService, deps: [{ token: i1.HttpClient }, { token: API_URL }, { token: CMIS_URL }], target: i0.ɵɵFactoryTarget.Injectable }); }
89
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElementServiceService, deps: [{ token: i1.HttpClient }, { token: API_URL }, { token: CMIS_URL }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
68
90
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElementServiceService, providedIn: 'root' }); }
69
91
  }
70
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElementServiceService, decorators: [{
@@ -78,5 +100,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
78
100
  }] }, { type: undefined, decorators: [{
79
101
  type: Inject,
80
102
  args: [CMIS_URL]
103
+ }] }, { type: Object, decorators: [{
104
+ type: Inject,
105
+ args: [PLATFORM_ID]
81
106
  }] }] });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLXNlcnZpY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZWxlbWVudHMvZWRpdG9yLXNlcnZpY2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0IsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7O0FBQ2xFLDJEQUEyRDtBQUMzRCx3REFBd0Q7QUFLeEQsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQywwREFBMEQ7SUFHMUQsWUFBb0IsSUFBZ0IsRUFBMkIsUUFBZ0IsRUFDbkQsUUFBZ0I7UUFEeEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUEyQixhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ25ELGFBQVEsR0FBUixRQUFRLENBQVE7SUFFeEMsQ0FBQztJQUVMLGVBQWUsQ0FBQyxhQUFrQixFQUFFLE1BQVcsRUFBRSxLQUFVLEVBQUUsSUFBUztRQUNwRSwyQ0FBMkM7UUFDM0Msb0JBQW9CO1FBQ3BCLGtCQUFrQjtRQUNsQixlQUFlO1FBRWYsTUFBTTtJQUNSLENBQUM7SUFFRCxlQUFlLENBQUMsWUFBc0M7UUFDcEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLDJDQUEyQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUNySCxDQUFDO0lBRUQsY0FBYyxDQUFDLE9B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QUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxvQ0FBb0MsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxVQUFlLEVBQUUsRUFBRSxDQUFDLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdMLENBQUM7K0dBdkZVLHFCQUFxQiw0Q0FLYyxPQUFPLGFBQzNDLFFBQVE7bUhBTlAscUJBQXFCLGNBRnBCLE1BQU07OzRGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU13QyxNQUFNOzJCQUFDLE9BQU87OzBCQUNsRCxNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBUElfVVJMLCBDTUlTX1VSTCB9IGZyb20gJy4uL3Rva2Vucy9hcGktdG9rZW4nO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDYXRlZ29yeSB9IGZyb20gJy4uL2Vjb21tZXJjZS9zdHlsZXMvY2F0ZWdvcnkubW9kYWwnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uL2Vjb21tZXJjZS9zdHlsZXMvQ29sbGVjdGlvbi5tb2RhbCc7XG4vLyBpbXBvcnQgeyBDYXRlZ29yeSwgQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL3B1YmxpYy1hcGknO1xuLy8gaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRWxlbWVudFNlcnZpY2VTZXJ2aWNlIHtcblxuICAvLyBwcml2YXRlIEJBU0VfVVJMOiBzdHJpbmcgPSBcImh0dHBzOi8vZGV2LWFwaS5zaW1wby5haS9cIjtcblxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgQEluamVjdChBUElfVVJMKSBwcml2YXRlIEJBU0VfVVJMOiBzdHJpbmcsXG4gICAgQEluamVjdChDTUlTX1VSTCkgcHJpdmF0ZSBDTUlTX1VSTDogc3RyaW5nLFxuICAgIC8vIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZ1xuICApIHsgfVxuXG4gIG9wZW5Tb2NpYWxCcmFuZChjb21wb25lbnROYW1lOiBhbnksIGhlaWdodDogYW55LCB3aWR0aDogYW55LCBkYXRhOiBhbnkpIHtcbiAgICAvLyByZXR1cm4gdGhpcy5kaWFsb2cub3Blbihjb21wb25lbnROYW1lLCB7XG4gICAgLy8gICBoZWlnaHQ6IGhlaWdodCxcbiAgICAvLyAgIHdpZHRoOiB3aWR0aCxcbiAgICAvLyAgIGRhdGE6ZGF0YSxcblxuICAgIC8vIH0pO1xuICB9XG5cbiAgZ2V0Q29tcG9uZW50QXBpKGJ1c2luZXNzVHlwZT86ICdTVEFUSUMnIHwgJ0VfQ09NTUVSQ0UnKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5CQVNFX1VSTH1hZG1pbi9tYXN0ZXIvdGVtcGxhdGUvY2F0ZWdvcnkvYWxsP3R5cGU9JHtidXNpbmVzc1R5cGUgPyBidXNpbmVzc1R5cGUgOiAnJ31gKVxuICB9XG5cbiAgcmVnZW5lcmF0ZVRleHQocmVxdWVzdDogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxuICAgICAgdGhpcy5CQVNFX1VSTCArIGBhZG1pbi9jb250ZW50L3N1Z2dlc3QvdjIvd2Vic2l0ZS9pbmRpdmlkdWFsYCwgcmVxdWVzdFxuICAgIClcbiAgfVxuICBnZXRJbWFnZUxpYnJhcnkoKSB7XG4gICAgY29uc3QgYnVzaW5lc3NJZCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdidXNpbmVzc0lkJylcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChcbiAgICAgIHRoaXMuQkFTRV9VUkwgKyBgYWRtaW4vbGlicmFyeS9pbWFnZS9saWJyYXJ5L2xpc3QvcGFnZWQ/YnVzaW5lc3NJZD0ke2J1c2luZXNzSWR9JnBhZ2VObz0wJnNpemU9MTBgXG4gICAgKVxuICB9XG5cbiAgc2F2ZUltYWdlc1RvQnVzaW5lc3NMaWJyYXJ5KG1lZGlhUmVxdWVzdDogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxuICAgICAgdGhpcy5CQVNFX1VSTCArIGBhZG1pbi9saWJyYXJ5L2ltYWdlL2xpYnJhcnkvc2F2ZWAsXG4gICAgICBtZWRpYVJlcXVlc3RcbiAgICApO1xuICB9XG5cbiAgZ2V0VGVtcGxhdGUoKSB7XG4gICAgbGV0IHRlbXBsYXRlSWQgPSBKU09OLnBhcnNlKEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2JEZXRhaWxzJykpKSk/LnRlbXBsYXRlSWQ7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXG4gICAgICB0aGlzLkJBU0VfVVJMICsgYGJ1c2luZXNzL3YzL3dlYnNpdGUvJHt0ZW1wbGF0ZUlkfS9wYWdlcy9saXN0YFxuICAgIClcbiAgfVxuXG4gIGdldEFsbFZlaGljbGVUeXBlcyhkYXRhOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChcbiAgICAgIHRoaXMuQ01JU19VUkwgKyBgY3JtL2dldC92ZWhpY2xlLXR5cGVgLCBkYXRhXG4gICAgKVxuICB9XG5cbiAgZ2V0QWxsQ29tYm9zKGRhdGE6IGFueSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KFxuICAgICAgdGhpcy5DTUlTX1VSTCArIGBjcm0vY29tYm8vZmlsdGVyYCwgZGF0YVxuICAgIClcbiAgfVxuXG4gIGdldEFsbFN0b3BzKGJJZDogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXG4gICAgICB0aGlzLkNNSVNfVVJMICsgYGNybS9zdG9wcy8ke2JJZH0/cGFnZU5vPTAmc2l6ZT0xMCZpc1BhZ2luYXRpb249ZmFsc2VgXG4gICAgKVxuICB9XG5cbiAgZ2V0VmVoaWNsZVJvdXRlcyhzdG9wSWQ6IGFueSwgdHlwZUlkOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChcbiAgICAgIHRoaXMuQ01JU19VUkwgKyBgY3JtL3ZlaGljbGUtcm91dGUvJHtzdG9wSWR9L3ZlaGljbGUvJHt0eXBlSWR9YFxuICAgIClcbiAgfVxuXG4gIGdldEFsbENhdGVnb3JpZXMoKSB7XG5cbiAgICBjb25zdCBidXNpbmVzc0lkOiBzdHJpbmcgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJJZFwiKSA/PyBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImJ1c2luZXNzSWRcIikgPz8gXCJcIjtcbiAgICBjb25zdCBzdWJJbmR1c3RyeUlkOiBzdHJpbmcgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInN1YkluZHVzdHJ5SWRcIikgPz8gXCJcIjtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLkJBU0VfVVJMICsgYGVjb21tZXJjZS9pbnZlbnRvcnkvZmVhdHVyZWQ/YnVzaW5lc3NJZD0ke2J1c2luZXNzSWR9JnN1YklkPSR7c3ViSW5kdXN0cnlJZH1gKS5waXBlKG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UuZGF0YT8ubWFwKChjYXRlZ29yeTogYW55KSA9PiBuZXcgQ2F0ZWdvcnkoY2F0ZWdvcnkpKSkpO1xuICB9XG4gIGdldEFsbENvbGxlY3Rpb25zKCkge1xuICAgIGNvbnN0IHBheWxvYWQ6IGFueSA9IHtcbiAgICAgIHBhZ2VObzogMCxcbiAgICAgIHBhZ2VTaXplOiAxMCxcbiAgICAgIHJlcXVlc3Q6IFwiVVNFUlwiLFxuICAgICAgYnVzaW5lc3NJZDogbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJiSWRcIikgPz8gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJidXNpbmVzc0lkXCIpXG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KHRoaXMuQkFTRV9VUkwgKyAnZWNvbW1lcmNlL2ludmVudG9yeS9nZXQvY29sbGVjdGlvbicsIHBheWxvYWQpLnBpcGUobWFwKChyZXNwb25zZTogYW55KSA9PiByZXNwb25zZS5kYXRhLmRhdGE/Lm1hcCgoY29sbGVjdGlvbjogYW55KSA9PiBuZXcgQ29sbGVjdGlvbihjb2xsZWN0aW9uKSkpKTtcbiAgfVxuXG59XG4iXX0=
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLXNlcnZpY2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZWxlbWVudHMvZWRpdG9yLXNlcnZpY2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUNwRCwyREFBMkQ7QUFDM0Qsd0RBQXdEO0FBS3hELE1BQU0sT0FBTyxxQkFBcUI7SUFFaEMsMERBQTBEO0lBRzFELFlBQW9CLElBQWdCLEVBQTJCLFFBQWdCLEVBQ25ELFFBQWdCLEVBQ1gsVUFBa0I7SUFDakQsMkJBQTJCOztRQUhULFNBQUksR0FBSixJQUFJLENBQVk7UUFBMkIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUNuRCxhQUFRLEdBQVIsUUFBUSxDQUFRO1FBQ1gsZUFBVSxHQUFWLFVBQVUsQ0FBUTtJQUUvQyxDQUFDO0lBRUwsZUFBZSxDQUFDLGFBQWtCLEVBQUUsTUFBVyxFQUFFLEtBQVUsRUFBRSxJQUFTO1FBQ3BFLDJDQUEyQztRQUMzQyxvQkFBb0I7UUFDcEIsa0JBQWtCO1FBQ2xCLGVBQWU7UUFFZixNQUFNO0lBQ1IsQ0FBQztJQUVELGVBQWUsQ0FBQyxZQUFzQztRQUNwRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxD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QkFNd0MsTUFBTTsyQkFBQyxPQUFPOzswQkFDbEQsTUFBTTsyQkFBQyxRQUFROzswQkFDYixNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVBJX1VSTCwgQ01JU19VUkwgfSBmcm9tICcuLi90b2tlbnMvYXBpLXRva2VuJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2F0ZWdvcnkgfSBmcm9tICcuLi9lY29tbWVyY2Uvc3R5bGVzL2NhdGVnb3J5Lm1vZGFsJztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi9lY29tbWVyY2Uvc3R5bGVzL0NvbGxlY3Rpb24ubW9kYWwnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuLy8gaW1wb3J0IHsgQ2F0ZWdvcnksIENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9wdWJsaWMtYXBpJztcbi8vIGltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEVsZW1lbnRTZXJ2aWNlU2VydmljZSB7XG5cbiAgLy8gcHJpdmF0ZSBCQVNFX1VSTDogc3RyaW5nID0gXCJodHRwczovL2Rldi1hcGkuc2ltcG8uYWkvXCI7XG5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIEBJbmplY3QoQVBJX1VSTCkgcHJpdmF0ZSBCQVNFX1VSTDogc3RyaW5nLFxuICAgIEBJbmplY3QoQ01JU19VUkwpIHByaXZhdGUgQ01JU19VUkw6IHN0cmluZyxcbiAgICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogT2JqZWN0XG4gICAgLy8gcHVibGljIGRpYWxvZzogTWF0RGlhbG9nXG4gICkgeyB9XG5cbiAgb3BlblNvY2lhbEJyYW5kKGNvbXBvbmVudE5hbWU6IGFueSwgaGVpZ2h0OiBhbnksIHdpZHRoOiBhbnksIGRhdGE6IGFueSkge1xuICAgIC8vIHJldHVybiB0aGlzLmRpYWxvZy5vcGVuKGNvbXBvbmVudE5hbWUsIHtcbiAgICAvLyAgIGhlaWdodDogaGVpZ2h0LFxuICAgIC8vICAgd2lkdGg6IHdpZHRoLFxuICAgIC8vICAgZGF0YTpkYXRhLFxuXG4gICAgLy8gfSk7XG4gIH1cblxuICBnZXRDb21wb25lbnRBcGkoYnVzaW5lc3NUeXBlPzogJ1NUQVRJQycgfCAnRV9DT01NRVJDRScpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLkJBU0VfVVJMfWFkbWluL21hc3Rlci90ZW1wbGF0ZS9jYXRlZ29yeS9hbGw/dHlwZT0ke2J1c2luZXNzVHlwZSA/IGJ1c2luZXNzVHlwZSA6ICcnfWApXG4gIH1cblxuICByZWdlbmVyYXRlVGV4dChyZXF1ZXN0OiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoXG4gICAgICB0aGlzLkJBU0VfVVJMICsgYGFkbWluL2NvbnRlbnQvc3VnZ2VzdC92Mi93ZWJzaXRlL2luZGl2aWR1YWxgLCByZXF1ZXN0XG4gICAgKVxuICB9XG4gIGdldEltYWdlTGlicmFyeSgpIHtcbiAgICBjb25zdCBidXNpbmVzc0lkID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2J1c2luZXNzSWQnKVxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxuICAgICAgdGhpcy5CQVNFX1VSTCArIGBhZG1pbi9saWJyYXJ5L2ltYWdlL2xpYnJhcnkvbGlzdC9wYWdlZD9idXNpbmVzc0lkPSR7YnVzaW5lc3NJZH0mcGFnZU5vPTAmc2l6ZT0xMGBcbiAgICApXG4gIH1cblxuICBzYXZlSW1hZ2VzVG9CdXNpbmVzc0xpYnJhcnkobWVkaWFSZXF1ZXN0OiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoXG4gICAgICB0aGlzLkJBU0VfVVJMICsgYGFkbWluL2xpYnJhcnkvaW1hZ2UvbGlicmFyeS9zYXZlYCxcbiAgICAgIG1lZGlhUmVxdWVzdFxuICAgICk7XG4gIH1cblxuICAgZ2V0VGVtcGxhdGUoKSB7XG4gICAgbGV0IHRlbXBsYXRlSWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgIC8vIOKchSBPbmx5IGFjY2VzcyBsb2NhbFN0b3JhZ2Ugb24gdGhlIGJyb3dzZXJcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGJEZXRhaWxzID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2JEZXRhaWxzJyk7XG4gICAgICAgIHRlbXBsYXRlSWQgPSBiRGV0YWlscyA/IEpTT04ucGFyc2UoYkRldGFpbHMpPy50ZW1wbGF0ZUlkIDogbnVsbDtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdbRWxlbWVudFNlcnZpY2VdIEZhaWxlZCB0byBwYXJzZSBiRGV0YWlscyBmcm9tIGxvY2FsU3RvcmFnZScsIGUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyDinIUgT24gc2VydmVyLCB5b3UgY2FuIGVpdGhlciBza2lwIG9yIHByb3ZpZGUgYSBmYWxsYmFja1xuICAgICAgY29uc29sZS53YXJuKCdbU1NSXSBnZXRUZW1wbGF0ZSgpIGNhbGxlZCBidXQgbG9jYWxTdG9yYWdlIGlzIG5vdCBhdmFpbGFibGUnKTtcbiAgICB9XG5cbiAgICBpZiAoIXRlbXBsYXRlSWQpIHtcbiAgICAgIC8vIG9wdGlvbmFsOiByZXR1cm4gZW1wdHkgb2JzZXJ2YWJsZSB0byBhdm9pZCBIVFRQIGVycm9yXG4gICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLkJBU0VfVVJMICsgYGJ1c2luZXNzL3YzL3dlYnNpdGUvZGVmYXVsdC9wYWdlcy9saXN0YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXG4gICAgICBgJHt0aGlzLkJBU0VfVVJMfWJ1c2luZXNzL3YzL3dlYnNpdGUvJHt0ZW1wbGF0ZUlkfS9wYWdlcy9saXN0YFxuICAgICk7XG4gIH1cblxuICBnZXRBbGxWZWhpY2xlVHlwZXMoZGF0YTogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoXG4gICAgICB0aGlzLkNNSVNfVVJMICsgYGNybS9nZXQvdmVoaWNsZS10eXBlYCwgZGF0YVxuICAgIClcbiAgfVxuXG4gIGdldEFsbENvbWJvcyhkYXRhOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChcbiAgICAgIHRoaXMuQ01JU19VUkwgKyBgY3JtL2NvbWJvL2ZpbHRlcmAsIGRhdGFcbiAgICApXG4gIH1cblxuICBnZXRBbGxTdG9wcyhiSWQ6IGFueSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxuICAgICAgdGhpcy5DTUlTX1VSTCArIGBjcm0vc3RvcHMvJHtiSWR9P3BhZ2VObz0wJnNpemU9MTAmaXNQYWdpbmF0aW9uPWZhbHNlYFxuICAgIClcbiAgfVxuXG4gIGdldFZlaGljbGVSb3V0ZXMoc3RvcElkOiBhbnksIHR5cGVJZDogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXG4gICAgICB0aGlzLkNNSVNfVVJMICsgYGNybS92ZWhpY2xlLXJvdXRlLyR7c3RvcElkfS92ZWhpY2xlLyR7dHlwZUlkfWBcbiAgICApXG4gIH1cblxuICBnZXRBbGxDYXRlZ29yaWVzKCkge1xuXG4gICAgY29uc3QgYnVzaW5lc3NJZDogc3RyaW5nID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJiSWRcIikgPz8gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJidXNpbmVzc0lkXCIpID8/IFwiXCI7XG4gICAgY29uc3Qgc3ViSW5kdXN0cnlJZDogc3RyaW5nID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJzdWJJbmR1c3RyeUlkXCIpID8/IFwiXCI7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodGhpcy5CQVNFX1VSTCArIGBlY29tbWVyY2UvaW52ZW50b3J5L2ZlYXR1cmVkP2J1c2luZXNzSWQ9JHtidXNpbmVzc0lkfSZzdWJJZD0ke3N1YkluZHVzdHJ5SWR9YCkucGlwZShtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlLmRhdGE/Lm1hcCgoY2F0ZWdvcnk6IGFueSkgPT4gbmV3IENhdGVnb3J5KGNhdGVnb3J5KSkpKTtcbiAgfVxuICBnZXRBbGxDb2xsZWN0aW9ucygpIHtcbiAgICBjb25zdCBwYXlsb2FkOiBhbnkgPSB7XG4gICAgICBwYWdlTm86IDAsXG4gICAgICBwYWdlU2l6ZTogMTAsXG4gICAgICByZXF1ZXN0OiBcIlVTRVJcIixcbiAgICAgIGJ1c2luZXNzSWQ6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYklkXCIpID8/IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYnVzaW5lc3NJZFwiKVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dCh0aGlzLkJBU0VfVVJMICsgJ2Vjb21tZXJjZS9pbnZlbnRvcnkvZ2V0L2NvbGxlY3Rpb24nLCBwYXlsb2FkKS5waXBlKG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UuZGF0YS5kYXRhPy5tYXAoKGNvbGxlY3Rpb246IGFueSkgPT4gbmV3IENvbGxlY3Rpb24oY29sbGVjdGlvbikpKSk7XG4gIH1cblxufVxuIl19
@@ -1,7 +1,7 @@
1
1
  import * as i4 from '@angular/common';
2
2
  import { CommonModule, isPlatformBrowser, NgStyle, NgFor, NgIf } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Component, Input, EventEmitter, Injectable, Directive, HostListener, InjectionToken, Inject, ViewChild, ElementRef, Renderer2, forwardRef, PLATFORM_ID, Output, Pipe, Optional, NgModule } from '@angular/core';
4
+ import { Component, Input, EventEmitter, Injectable, Directive, HostListener, InjectionToken, Inject, PLATFORM_ID, ViewChild, ElementRef, Renderer2, forwardRef, Output, Pipe, Optional, NgModule } from '@angular/core';
5
5
  import { MatGridListModule } from '@angular/material/grid-list';
6
6
  import * as i2 from '@angular/material/button';
7
7
  import { MatButtonModule } from '@angular/material/button';
@@ -906,10 +906,13 @@ class Collection extends BaseCollection {
906
906
  // import { MatDialog } from '@angular/material/dialog';
907
907
  class ElementServiceService {
908
908
  // private BASE_URL: string = "https://dev-api.simpo.ai/";
909
- constructor(http, BASE_URL, CMIS_URL) {
909
+ constructor(http, BASE_URL, CMIS_URL, platformId
910
+ // public dialog: MatDialog
911
+ ) {
910
912
  this.http = http;
911
913
  this.BASE_URL = BASE_URL;
912
914
  this.CMIS_URL = CMIS_URL;
915
+ this.platformId = platformId;
913
916
  }
914
917
  openSocialBrand(componentName, height, width, data) {
915
918
  // return this.dialog.open(componentName, {
@@ -932,8 +935,26 @@ class ElementServiceService {
932
935
  return this.http.post(this.BASE_URL + `admin/library/image/library/save`, mediaRequest);
933
936
  }
934
937
  getTemplate() {
935
- let templateId = JSON.parse(JSON.parse(JSON.stringify(localStorage.getItem('bDetails'))))?.templateId;
936
- return this.http.get(this.BASE_URL + `business/v3/website/${templateId}/pages/list`);
938
+ let templateId = null;
939
+ if (isPlatformBrowser(this.platformId)) {
940
+ // ✅ Only access localStorage on the browser
941
+ try {
942
+ const bDetails = localStorage.getItem('bDetails');
943
+ templateId = bDetails ? JSON.parse(bDetails)?.templateId : null;
944
+ }
945
+ catch (e) {
946
+ console.warn('[ElementService] Failed to parse bDetails from localStorage', e);
947
+ }
948
+ }
949
+ else {
950
+ // ✅ On server, you can either skip or provide a fallback
951
+ console.warn('[SSR] getTemplate() called but localStorage is not available');
952
+ }
953
+ if (!templateId) {
954
+ // optional: return empty observable to avoid HTTP error
955
+ return this.http.get(this.BASE_URL + `business/v3/website/default/pages/list`);
956
+ }
957
+ return this.http.get(`${this.BASE_URL}business/v3/website/${templateId}/pages/list`);
937
958
  }
938
959
  getAllVehicleTypes(data) {
939
960
  return this.http.put(this.CMIS_URL + `crm/get/vehicle-type`, data);
@@ -961,7 +982,7 @@ class ElementServiceService {
961
982
  };
962
983
  return this.http.put(this.BASE_URL + 'ecommerce/inventory/get/collection', payload).pipe(map((response) => response.data.data?.map((collection) => new Collection(collection))));
963
984
  }
964
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElementServiceService, deps: [{ token: i1.HttpClient }, { token: API_URL }, { token: CMIS_URL }], target: i0.ɵɵFactoryTarget.Injectable }); }
985
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElementServiceService, deps: [{ token: i1.HttpClient }, { token: API_URL }, { token: CMIS_URL }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
965
986
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElementServiceService, providedIn: 'root' }); }
966
987
  }
967
988
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ElementServiceService, decorators: [{
@@ -975,6 +996,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
975
996
  }] }, { type: undefined, decorators: [{
976
997
  type: Inject,
977
998
  args: [CMIS_URL]
999
+ }] }, { type: Object, decorators: [{
1000
+ type: Inject,
1001
+ args: [PLATFORM_ID]
978
1002
  }] }] });
979
1003
 
980
1004
  class MediaSelectorComponent {