@designcrowd/library.brand-page 5.15.4 → 5.15.5

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 (101) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-D-JqIBXF.js → CreatedOnBrandCrowd-de-de-BxSRz5rV.js} +1 -1
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-rj1RdP3D.js → CreatedOnBrandCrowd-en-us-bvRHsK4P.js} +1 -1
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-CQjoXEVn.js → CreatedOnBrandCrowd-es-es-B7UhGZ_i.js} +1 -1
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-BLfDC22k.js → CreatedOnBrandCrowd-fr-ca-DbrCnQfL.js} +1 -1
  5. package/lib/src/{CreatedOnBrandCrowd-fr-ca-BLfDC22k.js → CreatedOnBrandCrowd-fr-fr-DbrCnQfL.js} +1 -1
  6. package/lib/src/{CreatedOnBrandCrowd-pt-pt-DA4HMlpw.js → CreatedOnBrandCrowd-pt-br-DHBSkoHf.js} +1 -1
  7. package/lib/src/{CreatedOnBrandCrowd-pt-br-DA4HMlpw.js → CreatedOnBrandCrowd-pt-pt-DHBSkoHf.js} +1 -1
  8. package/lib/src/{CreatedOnDcom-de-de-DcSzC02I.js → CreatedOnDcom-de-de-CJ5PfRgk.js} +1 -1
  9. package/lib/src/{CreatedOnDcom-en-us-Cj099v1g.js → CreatedOnDcom-en-us-CFgQcJsC.js} +1 -1
  10. package/lib/src/{CreatedOnDcom-es-es-BLMAaoWm.js → CreatedOnDcom-es-es-2qGiWLwl.js} +1 -1
  11. package/lib/src/{CreatedOnDcom-fr-ca-DT5jxd5X.js → CreatedOnDcom-fr-ca-BrBIvOOs.js} +1 -1
  12. package/lib/src/{CreatedOnDcom-fr-fr-BVT8h3pj.js → CreatedOnDcom-fr-fr-CrvtNu83.js} +1 -1
  13. package/lib/src/{CreatedOnDcom-pt-br-DP4jKxkV.js → CreatedOnDcom-pt-br-BwnlmEkz.js} +1 -1
  14. package/lib/src/{CreatedOnDcom-pt-pt-B6K9BtIo.js → CreatedOnDcom-pt-pt-DMqOsUps.js} +1 -1
  15. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +1 -3
  16. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.stories.js +1 -0
  17. package/lib/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.js +2 -0
  18. package/lib/src/brand-page-maker/constants/config-settings-constant.js +2 -2
  19. package/lib/src/brand-page-maker/constants/index.js +2 -0
  20. package/lib/src/brand-page-maker/stores/user/user-store.js +1 -0
  21. package/lib/src/{bundled-translations-C35ICQCS.js → bundled-translations-Gwpp-xB6.js} +18 -16
  22. package/lib/src/{bundled-translations.de-DE-B3sIK6Yw.js → bundled-translations.de-DE-CB4KkNf3.js} +13 -11
  23. package/lib/src/{bundled-translations.es-ES-CJCflztK.js → bundled-translations.es-ES-27tfJoU5.js} +15 -13
  24. package/lib/src/{bundled-translations.fr-CA-CtlwKcDs.js → bundled-translations.fr-CA-SDhUJ5C0.js} +18 -16
  25. package/lib/src/{bundled-translations.fr-FR-CjDBsRhl.js → bundled-translations.fr-FR-_THRUXSu.js} +22 -20
  26. package/lib/src/{bundled-translations.pt-BR-CNuFzR0R.js → bundled-translations.pt-BR-Cet1bnj3.js} +19 -17
  27. package/lib/src/{bundled-translations.pt-PT-D2Ak5M-w.js → bundled-translations.pt-PT-BWuPalqF.js} +6 -4
  28. package/lib/src/bundles/bundled-translations.de-DE.json +7 -0
  29. package/lib/src/bundles/bundled-translations.es-ES.json +7 -0
  30. package/lib/src/bundles/bundled-translations.fr-CA.json +7 -0
  31. package/lib/src/bundles/bundled-translations.fr-FR.json +7 -0
  32. package/lib/src/bundles/bundled-translations.json +7 -0
  33. package/lib/src/bundles/bundled-translations.pt-BR.json +7 -0
  34. package/lib/src/bundles/bundled-translations.pt-PT.json +7 -0
  35. package/lib/src/composables/useTranslate.d.ts +2 -1
  36. package/lib/src/composables/useTranslate.js +2 -1
  37. package/lib/src/constants/ui.d.ts +1 -0
  38. package/lib/src/css/library.brand-page-brandCrowd.min.css +66 -20
  39. package/lib/src/css/library.brand-page-brandPage.min.css +66 -20
  40. package/lib/src/css/library.brand-page-designCom.min.css +66 -20
  41. package/lib/src/css/library.brand-page-preview.min.css +66 -20
  42. package/lib/src/index.mjs +1 -1
  43. package/lib/src/{lib-DV-z72zv.js → lib-NaxZd0H-.js} +10094 -9925
  44. package/lib/src/shared/content-settings/components/content-settings/ContentSettings.stories.js +1 -0
  45. package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.d.ts +1 -3
  46. package/lib/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.js +1 -3
  47. package/lib/src/shared/content-settings/models.d.ts +1 -0
  48. package/lib/src/shared/content-settings/models.js +1 -0
  49. package/lib/src/shared/ecommerce-settings/store/shop-settings-store.d.ts +1 -3
  50. package/lib/src/shared/ecommerce-settings/store/shop-settings-store.js +2 -2
  51. package/lib/src/shared/models.d.ts +1 -0
  52. package/lib/src/shared/my-uploads/MyMedia.stories.js +1 -0
  53. package/lib/src/shared/page-settings/components/page-settings/PageSettings.mixin.d.ts +1 -0
  54. package/package.json +1 -1
  55. package/src/brand-page/components/shop/FeaturedDisplay.vue +7 -6
  56. package/src/brand-page/components/shop/PaymentModal.vue +0 -2
  57. package/src/brand-page/components/shop/ProductDetailModal.vue +2 -1
  58. package/src/brand-page/components/shop/Shop.vue +12 -31
  59. package/src/brand-page/components/shop/TextDisplay.vue +7 -6
  60. package/src/brand-page/components/shop/ThumbnailDisplay.vue +7 -6
  61. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.stories.ts +1 -0
  62. package/src/brand-page-maker/components/brand-page-maker/__fixtures__/brand-page-examples.ts +2 -0
  63. package/src/brand-page-maker/components/shop/AddOrEditProductContainer.vue +3 -8
  64. package/src/brand-page-maker/constants/config-settings-constant.ts +2 -2
  65. package/src/brand-page-maker/constants/index.ts +2 -0
  66. package/src/brand-page-maker/stores/user/user-store.ts +1 -0
  67. package/src/bundles/bundled-translations.de-DE.json +7 -0
  68. package/src/bundles/bundled-translations.es-ES.json +7 -0
  69. package/src/bundles/bundled-translations.fr-CA.json +7 -0
  70. package/src/bundles/bundled-translations.fr-FR.json +7 -0
  71. package/src/bundles/bundled-translations.json +7 -0
  72. package/src/bundles/bundled-translations.pt-BR.json +7 -0
  73. package/src/bundles/bundled-translations.pt-PT.json +7 -0
  74. package/src/composables/useTranslate.ts +2 -0
  75. package/src/constants/ui.ts +1 -0
  76. package/src/shared/content-settings/components/content-settings/ContentSettings.stories.ts +1 -0
  77. package/src/shared/content-settings/components/payment-config-field/PaymentConfigField.mixin.ts +1 -3
  78. package/src/shared/content-settings/components/replace-image-base-settings/ReplaceImageBaseSettings.vue +215 -19
  79. package/src/shared/content-settings/components/replace-image-base-settings/i18n/replace-image-setting.de-DE.json +1 -0
  80. package/src/shared/content-settings/components/replace-image-base-settings/i18n/replace-image-setting.es-ES.json +1 -0
  81. package/src/shared/content-settings/components/replace-image-base-settings/i18n/replace-image-setting.fr-CA.json +1 -0
  82. package/src/shared/content-settings/components/replace-image-base-settings/i18n/replace-image-setting.fr-FR.json +1 -0
  83. package/src/shared/content-settings/components/replace-image-base-settings/i18n/replace-image-setting.json +1 -0
  84. package/src/shared/content-settings/components/replace-image-base-settings/i18n/replace-image-setting.pt-BR.json +1 -0
  85. package/src/shared/content-settings/components/replace-image-base-settings/i18n/replace-image-setting.pt-PT.json +1 -0
  86. package/src/shared/content-settings/models.ts +1 -0
  87. package/src/shared/ecommerce-settings/components/product-config-field/ProductConfigOption.vue +4 -2
  88. package/src/shared/ecommerce-settings/store/shop-settings-store.ts +2 -4
  89. package/src/shared/models.ts +1 -0
  90. package/src/shared/my-uploads/MyMedia.stories.ts +1 -0
  91. package/src/shared/video-library/VideoLibrary.vue +374 -0
  92. package/src/shared/video-library/i18n/video-library.de-DE.json +8 -0
  93. package/src/shared/video-library/i18n/video-library.es-ES.json +8 -0
  94. package/src/shared/video-library/i18n/video-library.fr-CA.json +8 -0
  95. package/src/shared/video-library/i18n/video-library.fr-FR.json +8 -0
  96. package/src/shared/video-library/i18n/video-library.json +8 -0
  97. package/src/shared/video-library/i18n/video-library.pt-BR.json +8 -0
  98. package/src/shared/video-library/i18n/video-library.pt-PT.json +8 -0
  99. package/lib/src/shared/content-settings/components/replace-image-base-settings/ReplaceImageBaseSettings.mixin.d.ts +0 -112
  100. package/lib/src/shared/content-settings/components/replace-image-base-settings/ReplaceImageBaseSettings.mixin.js +0 -135
  101. package/src/shared/content-settings/components/replace-image-base-settings/ReplaceImageBaseSettings.mixin.ts +0 -168
@@ -135,9 +135,7 @@ export default defineComponent({
135
135
  }
136
136
 
137
137
  if (this.isShop) {
138
- this.shopConfigStore.setPaymentConfig({
139
- paymentConfig: paymentConfig,
140
- });
138
+ this.shopConfigStore.setPaymentConfig(paymentConfig);
141
139
  }
142
140
 
143
141
  this.selectedPaymentConfig = paymentConfig;
@@ -52,10 +52,10 @@
52
52
  :is-delete-enabled="isDeleteEnabled"
53
53
  :media-type="mediaType"
54
54
  :supported-file-extensions="imageExtension"
55
- :desired-width="mediaSettings.desiredWidth"
56
- :desired-height="mediaSettings.desiredHeight"
57
- :max-file-size="mediaSettings.maxFilesize"
58
- :max-files="mediaSettings.maxFiles"
55
+ :desired-width="mediaSettings?.desiredWidth"
56
+ :desired-height="mediaSettings?.desiredHeight"
57
+ :max-file-size="mediaSettings?.maxFilesize"
58
+ :max-files="mediaSettings?.maxFiles"
59
59
  @on-select-image="onImageSelected"
60
60
  @on-delete-image="onDeleteImage"
61
61
  />
@@ -65,6 +65,9 @@
65
65
  <div v-if="tab.id === 'IMAGE_LIBRARY'">
66
66
  <UnsplashLibrary @on-select-image="onDesignSelected" />
67
67
  </div>
68
+ <div v-if="tab.id === 'VIDEO_LIBRARY'">
69
+ <VideoLibrary @on-select-video="onDesignSelected" />
70
+ </div>
68
71
  <div v-if="tab.id === 'SHAPE_LIBRARY'">
69
72
  <ShapeLibrary @on-select-image="onShapeSelected" />
70
73
  </div>
@@ -72,28 +75,221 @@
72
75
  </div>
73
76
  </div>
74
77
  </template>
75
- <script>
78
+
79
+ <script setup lang="ts">
80
+ import type { PropType } from 'vue';
81
+ import { computed, ref, onMounted } from 'vue';
76
82
  import { Button } from '@designcrowd/fe-shared-lib';
77
83
  import MyUploads from '../../../my-uploads/MyUploads.vue';
78
84
  import MyDesigns from '../../../my-designs/MyDesigns.vue';
79
85
  import IconLibrary from '../icon-library/IconLibrary.vue';
80
- import ReplaceImageBaseSettings from './ReplaceImageBaseSettings.mixin';
81
86
  import UnsplashLibrary from '../../../unsplash-library/UnsplashLibrary.vue';
82
87
  import ShapeLibrary from '../../../shape-library/ShapeLibrary.vue';
83
- import { commonTr } from '../../../../composables/useTranslate';
84
-
85
- export default {
86
- components: {
87
- Button,
88
- MyDesigns,
89
- MyUploads,
90
- IconLibrary,
91
- UnsplashLibrary,
92
- ShapeLibrary,
88
+ import VideoLibrary from '../../../video-library/VideoLibrary.vue';
89
+ import type {
90
+ Tab,
91
+ ReplaceImageSettingsTabId,
92
+ ReplaceImageSettingsBase,
93
+ } from '../../models';
94
+ import type { UserMediaItemWithDimensions } from '../../../my-uploads/models';
95
+ import {
96
+ useBrandPageContainerStore,
97
+ useBrandPageMakerUserStore,
98
+ type BrandPageSettingsMode,
99
+ } from '../../../../brand-page-maker/stores';
100
+ import axios from 'axios';
101
+ import { getColorReplacementsFromSvgString } from '../../../../brand-page/utils/svg-color.util';
102
+ import { commonTr, tr } from '../../../../composables/useTranslate';
103
+
104
+ const imageSettingTr = (key: string) => tr(`replaceImageSetting.${key}`);
105
+
106
+ // Props
107
+ const props = defineProps({
108
+ mediaSettings: {
109
+ type: Object as PropType<ReplaceImageSettingsBase>,
110
+ required: false,
111
+ default: undefined,
112
+ },
113
+ imageExtension: {
114
+ type: Array as PropType<string[]>,
115
+ required: false,
116
+ default: () => ['.jpg', '.jpeg', '.png'],
117
+ },
118
+ mode: {
119
+ type: Object as PropType<BrandPageSettingsMode>,
120
+ required: true,
121
+ },
122
+ isAdmin: {
123
+ type: Boolean,
124
+ required: true,
125
+ default: false,
126
+ },
127
+ activeTabs: {
128
+ type: Array as PropType<ReplaceImageSettingsTabId[]>,
129
+ required: true,
130
+ },
131
+ mediaType: {
132
+ type: String,
133
+ required: false,
134
+ default: '',
135
+ },
136
+ sectionTitle: {
137
+ type: String,
138
+ required: false,
139
+ default: '',
140
+ },
141
+ transparentBg: {
142
+ type: Boolean,
143
+ required: true,
144
+ default: false,
145
+ },
146
+ stickyBackBtn: {
147
+ type: Boolean,
148
+ required: true,
149
+ default: true,
150
+ },
151
+ });
152
+
153
+ // Emits
154
+ const emit = defineEmits<{
155
+ 'on-back': [];
156
+ 'on-image-picked': [
157
+ image: Pick<
158
+ UserMediaItemWithDimensions,
159
+ 'url' | 'minimisedUrl' | 'width' | 'height'
160
+ >,
161
+ mediaType: string,
162
+ ];
163
+ 'on-image-removed': [
164
+ image: Pick<
165
+ UserMediaItemWithDimensions,
166
+ 'url' | 'minimisedUrl' | 'width' | 'height'
167
+ >,
168
+ ];
169
+ 'on-design-selected': [image: UserMediaItemWithDimensions];
170
+ 'on-shape-selected': [
171
+ shape: {
172
+ imageUrl: string;
173
+ width: number;
174
+ height: number;
175
+ colorReplacements: any;
176
+ aspectRatio: number;
177
+ },
178
+ ];
179
+ }>();
180
+
181
+ const containerStore = useBrandPageContainerStore();
182
+ const userStore = useBrandPageMakerUserStore();
183
+
184
+ const isPrePurchase = computed(() => containerStore.isPrePurchase);
185
+ const canUseGettyVideos = computed(() => userStore.features.canUseGettyVideos);
186
+
187
+ const tabs = ref<Tab[]>([
188
+ {
189
+ id: 'ICON',
190
+ label: imageSettingTr('icon'),
191
+ active: false,
192
+ },
193
+ {
194
+ id: 'MY_UPLOADS',
195
+ label: imageSettingTr('myUploads'),
196
+ active: false,
197
+ },
198
+ {
199
+ id: 'MY_DESIGNS',
200
+ label: imageSettingTr('myDesigns'),
201
+ active: false,
93
202
  },
94
- mixins: [ReplaceImageBaseSettings],
95
- setup(props, context) {
96
- return { ...ReplaceImageBaseSettings.setup(props, context), commonTr };
203
+ {
204
+ id: 'IMAGE_LIBRARY',
205
+ label: imageSettingTr('imageLibrary'),
206
+ active: false,
97
207
  },
208
+ {
209
+ id: 'VIDEO_LIBRARY',
210
+ label: imageSettingTr('videoLibrary'),
211
+ active: false,
212
+ },
213
+ {
214
+ id: 'SHAPE_LIBRARY',
215
+ label: imageSettingTr('shapeLibrary'),
216
+ active: false,
217
+ },
218
+ ]);
219
+
220
+ const enabledTabs = computed(() => {
221
+ return tabs.value
222
+ .filter((x) => x.id !== 'MY_DESIGNS' || !props.isAdmin)
223
+ .filter(
224
+ (x) =>
225
+ x.id !== 'VIDEO_LIBRARY' || (canUseGettyVideos.value && props.isAdmin),
226
+ )
227
+ .filter(
228
+ (x) =>
229
+ props.activeTabs.some((y) => y === x.id) &&
230
+ (!isPrePurchase.value || x.id !== 'MY_DESIGNS'),
231
+ );
232
+ });
233
+
234
+ const isDeleteEnabled = computed(() => true);
235
+
236
+ // Methods
237
+ const onBack = () => {
238
+ emit('on-back');
239
+ };
240
+
241
+ const onImageSelected = (
242
+ image: Pick<
243
+ UserMediaItemWithDimensions,
244
+ 'url' | 'minimisedUrl' | 'width' | 'height'
245
+ >,
246
+ ) => {
247
+ emit('on-image-picked', image, props.mediaType);
248
+ };
249
+
250
+ const onDeleteImage = (
251
+ image: Pick<
252
+ UserMediaItemWithDimensions,
253
+ 'url' | 'minimisedUrl' | 'width' | 'height'
254
+ >,
255
+ ) => {
256
+ emit('on-image-removed', image);
98
257
  };
258
+
259
+ const onDesignSelected = (image: UserMediaItemWithDimensions) => {
260
+ emit('on-design-selected', image);
261
+ };
262
+
263
+ const switchActiveTab = (id: string) => {
264
+ tabs.value.forEach((tab: Tab) => {
265
+ tab.active = tab.id === id;
266
+ });
267
+ };
268
+
269
+ const onShapeSelected = async (image: UserMediaItemWithDimensions) => {
270
+ try {
271
+ const svgResponse = await axios.get<string>(image.url);
272
+
273
+ const colorReplacements = getColorReplacementsFromSvgString(
274
+ svgResponse.data,
275
+ );
276
+
277
+ emit('on-shape-selected', {
278
+ imageUrl: image.url,
279
+ width: image.width,
280
+ height: image.height,
281
+ colorReplacements,
282
+ aspectRatio: image.aspectRatio || 1,
283
+ });
284
+ } catch (error) {
285
+ console.error('Failed to load shape:', error);
286
+ }
287
+ };
288
+
289
+ // Lifecycle
290
+ onMounted(() => {
291
+ if (enabledTabs.value.length > 0) {
292
+ enabledTabs.value[0].active = true;
293
+ }
294
+ });
99
295
  </script>
@@ -4,6 +4,7 @@
4
4
  "myUploads" : "Meine Uploads",
5
5
  "myDesigns" : "Meine Designs",
6
6
  "imageLibrary" : "Bilderbibliothek",
7
+ "videoLibrary" : "Videobibliothek",
7
8
  "shapeLibrary" : "Formbibliothek"
8
9
  }
9
10
  }
@@ -4,6 +4,7 @@
4
4
  "myUploads" : "Mis subidas",
5
5
  "myDesigns" : "Mis diseños",
6
6
  "imageLibrary" : "Biblioteca de imágenes",
7
+ "videoLibrary" : "Videoteca",
7
8
  "shapeLibrary" : "Biblioteca de Formas"
8
9
  }
9
10
  }
@@ -4,6 +4,7 @@
4
4
  "myUploads" : "Mes importations",
5
5
  "myDesigns" : "Mes créations",
6
6
  "imageLibrary" : "Bibliothèque d’images",
7
+ "videoLibrary" : "Vidéothèque",
7
8
  "shapeLibrary" : "Bibliothèque de formes"
8
9
  }
9
10
  }
@@ -4,6 +4,7 @@
4
4
  "myUploads" : "Mes importations",
5
5
  "myDesigns" : "Mes créations",
6
6
  "imageLibrary" : "Bibliothèque d’images",
7
+ "videoLibrary" : "Vidéothèque",
7
8
  "shapeLibrary" : "Bibliothèque de formes"
8
9
  }
9
10
  }
@@ -4,6 +4,7 @@
4
4
  "myUploads": "My Uploads",
5
5
  "myDesigns": "My Designs",
6
6
  "imageLibrary": "Image Library",
7
+ "videoLibrary": "Video Library",
7
8
  "shapeLibrary": "Shape Library"
8
9
  }
9
10
  }
@@ -4,6 +4,7 @@
4
4
  "myUploads" : "Meus uploads",
5
5
  "myDesigns" : "Meus designs",
6
6
  "imageLibrary" : "Biblioteca de imagens",
7
+ "videoLibrary" : "Biblioteca de vídeos",
7
8
  "shapeLibrary" : "Biblioteca de formas"
8
9
  }
9
10
  }
@@ -4,6 +4,7 @@
4
4
  "myUploads" : "Os meus carregamentos",
5
5
  "myDesigns" : "Os meus designs",
6
6
  "imageLibrary" : "Biblioteca de imagens",
7
+ "videoLibrary" : "Videoteca",
7
8
  "shapeLibrary" : "Biblioteca de Formas"
8
9
  }
9
10
  }
@@ -28,6 +28,7 @@ export interface FieldSettingsBase {
28
28
  export const ReplaceImageSettingsTabIds = {
29
29
  ICON: 'ICON',
30
30
  IMAGE_LIBRARY: 'IMAGE_LIBRARY',
31
+ VIDEO_LIBRARY: 'VIDEO_LIBRARY',
31
32
  MY_UPLOADS: 'MY_UPLOADS',
32
33
  MY_DESIGNS: 'MY_DESIGNS',
33
34
  SHAPE_LIBRARY: 'SHAPE_LIBRARY',
@@ -29,7 +29,7 @@
29
29
  <div class="tw-flex tw-flex-col tw-break-all">
30
30
  <div class="tw-text-md tw-font-sans">{{ product.item.name }}</div>
31
31
  <div class="tw-text-sm tw-text-grayscale-600">
32
- {{ shopSettingStore.currencySymbol }}{{ displayPrice(product) }}
32
+ {{ currencySymbol }}{{ displayPrice(product) }}
33
33
  </div>
34
34
  </div>
35
35
  </template>
@@ -56,7 +56,7 @@ import ItemsField from '../../../content-settings/components/items-field/ItemsFi
56
56
  import type { PaymentOption } from '../../../../brand-page/models';
57
57
  import { useShopConfigStore } from '../../store/shop-settings-store';
58
58
  import type { ProductModel } from '../../../../brand-page/models/shop.model';
59
- import { reactive } from 'vue';
59
+ import { computed, reactive } from 'vue';
60
60
  import type { DebounceHandle } from 'lodash.debounce';
61
61
  import cloneDeep from 'lodash.clonedeep';
62
62
  import type { UpdateItemValuePayload } from '../../../../shared/content-settings/models';
@@ -83,6 +83,8 @@ const data = reactive({
83
83
  const shopSettingStore = useShopConfigStore();
84
84
  const productSettingStore = useProductConfigStore();
85
85
 
86
+ const currencySymbol = computed(() => shopSettingStore.currencySymbol);
87
+
86
88
  const onAddNewProduct = () => {
87
89
  productSettingStore.openModal(undefined);
88
90
  };
@@ -68,10 +68,8 @@ export const useShopConfigStore = defineStore('shopConfig', {
68
68
  Object.assign($state, newState);
69
69
  });
70
70
  },
71
- setPaymentConfig(payload: {
72
- paymentConfig: BrandPagePaymentConfig | undefined;
73
- }): void {
74
- this.paymentConfig = payload.paymentConfig;
71
+ setPaymentConfig(value: BrandPagePaymentConfig): void {
72
+ this.paymentConfig = value;
75
73
  },
76
74
  getProductById(id: string): ProductModel | undefined {
77
75
  return this.products.find((x) => x.id === id);
@@ -27,6 +27,7 @@ export interface Endpoints {
27
27
  getAllUserMediaEndpoint: string;
28
28
  userPolicyDataEndpoint: string;
29
29
  getUnsplashMediaRootEndpoint: string;
30
+ getGettyEndpoint: string;
30
31
  }
31
32
 
32
33
  export const UI_EVENT_SOURCES = {
@@ -18,6 +18,7 @@ const defaultUserEndpoints: Endpoints = {
18
18
  getAllUserMediaEndpoint: GET_ALL_USER_MEDIA_ENDPOINT,
19
19
  userPolicyDataEndpoint: USER_POLICY_DATA_ENDPOINT,
20
20
  getUnsplashMediaRootEndpoint: '',
21
+ getGettyEndpoint: '',
21
22
  };
22
23
 
23
24
  const supportedFileExtensions = ['jpg', 'png', 'gif'];