@designcrowd/library.brand-page 5.12.3 → 5.12.4

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 (73) hide show
  1. package/lib/src/{CreatedOnBrandCrowd-de-de-BIS4HwLB.js → CreatedOnBrandCrowd-de-de-BXfAb_Ly.js} +1 -1
  2. package/lib/src/{CreatedOnBrandCrowd-en-us-DxDARay8.js → CreatedOnBrandCrowd-en-us-BvCOvRuk.js} +1 -1
  3. package/lib/src/{CreatedOnBrandCrowd-es-es-CooG2xz7.js → CreatedOnBrandCrowd-es-es-eAe6KBvm.js} +1 -1
  4. package/lib/src/{CreatedOnBrandCrowd-fr-fr-CGfs-T2d.js → CreatedOnBrandCrowd-fr-fr-DVSPg9Qi.js} +1 -1
  5. package/lib/src/{CreatedOnBrandCrowd-pt-pt-CVY8SeTl.js → CreatedOnBrandCrowd-pt-pt-W42s3fa-.js} +1 -1
  6. package/lib/src/{CreatedOnDcom-de-de-1fdeLt5s.js → CreatedOnDcom-de-de-B_S0e0e_.js} +1 -1
  7. package/lib/src/{CreatedOnDcom-en-us-0ItobO75.js → CreatedOnDcom-en-us-Bi-x7Vfr.js} +1 -1
  8. package/lib/src/{CreatedOnDcom-es-es-Bss96GRx.js → CreatedOnDcom-es-es-BlLjTmrS.js} +1 -1
  9. package/lib/src/{CreatedOnDcom-fr-fr-CXmnIRMO.js → CreatedOnDcom-fr-fr-D2UQl6bI.js} +1 -1
  10. package/lib/src/{CreatedOnDcom-pt-pt-BDYYHpJa.js → CreatedOnDcom-pt-pt-D-x98ymB.js} +1 -1
  11. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.d.ts +1 -0
  12. package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.js +2 -0
  13. package/lib/src/bundled-translations-C4LWPXSH.js +153 -0
  14. package/lib/src/bundled-translations.de-DE-gxort83w.js +153 -0
  15. package/lib/src/bundled-translations.es-ES-BuDFNpDO.js +153 -0
  16. package/lib/src/bundled-translations.fr-FR-B1h4iGcU.js +153 -0
  17. package/lib/src/bundled-translations.pt-PT-DWXOT8W0.js +153 -0
  18. package/lib/src/bundles/bundled-translations.de-DE.json +10 -2
  19. package/lib/src/bundles/bundled-translations.es-ES.json +10 -2
  20. package/lib/src/bundles/bundled-translations.fr-FR.json +10 -2
  21. package/lib/src/bundles/bundled-translations.json +10 -2
  22. package/lib/src/bundles/bundled-translations.pt-PT.json +10 -2
  23. package/lib/src/composables/useTranslate.d.ts +2 -1
  24. package/lib/src/composables/useTranslate.js +2 -1
  25. package/lib/src/css/library.brand-page-brandCrowd.min.css +9 -9
  26. package/lib/src/css/library.brand-page-brandPage.min.css +9 -9
  27. package/lib/src/css/library.brand-page-designCom.min.css +9 -9
  28. package/lib/src/css/library.brand-page-preview.min.css +9 -9
  29. package/lib/src/index.mjs +1 -1
  30. package/lib/src/{lib-B3W7JSHn.js → lib-CmlX0vVm.js} +9235 -9234
  31. package/lib/src/shared/confirm-modal/ConfirmModal.mixin.d.ts +1 -0
  32. package/lib/src/shared/confirm-modal/ConfirmModal.mixin.js +2 -0
  33. package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.d.ts +1 -1
  34. package/lib/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.js +11 -1
  35. package/package.json +1 -1
  36. package/src/brand-page/components/map/Map.vue +17 -9
  37. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.mixin.ts +2 -0
  38. package/src/brand-page-maker/components/brand-page-maker/BrandPageMaker.vue +1 -1
  39. package/src/brand-page-maker/components/google-analytics/GoogleAnalytics.vue +3 -3
  40. package/src/bundles/bundled-translations.de-DE.json +10 -2
  41. package/src/bundles/bundled-translations.es-ES.json +10 -2
  42. package/src/bundles/bundled-translations.fr-FR.json +10 -2
  43. package/src/bundles/bundled-translations.json +10 -2
  44. package/src/bundles/bundled-translations.pt-PT.json +10 -2
  45. package/src/composables/useTranslate.ts +3 -0
  46. package/src/shared/common/i18n/common.de-DE.json +2 -1
  47. package/src/shared/common/i18n/common.es-ES.json +2 -1
  48. package/src/shared/common/i18n/common.fr-FR.json +2 -1
  49. package/src/shared/common/i18n/common.json +3 -1
  50. package/src/shared/common/i18n/common.pt-PT.json +2 -1
  51. package/src/shared/confirm-modal/ConfirmModal.mixin.ts +2 -0
  52. package/src/shared/confirm-modal/ConfirmModal.vue +5 -3
  53. package/src/shared/confirm-modal/i18n/confirm-modal.de-DE.json +7 -0
  54. package/src/shared/confirm-modal/i18n/confirm-modal.es-ES.json +7 -0
  55. package/src/shared/confirm-modal/i18n/confirm-modal.fr-FR.json +7 -0
  56. package/src/shared/confirm-modal/i18n/confirm-modal.json +7 -0
  57. package/src/shared/confirm-modal/i18n/confirm-modal.pt-PT.json +7 -0
  58. package/src/shared/content-settings/components/content-settings-item/ContentSettingsItemField.vue +1 -1
  59. package/src/shared/content-settings/components/payment-config-field/PaymentConfigOptionField.vue +4 -1
  60. package/src/shared/publish-brand-page-with-state/PublishBrandPageModalWithState.mixin.ts +14 -3
  61. package/src/shared/publish-brand-page-with-state/i18n/publish-brand-page-modal-with-state.de-DE.json +4 -2
  62. package/src/shared/publish-brand-page-with-state/i18n/publish-brand-page-modal-with-state.es-ES.json +4 -2
  63. package/src/shared/publish-brand-page-with-state/i18n/publish-brand-page-modal-with-state.fr-FR.json +4 -2
  64. package/src/shared/publish-brand-page-with-state/i18n/publish-brand-page-modal-with-state.json +4 -2
  65. package/src/shared/publish-brand-page-with-state/i18n/publish-brand-page-modal-with-state.pt-PT.json +4 -2
  66. package/lib/src/brand-page/components/map/Map.mixin.d.ts +0 -50
  67. package/lib/src/brand-page/components/map/Map.mixin.js +0 -20
  68. package/lib/src/bundled-translations-DE2UZ_8B.js +0 -151
  69. package/lib/src/bundled-translations.de-DE-BawsKiJ9.js +0 -151
  70. package/lib/src/bundled-translations.es-ES-BZijuSLY.js +0 -151
  71. package/lib/src/bundled-translations.fr-FR-hqcn5AfG.js +0 -151
  72. package/lib/src/bundled-translations.pt-PT-Bnt_n1_N.js +0 -151
  73. package/src/brand-page/components/map/Map.mixin.ts +0 -24
@@ -9,6 +9,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
9
9
  required: false;
10
10
  };
11
11
  }>, {
12
+ confirmModalTr: (key: any, valuesToInterpolate?: {}) => any;
12
13
  isDesignCom: import("vue").ComputedRef<boolean>;
13
14
  }, {}, {}, {
14
15
  onCancel(): void;
@@ -1,5 +1,6 @@
1
1
  import { defineComponent, computed } from 'vue';
2
2
  import { useBrandPageContainerStore } from '../../brand-page-maker/stores';
3
+ import { confirmModalTr } from '../../composables/useTranslate';
3
4
  export default defineComponent({
4
5
  props: {
5
6
  visible: {
@@ -15,6 +16,7 @@ export default defineComponent({
15
16
  setup() {
16
17
  const containerStore = useBrandPageContainerStore();
17
18
  return {
19
+ confirmModalTr,
18
20
  isDesignCom: computed(() => containerStore.isDesignCom),
19
21
  };
20
22
  },
@@ -41,7 +41,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
41
41
  designDraftToken: import("vue").ComputedRef<string | undefined>;
42
42
  brandPageViewModel: import("vue").ComputedRef<import("../../brand-page").BrandPageViewModel>;
43
43
  backUrl: import("vue").ComputedRef<string>;
44
- brandPageDisplayName: import("vue").ComputedRef<string>;
44
+ brandPageDisplayName: import("vue").ComputedRef<any>;
45
45
  publishBrandPage: import("vue").ComputedRef<({ shouldPublish, slug }: {
46
46
  shouldPublish: any;
47
47
  slug: any;
@@ -45,7 +45,17 @@ export default defineComponent({
45
45
  designDraftToken: computed(() => brandPageContainerStore.designDraftToken),
46
46
  brandPageViewModel: computed(() => brandPageMakerStore.brandPageViewModel),
47
47
  backUrl: computed(() => localisedRouteStore.backToWebsiteManageUrlPath),
48
- brandPageDisplayName: computed(() => brandPageContainerStore.brandPageDisplayName),
48
+ brandPageDisplayName: computed(() => {
49
+ const brandPageName = brandPageContainerStore.brandPageDisplayName;
50
+ switch (brandPageName) {
51
+ case 'Website':
52
+ return publishBrandPageModalWithStateTr('websiteFriendlyName');
53
+ case 'Digital Business Card':
54
+ return publishBrandPageModalWithStateTr('digitalBusinessCardFriendlyName');
55
+ default:
56
+ return brandPageName;
57
+ }
58
+ }),
49
59
  publishBrandPage: computed(() => brandPageContainerStore.publishBrandPage),
50
60
  publishCustomDomain: computed(() => brandPageContainerStore.publishBrandPageWithCustomDomainAsync),
51
61
  checkWebsiteSlugAsync: computed(() => brandPageContainerStore.checkWebsiteSlugAsync),
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@designcrowd/library.brand-page",
3
3
  "description": "A collection of Maker/Designer applications",
4
- "version": "5.12.3",
4
+ "version": "5.12.4",
5
5
  "author": "Design.com Eng",
6
6
  "license": "UNLICENSED",
7
7
  "type": "module",
@@ -16,19 +16,27 @@
16
16
  </div>
17
17
  </div>
18
18
  </template>
19
- <script>
19
+ <script setup lang="ts">
20
20
  import GoogleMap from './GoogleMap.vue';
21
21
  import Placeholder from '../placeholder/Placeholder.vue';
22
- import MapMixin from './Map.mixin.ts';
22
+ import type { MapViewModel } from '../../view-models';
23
+ import type { BrandPageContext } from '../../models';
23
24
  import { mapTr } from '../../../composables/useTranslate';
25
+ import { computed } from 'vue';
24
26
 
25
- export default {
26
- components: {
27
- GoogleMap,
28
- Placeholder,
29
- },
30
- mixins: [MapMixin],
31
- };
27
+ interface Props {
28
+ viewModel: MapViewModel;
29
+ context: BrandPageContext;
30
+ isPreview?: boolean;
31
+ isMobileDevice?: boolean;
32
+ }
33
+
34
+ const props = withDefaults(defineProps<Props>(), {
35
+ isPreview: false,
36
+ isMobileDevice: false,
37
+ });
38
+
39
+ const placeId = computed(() => props.viewModel?.address?.placeId);
32
40
  </script>
33
41
  <style scoped>
34
42
  .c-map {
@@ -44,6 +44,7 @@ import type { ShopConfigData } from '../../../brand-page/models/shop.model';
44
44
  import { useProductConfigStore } from '../../../brand-page-maker/stores/product-config/product-config-store';
45
45
  import type { UpdateItemValuePayload } from '../../../shared/content-settings/models';
46
46
  import { UPGRADE_CTA_LOCATIONS } from '../../composables/useEventTracker';
47
+ import { commonTr } from '../../../composables/useTranslate';
47
48
 
48
49
  export interface BrandPageMakerViewModel {
49
50
  adminPreviewLogoTemplateModels?: AdminPreviewLogoTemplateModel[];
@@ -85,6 +86,7 @@ export default defineComponent({
85
86
  const localisedRouteStore = useLocalisedRouteStore();
86
87
 
87
88
  return {
89
+ commonTr,
88
90
  currentNotificationMessage: computed(
89
91
  () => brandPageMakerStore.currentNotificationMessage,
90
92
  ),
@@ -89,7 +89,7 @@
89
89
  <!-- Start template change confirm modal -->
90
90
  <ConfirmModal
91
91
  :visible="isChangeTemplateConfirmModalVisible"
92
- description="Changing templates will cause you to lose your changes. All your content will be erased. We recommend you duplicate your site beforehand if you want to retain your changes."
92
+ :description="commonTr('changeTemplateConfirmationMessage')"
93
93
  @confirm="onChangeTemplateConfirmModalConfirm"
94
94
  @cancel="onChangeTemplateConfirmModalCancel"
95
95
  />
@@ -78,8 +78,9 @@
78
78
  @input="onValueChange"
79
79
  />
80
80
 
81
- <div v-if="!hasValue">
81
+ <div class="tw-flex tw-items-center">
82
82
  <Button
83
+ v-if="!hasValue"
83
84
  :label="commonTr('save')"
84
85
  variant="primary"
85
86
  size="small-medium"
@@ -87,9 +88,8 @@
87
88
  :disabled="!isReadyToSave"
88
89
  @on-click.stop="onSlugChangeButtonClicked"
89
90
  />
90
- </div>
91
- <div v-else>
92
91
  <Button
92
+ v-else
93
93
  :label="commonTr('remove')"
94
94
  variant="primary"
95
95
  size="small-medium"
@@ -336,7 +336,8 @@
336
336
  "copyrightTextPlaceholder": "Copyright-Text hier",
337
337
  "continue": "Weiter",
338
338
  "defaultSaveDescription": "Vergessen Sie nicht, Ihre Änderungen zu veröffentlichen, sobald Sie mit Ihrem Design zufrieden sind.",
339
- "saveSuccess": "Gespeichert!"
339
+ "saveSuccess": "Gespeichert!",
340
+ "changeTemplateConfirmationMessage": "Wenn Sie die Vorlagen ändern, gehen Ihre Änderungen verloren. Alle Ihre Inhalte werden gelöscht. Wir empfehlen Ihnen, Ihre Website vorher zu duplizieren, wenn Sie Ihre Änderungen beibehalten möchten."
340
341
  },
341
342
  "error": {
342
343
  "maxCharacters": "Sie haben das Zeichenlimit erreicht",
@@ -366,6 +367,11 @@
366
367
  "mailingListError": "Es ist ein Fehler aufgetreten. Das Abonnieren der Mailingliste ist nicht möglich.",
367
368
  "contactMessageError": "Es ist ein Fehler aufgetreten. Es ist nicht möglich, das Kontaktformular zu abonnieren."
368
369
  },
370
+ "confirmModal": {
371
+ "confirmMessageTitle": "Sind Sie sicher?",
372
+ "noLabel": "Nein",
373
+ "yesLabel": "Ja"
374
+ },
369
375
  "colorField": {
370
376
  "recommendedColors": "Empfohlene Farben",
371
377
  "logoColors": "Logo-Farben",
@@ -730,7 +736,9 @@
730
736
  "domainSearchButtonLabel": "Suche",
731
737
  "customDomainCardDescription": "Wählen Sie eine Domain, die zu Ihrem Unternehmen passt, damit Ihre Kunden Sie problemlos finden",
732
738
  "customDomainLabel": "Benutzerdefinierte Domain",
733
- "recommendedLabel": "Empfohlen"
739
+ "recommendedLabel": "Empfohlen",
740
+ "websiteFriendlyName": "Website",
741
+ "digitalBusinessCardFriendlyName": "Digitale Visitenkarte"
734
742
  },
735
743
  "shapeLibrary": {
736
744
  "loadMoreShapes": "Weitere Formen laden"
@@ -336,7 +336,8 @@
336
336
  "copyrightTextPlaceholder": "Texto de copyright aquí",
337
337
  "continue": "Continuar",
338
338
  "defaultSaveDescription": "No olvides publicar los cambios una vez que tengas un diseño que te guste.",
339
- "saveSuccess": "¡Se ha guardado correctamente!"
339
+ "saveSuccess": "¡Se ha guardado correctamente!",
340
+ "changeTemplateConfirmationMessage": "Cambiar las plantillas hará que pierdas los cambios. Se borrará todo el contenido. Te recomendamos que hagas un duplicado de tu sitio web de antemano si quieres conservar los cambios."
340
341
  },
341
342
  "error": {
342
343
  "maxCharacters": "Has alcanzado tu límite máximo de caracteres permitidos",
@@ -366,6 +367,11 @@
366
367
  "mailingListError": "Se ha producido un error. No es posible suscribirte a la lista de correo.",
367
368
  "contactMessageError": "Se ha producido un error. No es posible suscribirte para enviar el formulario de contacto."
368
369
  },
370
+ "confirmModal": {
371
+ "confirmMessageTitle": "¿Estás seguro?",
372
+ "noLabel": "No",
373
+ "yesLabel": "Sí"
374
+ },
369
375
  "colorField": {
370
376
  "recommendedColors": "Colores recomendados",
371
377
  "logoColors": "Colores del logo",
@@ -730,7 +736,9 @@
730
736
  "domainSearchButtonLabel": "Buscar",
731
737
  "customDomainCardDescription": "Facilita que los clientes te encuentren con un dominio que sea fiel reflejo de tu negocio",
732
738
  "customDomainLabel": "Dominio personalizado",
733
- "recommendedLabel": "Recomendado"
739
+ "recommendedLabel": "Recomendado",
740
+ "websiteFriendlyName": "Sitio web",
741
+ "digitalBusinessCardFriendlyName": "Tarjeta de visita digital"
734
742
  },
735
743
  "shapeLibrary": {
736
744
  "loadMoreShapes": "Cargar más formas"
@@ -336,7 +336,8 @@
336
336
  "copyrightTextPlaceholder": "Texte de copyright ici",
337
337
  "continue": "Continuer",
338
338
  "defaultSaveDescription": "N’oubliez pas de publier vos modifications une fois que votre design vous convient.",
339
- "saveSuccess": "Enregistrement réussi !"
339
+ "saveSuccess": "Enregistrement réussi !",
340
+ "changeTemplateConfirmationMessage": "Si vous changez de modèle, vous perdrez vos modifications et tout votre contenu sera effacé. Nous vous recommandons de dupliquer votre site au préalable si vous souhaitez conserver vos modifications."
340
341
  },
341
342
  "error": {
342
343
  "maxCharacters": "Vous avez atteint la limite maximale de caractères autorisés",
@@ -366,6 +367,11 @@
366
367
  "mailingListError": "Une erreur s'est produite. Impossible de s'abonner à la liste de diffusion.",
367
368
  "contactMessageError": "Une erreur s'est produite. Impossible de s'inscrire pour envoyer le formulaire de contact."
368
369
  },
370
+ "confirmModal": {
371
+ "confirmMessageTitle": "Êtes-vous sûr ?",
372
+ "noLabel": "Non",
373
+ "yesLabel": "Oui"
374
+ },
369
375
  "colorField": {
370
376
  "recommendedColors": "Couleurs recommandées",
371
377
  "logoColors": "Couleurs du logo",
@@ -730,7 +736,9 @@
730
736
  "domainSearchButtonLabel": "Rechercher",
731
737
  "customDomainCardDescription": "Permettez aux clients de vous trouver facilement grâce à un nom de domaine qui correspond à votre entreprise",
732
738
  "customDomainLabel": "Domaine personnalisé",
733
- "recommendedLabel": "Recommandé"
739
+ "recommendedLabel": "Recommandé",
740
+ "websiteFriendlyName": "Site Web",
741
+ "digitalBusinessCardFriendlyName": "Carte de visite numérique"
734
742
  },
735
743
  "shapeLibrary": {
736
744
  "loadMoreShapes": "Charger plus de formes"
@@ -336,7 +336,8 @@
336
336
  "copyrightTextPlaceholder": "Copyright text here",
337
337
  "continue": "Continue",
338
338
  "defaultSaveDescription": "Don’t forget to publish your changes once you are happy with your design.",
339
- "saveSuccess": "Save successful!"
339
+ "saveSuccess": "Save successful!",
340
+ "changeTemplateConfirmationMessage": "Changing templates will cause you to lose your changes. All your content will be erased. We recommend you duplicate your site beforehand if you want to retain your changes."
340
341
  },
341
342
  "error": {
342
343
  "maxCharacters": "You have reached your maximum limit of characters allowed",
@@ -366,6 +367,11 @@
366
367
  "mailingListError": "An error has occurred. Unable to subscribe to mailing list.",
367
368
  "contactMessageError": "An error has occurred. Unable to subscribe to submit contact form."
368
369
  },
370
+ "confirmModal": {
371
+ "confirmMessageTitle": "Are you sure?",
372
+ "noLabel": "No",
373
+ "yesLabel": "Yes"
374
+ },
369
375
  "colorField": {
370
376
  "recommendedColors": "Recommended Colors",
371
377
  "logoColors": "Logo Colors",
@@ -730,7 +736,9 @@
730
736
  "domainSearchButtonLabel": "Search",
731
737
  "customDomainCardDescription": "Make it easy for customers to find you with a domain that matches your business",
732
738
  "customDomainLabel": "Custom Domain",
733
- "recommendedLabel": "Recommended"
739
+ "recommendedLabel": "Recommended",
740
+ "websiteFriendlyName": "Website",
741
+ "digitalBusinessCardFriendlyName": "Digital Business Card"
734
742
  },
735
743
  "shapeLibrary": {
736
744
  "loadMoreShapes": "Load More Shapes"
@@ -336,7 +336,8 @@
336
336
  "copyrightTextPlaceholder": "Texto de direitos de autor aqui",
337
337
  "continue": "Continuar",
338
338
  "defaultSaveDescription": "Não se esqueça de publicar as suas alterações quando estiver satisfeito com o seu design.",
339
- "saveSuccess": "Gravação bem-sucedida!"
339
+ "saveSuccess": "Gravação bem-sucedida!",
340
+ "changeTemplateConfirmationMessage": "Alterar modelos fará com que perca as suas alterações. Todo o seu conteúdo será apagado. Recomendamos que duplique o seu site previamente, caso pretenda manter as suas alterações."
340
341
  },
341
342
  "error": {
342
343
  "maxCharacters": "Atingiu o limite máximo de caracteres permitido",
@@ -366,6 +367,11 @@
366
367
  "mailingListError": "Ocorreu um erro. Não é possível subscrever a lista de e-mail.",
367
368
  "contactMessageError": "Ocorreu um erro. Não é possível subscrever para enviar o formulário de contacto."
368
369
  },
370
+ "confirmModal": {
371
+ "confirmMessageTitle": "Tem a certeza?",
372
+ "noLabel": "Não",
373
+ "yesLabel": "Sim"
374
+ },
369
375
  "colorField": {
370
376
  "recommendedColors": "Cores recomendadas",
371
377
  "logoColors": "Cores do logótipo",
@@ -730,7 +736,9 @@
730
736
  "domainSearchButtonLabel": "Pesquisar",
731
737
  "customDomainCardDescription": "Permita que os clientes encontrem a sua empresa facilmente com um domínio que corresponda à empresa",
732
738
  "customDomainLabel": "Domínio personalizado",
733
- "recommendedLabel": "Recomendado"
739
+ "recommendedLabel": "Recomendado",
740
+ "websiteFriendlyName": "Website",
741
+ "digitalBusinessCardFriendlyName": "Cartão de visita digital"
734
742
  },
735
743
  "shapeLibrary": {
736
744
  "loadMoreShapes": "Carregar mais formas"
@@ -187,6 +187,8 @@ const productDetailModalTr = (key, valuesToInterpolate = {}) =>
187
187
  tr(`productDetailModal.${key}`, valuesToInterpolate);
188
188
  const videoTr = (key, valuesToInterpolate = {}) =>
189
189
  tr(`video.${key}`, valuesToInterpolate);
190
+ const confirmModalTr = (key, valuesToInterpolate = {}) =>
191
+ tr(`confirmModal.${key}`, valuesToInterpolate);
190
192
 
191
193
  const currentLocale = (): LocaleTypes => {
192
194
  const i18 = getI18NextInstance();
@@ -279,4 +281,5 @@ export {
279
281
  requestPaymentStripeTr,
280
282
  productDetailModalTr,
281
283
  videoTr,
284
+ confirmModalTr,
282
285
  };
@@ -44,6 +44,7 @@
44
44
  "copyrightTextPlaceholder" : "Copyright-Text hier",
45
45
  "continue" : "Weiter",
46
46
  "defaultSaveDescription" : "Vergessen Sie nicht, Ihre Änderungen zu veröffentlichen, sobald Sie mit Ihrem Design zufrieden sind.",
47
- "saveSuccess" : "Gespeichert!"
47
+ "saveSuccess" : "Gespeichert!",
48
+ "changeTemplateConfirmationMessage" : "Wenn Sie die Vorlagen ändern, gehen Ihre Änderungen verloren. Alle Ihre Inhalte werden gelöscht. Wir empfehlen Ihnen, Ihre Website vorher zu duplizieren, wenn Sie Ihre Änderungen beibehalten möchten."
48
49
  }
49
50
  }
@@ -44,6 +44,7 @@
44
44
  "copyrightTextPlaceholder" : "Texto de copyright aquí",
45
45
  "continue" : "Continuar",
46
46
  "defaultSaveDescription" : "No olvides publicar los cambios una vez que tengas un diseño que te guste.",
47
- "saveSuccess" : "¡Se ha guardado correctamente!"
47
+ "saveSuccess" : "¡Se ha guardado correctamente!",
48
+ "changeTemplateConfirmationMessage" : "Cambiar las plantillas hará que pierdas los cambios. Se borrará todo el contenido. Te recomendamos que hagas un duplicado de tu sitio web de antemano si quieres conservar los cambios."
48
49
  }
49
50
  }
@@ -44,6 +44,7 @@
44
44
  "copyrightTextPlaceholder" : "Texte de copyright ici",
45
45
  "continue" : "Continuer",
46
46
  "defaultSaveDescription" : "N’oubliez pas de publier vos modifications une fois que votre design vous convient.",
47
- "saveSuccess" : "Enregistrement réussi !"
47
+ "saveSuccess" : "Enregistrement réussi !",
48
+ "changeTemplateConfirmationMessage" : "Si vous changez de modèle, vous perdrez vos modifications et tout votre contenu sera effacé. Nous vous recommandons de dupliquer votre site au préalable si vous souhaitez conserver vos modifications."
48
49
  }
49
50
  }
@@ -52,6 +52,8 @@
52
52
 
53
53
  "continue": "Continue",
54
54
  "defaultSaveDescription": "Don’t forget to publish your changes once you are happy with your design.",
55
- "saveSuccess": "Save successful!"
55
+ "saveSuccess": "Save successful!",
56
+
57
+ "changeTemplateConfirmationMessage": "Changing templates will cause you to lose your changes. All your content will be erased. We recommend you duplicate your site beforehand if you want to retain your changes."
56
58
  }
57
59
  }
@@ -44,6 +44,7 @@
44
44
  "copyrightTextPlaceholder" : "Texto de direitos de autor aqui",
45
45
  "continue" : "Continuar",
46
46
  "defaultSaveDescription" : "Não se esqueça de publicar as suas alterações quando estiver satisfeito com o seu design.",
47
- "saveSuccess" : "Gravação bem-sucedida!"
47
+ "saveSuccess" : "Gravação bem-sucedida!",
48
+ "changeTemplateConfirmationMessage" : "Alterar modelos fará com que perca as suas alterações. Todo o seu conteúdo será apagado. Recomendamos que duplique o seu site previamente, caso pretenda manter as suas alterações."
48
49
  }
49
50
  }
@@ -1,5 +1,6 @@
1
1
  import { defineComponent, computed } from 'vue';
2
2
  import { useBrandPageContainerStore } from '../../brand-page-maker/stores';
3
+ import { confirmModalTr } from '../../composables/useTranslate';
3
4
 
4
5
  export default defineComponent({
5
6
  props: {
@@ -17,6 +18,7 @@ export default defineComponent({
17
18
  const containerStore = useBrandPageContainerStore();
18
19
 
19
20
  return {
21
+ confirmModalTr,
20
22
  isDesignCom: computed(() => containerStore.isDesignCom),
21
23
  };
22
24
  },
@@ -10,7 +10,9 @@
10
10
  @close-modal="onCancel"
11
11
  >
12
12
  <template #header>
13
- <h2 class="tw-text-lg tw-font-bold tw-mb-2">Are you sure?</h2>
13
+ <h2 class="tw-text-lg tw-font-bold tw-mb-2">
14
+ {{ confirmModalTr('confirmMessageTitle') }}
15
+ </h2>
14
16
  </template>
15
17
  <template v-if="!!description" #default>
16
18
  <div class="tw-my-4">{{ description }}</div>
@@ -19,13 +21,13 @@
19
21
  <div class="tw-flex tw-justify-center tw-pt-4">
20
22
  <Button
21
23
  classes="tw-mr-2 tw-px-8"
22
- label="No"
24
+ :label="confirmModalTr('noLabel')"
23
25
  variant="outline"
24
26
  @on-click.stop="onCancel"
25
27
  />
26
28
  <Button
27
29
  classes="tw-ml-2 tw-px-8"
28
- label="Yes"
30
+ :label="confirmModalTr('yesLabel')"
29
31
  variant="success"
30
32
  @on-click.stop="onConfirm"
31
33
  />
@@ -0,0 +1,7 @@
1
+ {
2
+ "confirmModal" : {
3
+ "confirmMessageTitle" : "Sind Sie sicher?",
4
+ "noLabel" : "Nein",
5
+ "yesLabel" : "Ja"
6
+ }
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "confirmModal" : {
3
+ "confirmMessageTitle" : "¿Estás seguro?",
4
+ "noLabel" : "No",
5
+ "yesLabel" : "Sí"
6
+ }
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "confirmModal" : {
3
+ "confirmMessageTitle" : "Êtes-vous sûr ?",
4
+ "noLabel" : "Non",
5
+ "yesLabel" : "Oui"
6
+ }
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "confirmModal": {
3
+ "confirmMessageTitle": "Are you sure?",
4
+ "noLabel": "No",
5
+ "yesLabel": "Yes"
6
+ }
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "confirmModal" : {
3
+ "confirmMessageTitle" : "Tem a certeza?",
4
+ "noLabel" : "Não",
5
+ "yesLabel" : "Sim"
6
+ }
7
+ }
@@ -49,7 +49,7 @@
49
49
  :show-rich-text-editor="showRichTextEditor"
50
50
  :settings="getFieldSettings(id, settingsName)"
51
51
  :settings-name="settingsName"
52
- :title="field.title"
52
+ :title="showRichTextEditor ? '' : field.title"
53
53
  :styles="content[`${field.name}Style`]"
54
54
  :label="field.label"
55
55
  :fields="field.fields"
@@ -41,7 +41,10 @@
41
41
  @update:model-value="onRemoveImage(option.index)"
42
42
  />
43
43
  </div>
44
- <h4 class="tw-mt-3 tw-text-sm tw-font-bold">
44
+ <h4
45
+ v-if="arePaymentOptionDescriptionsRequired"
46
+ class="tw-mt-3 tw-text-sm tw-font-bold"
47
+ >
45
48
  {{ commonTr(`title`) }}
46
49
  </h4>
47
50
  <TextInput
@@ -63,9 +63,20 @@ export default defineComponent({
63
63
  () => brandPageMakerStore.brandPageViewModel,
64
64
  ),
65
65
  backUrl: computed(() => localisedRouteStore.backToWebsiteManageUrlPath),
66
- brandPageDisplayName: computed(
67
- () => brandPageContainerStore.brandPageDisplayName,
68
- ),
66
+ brandPageDisplayName: computed(() => {
67
+ const brandPageName = brandPageContainerStore.brandPageDisplayName;
68
+
69
+ switch (brandPageName) {
70
+ case 'Website':
71
+ return publishBrandPageModalWithStateTr('websiteFriendlyName');
72
+ case 'Digital Business Card':
73
+ return publishBrandPageModalWithStateTr(
74
+ 'digitalBusinessCardFriendlyName',
75
+ );
76
+ default:
77
+ return brandPageName;
78
+ }
79
+ }),
69
80
  publishBrandPage: computed(
70
81
  () => brandPageContainerStore.publishBrandPage,
71
82
  ),
@@ -3,6 +3,8 @@
3
3
  "domainSearchButtonLabel" : "Suche",
4
4
  "customDomainCardDescription" : "Wählen Sie eine Domain, die zu Ihrem Unternehmen passt, damit Ihre Kunden Sie problemlos finden",
5
5
  "customDomainLabel" : "Benutzerdefinierte Domain",
6
- "recommendedLabel" : "Empfohlen"
6
+ "recommendedLabel" : "Empfohlen",
7
+ "websiteFriendlyName" : "Website",
8
+ "digitalBusinessCardFriendlyName" : "Digitale Visitenkarte"
7
9
  }
8
- }
10
+ }
@@ -3,6 +3,8 @@
3
3
  "domainSearchButtonLabel" : "Buscar",
4
4
  "customDomainCardDescription" : "Facilita que los clientes te encuentren con un dominio que sea fiel reflejo de tu negocio",
5
5
  "customDomainLabel" : "Dominio personalizado",
6
- "recommendedLabel" : "Recomendado"
6
+ "recommendedLabel" : "Recomendado",
7
+ "websiteFriendlyName" : "Sitio web",
8
+ "digitalBusinessCardFriendlyName" : "Tarjeta de visita digital"
7
9
  }
8
- }
10
+ }
@@ -3,6 +3,8 @@
3
3
  "domainSearchButtonLabel" : "Rechercher",
4
4
  "customDomainCardDescription" : "Permettez aux clients de vous trouver facilement grâce à un nom de domaine qui correspond à votre entreprise",
5
5
  "customDomainLabel" : "Domaine personnalisé",
6
- "recommendedLabel" : "Recommandé"
6
+ "recommendedLabel" : "Recommandé",
7
+ "websiteFriendlyName" : "Site Web",
8
+ "digitalBusinessCardFriendlyName" : "Carte de visite numérique"
7
9
  }
8
- }
10
+ }
@@ -3,6 +3,8 @@
3
3
  "domainSearchButtonLabel": "Search",
4
4
  "customDomainCardDescription": "Make it easy for customers to find you with a domain that matches your business",
5
5
  "customDomainLabel": "Custom Domain",
6
- "recommendedLabel": "Recommended"
6
+ "recommendedLabel": "Recommended",
7
+ "websiteFriendlyName": "Website",
8
+ "digitalBusinessCardFriendlyName": "Digital Business Card"
7
9
  }
8
- }
10
+ }
@@ -3,6 +3,8 @@
3
3
  "domainSearchButtonLabel" : "Pesquisar",
4
4
  "customDomainCardDescription" : "Permita que os clientes encontrem a sua empresa facilmente com um domínio que corresponda à empresa",
5
5
  "customDomainLabel" : "Domínio personalizado",
6
- "recommendedLabel" : "Recomendado"
6
+ "recommendedLabel" : "Recomendado",
7
+ "websiteFriendlyName" : "Website",
8
+ "digitalBusinessCardFriendlyName" : "Cartão de visita digital"
7
9
  }
8
- }
10
+ }
@@ -1,50 +0,0 @@
1
- import type { PropType } from 'vue';
2
- import type { MapViewModel } from '../../view-models';
3
- import type { BrandPageContext } from '../../models';
4
- declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
5
- viewModel: {
6
- type: PropType<MapViewModel>;
7
- required: true;
8
- };
9
- context: {
10
- type: PropType<BrandPageContext>;
11
- required: true;
12
- };
13
- }>, {}, {}, {
14
- placeId(): string | undefined;
15
- }, {}, import("vue").DefineComponent<import("vue").ExtractPropTypes<{
16
- isPreview: {
17
- type: BooleanConstructor;
18
- required: false;
19
- default: boolean;
20
- };
21
- isMobileDevice: {
22
- type: BooleanConstructor;
23
- required: false;
24
- default: undefined;
25
- };
26
- }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
27
- isPreview: {
28
- type: BooleanConstructor;
29
- required: false;
30
- default: boolean;
31
- };
32
- isMobileDevice: {
33
- type: BooleanConstructor;
34
- required: false;
35
- default: undefined;
36
- };
37
- }>> & Readonly<{}>, {
38
- isPreview: boolean;
39
- isMobileDevice: boolean;
40
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
41
- viewModel: {
42
- type: PropType<MapViewModel>;
43
- required: true;
44
- };
45
- context: {
46
- type: PropType<BrandPageContext>;
47
- required: true;
48
- };
49
- }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
50
- export default _default;