@designcrowd/fe-shared-lib 1.2.6 → 1.2.7-rr-debugging

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 (63) hide show
  1. package/.github/workflows/auto-merge.yml +52 -0
  2. package/{public → dist}/css/tailwind-brandCrowd.css +608 -501
  3. package/{public → dist}/css/tailwind-brandPage.css +528 -425
  4. package/{public → dist}/css/tailwind-crazyDomains.css +608 -501
  5. package/{public → dist}/css/tailwind-designCom.css +608 -501
  6. package/{public → dist}/css/tailwind-designCrowd.css +608 -501
  7. package/package.json +2 -2
  8. package/src/atoms/components/Price/Price.vue +1 -1
  9. package/src/bundles/bundled-translations.de-DE.json +49 -2
  10. package/src/bundles/bundled-translations.es-ES.json +49 -2
  11. package/src/bundles/bundled-translations.fr-FR.json +49 -2
  12. package/src/bundles/bundled-translations.json +49 -2
  13. package/src/bundles/bundled-translations.pt-PT.json +49 -2
  14. package/src/experiences/components/PublishBrandPageModal/PublishBrandPageCard.vue +14 -10
  15. package/src/experiences/components/PublishBrandPageModal/PublishBrandPageModal.stories.js +29 -6
  16. package/src/experiences/components/PublishBrandPageModal/PublishBrandPageModal.vue +59 -27
  17. package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.de-DE.json +22 -0
  18. package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.es-ES.json +22 -0
  19. package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.fr-FR.json +22 -0
  20. package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.json +22 -0
  21. package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.pt-PT.json +22 -0
  22. package/src/experiences/components/SellDomainNameList/SellDomainNameList.vue +15 -7
  23. package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.de-DE.json +8 -0
  24. package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.es-ES.json +8 -0
  25. package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.fr-FR.json +8 -0
  26. package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.json +8 -0
  27. package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.pt-PT.json +8 -0
  28. package/src/experiences/components/SellDomainNameListModal/SellDomainNameListModal.vue +12 -8
  29. package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.de-DE.json +6 -0
  30. package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.es-ES.json +6 -0
  31. package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.fr-FR.json +6 -0
  32. package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.json +6 -0
  33. package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.pt-PT.json +6 -0
  34. package/src/experiences/components/SellDomainNameModalApplication/SellDomainNameModalApplication.vue +13 -9
  35. package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.de-DE.json +6 -0
  36. package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.es-ES.json +6 -0
  37. package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.fr-FR.json +6 -0
  38. package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.json +6 -0
  39. package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.pt-PT.json +6 -0
  40. package/src/experiences/components/SellDomainNameSearch/SellDomainNameSearch.vue +18 -13
  41. package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.de-DE.json +8 -0
  42. package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.es-ES.json +8 -0
  43. package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.fr-FR.json +8 -0
  44. package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.json +8 -0
  45. package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.pt-PT.json +8 -0
  46. package/src/experiences/components/SellDomainNameSearchResult/SellDomainNameListSearchResult.vue +15 -5
  47. package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.de-DE.json +6 -0
  48. package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.es-ES.json +6 -0
  49. package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.fr-FR.json +6 -0
  50. package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.json +6 -0
  51. package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.pt-PT.json +6 -0
  52. package/src/experiences/components/SellDomainNameWidget/SellDomainNameWidget.vue +15 -12
  53. package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.de-DE.json +8 -0
  54. package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.es-ES.json +8 -0
  55. package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.fr-FR.json +8 -0
  56. package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.json +8 -0
  57. package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.pt-PT.json +8 -0
  58. package/src/useSharedLibTranslate.js +45 -3
  59. package/src/experiences/components/PublishBrandPageModal/i18n/publish-modal.de-DE.json +0 -5
  60. package/src/experiences/components/PublishBrandPageModal/i18n/publish-modal.es-ES.json +0 -5
  61. package/src/experiences/components/PublishBrandPageModal/i18n/publish-modal.fr-FR.json +0 -5
  62. package/src/experiences/components/PublishBrandPageModal/i18n/publish-modal.json +0 -5
  63. package/src/experiences/components/PublishBrandPageModal/i18n/publish-modal.pt-PT.json +0 -5
@@ -11,15 +11,15 @@
11
11
  >
12
12
  <template #header>
13
13
  <div v-if="isNotPublished || isSlugEditMode" class="tw-text-center tw-font-bold tw-mb-8 tw-mt-8 tw-text-4xl">
14
- <span>Set the URL for your {{ brandPageDisplayName }}</span>
14
+ <span>{{ firstTimePublishHeaderLabel }}</span>
15
15
  </div>
16
16
  <div v-if="isPublished && !isSlugEditMode" class="tw-text-center tw-font-bold tw-mb-8 tw-mt-8">
17
- <p class="tw-font-bold tw-text-black tw-mb-2 tw-text-4xl">Site published!</p>
17
+ <p class="tw-font-bold tw-text-black tw-mb-2 tw-text-4xl">{{ sitePublishedLabel }}</p>
18
18
  <p v-if="hasPurchasedDomains || isCustomDomainActive" class="tw-text-grayscale-600 tw-mb-8">
19
- Your {{ brandPageDisplayName }} is live! Start using your link:
19
+ {{ publishSuccessLabel }}
20
20
  </p>
21
21
  <p v-else class="tw-text-grayscale-600 tw-mb-8 tw-font-normal">
22
- {{ headerSubtitle }}
22
+ {{ publishedSuccessDescriptionLabel }}
23
23
  </p>
24
24
  </div>
25
25
  </template>
@@ -44,25 +44,25 @@
44
44
  for="domain-type"
45
45
  class="tw-font-sans tw-w-full tw-text-grayscale-600 tw-text-sm tw-cursor-pointer tw-ml-2"
46
46
  >
47
- <span class="tw-inline-block tw-rounded-full">Free domain</span>
47
+ <span class="tw-inline-block tw-rounded-full">{{ freeDomainLabel }}</span>
48
48
  </label>
49
49
  </div>
50
50
  <div v-if="isNotPublished || isSlugEditMode" class="tw-mt-4">
51
51
  <PublishBrandPageCard
52
52
  v-if="!hasPurchasedDomains"
53
53
  :img-url="iconUrl"
54
- title="Free Address"
55
- description="Choose a free address to publish now. You can always edit the URL later"
54
+ :title="freePublishCardTitleLabel"
55
+ :description="freePublishCardDescriptionLabel"
56
56
  :is-design-com="isDesignCom"
57
57
  :has-search-button="false"
58
58
  >
59
59
  <template #slug>
60
60
  <div class="tw-flex tw-flex-col md:tw-flex-row tw-justify-between">
61
- <div>
61
+ <div class="tw-grow md:tw-mr-2">
62
62
  <TextInput
63
63
  v-model="internalSlug"
64
- element-classes="tw-mb-0 !tw-rounded-l-none tw-text-md tw-w-1/3"
65
- :prefix-text="`${brandPageBaseUrl}/`"
64
+ element-classes="tw-mb-0 !tw-rounded-l-none tw-text-md"
65
+ :prefix-text="`${brandPageBaseUrlWithoutHttps}/`"
66
66
  :error="!!slugValidationError"
67
67
  :disabled="isInputEnabled"
68
68
  :placeholder="getPlaceHolder"
@@ -78,9 +78,9 @@
78
78
  </div>
79
79
  </div>
80
80
  <Button
81
- label="Publish"
81
+ :label="publishLabel"
82
82
  :disabled="isPublishingDisabled"
83
- class="tw-flex tw-items-center tw-justify-center md:tw-ml-2 tw-mt-2 md:tw-mt-0 tw-font-sans tw-font-bold tw-transition-colors tw-duration-300 tw-text-sm tw-w-full tw-rounded tw-cursor-pointer tw-w-full md:tw-w-24"
83
+ class="tw-flex tw-items-center tw-justify-center tw-mt-2 md:tw-mt-0 tw-font-bold tw-transition-colors tw-duration-300"
84
84
  data-test-brand-page-publish-button
85
85
  variant="primary"
86
86
  size="small-medium"
@@ -97,7 +97,7 @@
97
97
  <TextInput
98
98
  v-model="internalSlug"
99
99
  element-classes="tw-mb-0 !tw-rounded-l-none tw-text-lg"
100
- :prefix-text="`${brandPageBaseUrl}/`"
100
+ :prefix-text="`${brandPageBaseUrlWithoutHttps}/`"
101
101
  :error="!!slugValidationError"
102
102
  :disabled="isInputEnabled"
103
103
  :placeholder="getPlaceHolder"
@@ -128,7 +128,7 @@
128
128
  for="domain-type"
129
129
  class="tw-font-sans tw-w-full tw-text-grayscale-600 tw-text-sm tw-cursor-pointer tw-ml-2"
130
130
  >
131
- <span class="tw-inline-block tw-rounded-full">Purchased domain</span>
131
+ <span class="tw-inline-block tw-rounded-full">{{ purchasedDomainLabel }}</span>
132
132
  </label>
133
133
  </div>
134
134
  <div class="tw-mt-4 domain-dropdown">
@@ -143,7 +143,7 @@
143
143
  :class="{
144
144
  'tw-text-grayscale-600 tw-font-normal': !selectedCustomDomain,
145
145
  }"
146
- :title="(selectedCustomDomain && selectedCustomDomain.domainName) || 'Select domain name'"
146
+ :title="(selectedCustomDomain && selectedCustomDomain.domainName) || selectDomainDropdownPlaceholder"
147
147
  >
148
148
  <DropdownItem
149
149
  v-for="purchasedDomain of domains"
@@ -167,7 +167,7 @@
167
167
  :style="isMobile ? 'padding-left: 1.5rem; padding-right: 1.5rem;' : ''"
168
168
  >
169
169
  <Button
170
- :label="isSlugEditMode ? 'Set URL' : 'Publish'"
170
+ :label="isSlugEditMode ? setUrlLabel : publishLabel"
171
171
  :variant="isDesignCom ? 'primary' : 'primary-with-icon'"
172
172
  icon="chevron-right-wide"
173
173
  :disabled="isPublishingDisabled"
@@ -177,7 +177,7 @@
177
177
  @on-click="onPublish"
178
178
  />
179
179
  <Button
180
- label="No thanks, maybe later"
180
+ :label="hasAlreadyPurchasedDomainCloseButtonLabel"
181
181
  variant="no-border"
182
182
  size="large"
183
183
  class="tw-my-4"
@@ -200,7 +200,7 @@
200
200
  />
201
201
  </div>
202
202
  <Button
203
- label="VIEW MORE DOMAINS"
203
+ :label="viewMoreDomainLabel"
204
204
  variant="no-border"
205
205
  size="small-medium"
206
206
  class="tw-text-center"
@@ -211,11 +211,13 @@
211
211
  <TextCopyField
212
212
  button-variant="secondary"
213
213
  :text="brandPageUrl"
214
+ :default-copy-button-text="copyLabel"
215
+ :copied-button-text="copySuccessLabel"
214
216
  data-test-brand-page-copy-input
215
217
  @on-click="onCopyUrlClick"
216
218
  />
217
219
  <Button
218
- :label="`View ${brandPageDisplayName}`"
220
+ :label="viewMyWebsiteLabel"
219
221
  :variant="isDesignCom ? 'primary' : 'primary-with-icon'"
220
222
  icon="chevron-right-wide"
221
223
  size="medium"
@@ -246,7 +248,6 @@
246
248
  </div>
247
249
  </template>
248
250
  <script>
249
- import { computed } from 'vue';
250
251
  import Modal from '../../../atoms/components/Modal/Modal.vue';
251
252
  import PublishBrandPageCard from './PublishBrandPageCard.vue';
252
253
  import TextInput from '../../../atoms/components/TextInput/TextInput.vue';
@@ -260,9 +261,7 @@ import SellDomainNameListModal from '../SellDomainNameListModal/SellDomainNameLi
260
261
  import brandCrowdApiClient from '../../clients/brand-crowd-api.client';
261
262
  import Events, { sitePublishedModal } from '../../constants/event-constants';
262
263
  import mediaQueryMixin from '../../mixins/mediaQueryMixin';
263
- import { tr } from '../../../useSharedLibTranslate';
264
-
265
- const headerSubtitle = 'Buy matching domain name for your brand';
264
+ import { publishBrandPageModalTr } from '../../../useSharedLibTranslate';
266
265
 
267
266
  const DOMAIN_TYPES = {
268
267
  slug: 'slug',
@@ -417,8 +416,22 @@ export default {
417
416
  ],
418
417
  setup() {
419
418
  return {
420
- tr,
421
- testMessage: computed(() => tr('publishModal.test')),
419
+ publishBrandPageModalTr,
420
+ sitePublishedLabel: publishBrandPageModalTr('sitePublishedLabel'),
421
+ freePublishCardTitleLabel: publishBrandPageModalTr('freePublishCardTitleLabel'),
422
+ freePublishCardDescriptionLabel: publishBrandPageModalTr('freePublishCardDescriptionLabel'),
423
+ slugInputPlaceholderYourNameLabel: publishBrandPageModalTr('slugInputPlaceholderYourNameLabel'),
424
+ slugInputPlaceholderYourBusinessNameLabel: publishBrandPageModalTr('slugInputPlaceholderYourBusinessNameLabel'),
425
+ freeDomainLabel: publishBrandPageModalTr('freeDomainLabel'),
426
+ purchasedDomainLabel: publishBrandPageModalTr('purchasedDomainLabel'),
427
+ setUrlLabel: publishBrandPageModalTr('setUrlLabel'),
428
+ publishLabel: publishBrandPageModalTr('publishLabel'),
429
+ viewMoreDomainLabel: publishBrandPageModalTr('viewMoreDomainLabel'),
430
+ copyLabel: publishBrandPageModalTr('copyLabel'),
431
+ copySuccessLabel: publishBrandPageModalTr('copySuccessLabel'),
432
+ hasAlreadyPurchasedDomainCloseButtonLabel: publishBrandPageModalTr('hasAlreadyPurchasedDomainCloseButtonLabel'),
433
+ publishedSuccessDescriptionLabel: publishBrandPageModalTr('publishedSuccessDescriptionLabel'),
434
+ selectDomainDropdownPlaceholder: publishBrandPageModalTr('selectDomainDropdownPlaceholder'),
422
435
  };
423
436
  },
424
437
  data() {
@@ -427,7 +440,6 @@ export default {
427
440
  domainTypeValue: this.radioValue,
428
441
  internalSlug: this.brandPageSlug,
429
442
  selectedCustomDomain: this.customDomain,
430
- headerSubtitle,
431
443
  userCurrency: undefined,
432
444
  isModalVisible: false,
433
445
  isLoading: false,
@@ -438,6 +450,24 @@ export default {
438
450
  };
439
451
  },
440
452
  computed: {
453
+ brandPageBaseUrlWithoutHttps() {
454
+ return this.brandPageBaseUrl.replace('https://', '');
455
+ },
456
+ firstTimePublishHeaderLabel() {
457
+ return this.publishBrandPageModalTr('firstTimePublishHeaderLabel', {
458
+ brandPageDisplayName: this.brandPageDisplayName,
459
+ });
460
+ },
461
+ publishSuccessLabel() {
462
+ return this.publishBrandPageModalTr('publishSuccessLabel', {
463
+ brandPageDisplayName: this.brandPageDisplayName,
464
+ });
465
+ },
466
+ viewMyWebsiteLabel() {
467
+ return this.publishBrandPageModalTr('viewMyWebsiteLabel', {
468
+ brandPageDisplayName: this.brandPageDisplayName,
469
+ });
470
+ },
441
471
  allowPublish() {
442
472
  if (this.domainTypeValue === DOMAIN_TYPES.slug) {
443
473
  return this.internalSlug && !this.slugValidationError;
@@ -466,7 +496,9 @@ export default {
466
496
  return !this.allowPublish || this.isPublishing;
467
497
  },
468
498
  getPlaceHolder() {
469
- return this.brandPageType === 'brandContact' ? 'your-name' : 'your-business-name';
499
+ return this.brandPageType === 'brandContact'
500
+ ? this.slugInputPlaceholderYourNameLabel
501
+ : this.slugInputPlaceholderYourBusinessNameLabel;
470
502
  },
471
503
  },
472
504
  watch: {
@@ -0,0 +1,22 @@
1
+ {
2
+ "publishBrandPageModal" : {
3
+ "firstTimePublishHeaderLabel" : "Legen Sie die URL für {{brandPageDisplayName}} fest",
4
+ "sitePublishedLabel" : "Seite veröffentlicht!",
5
+ "publishSuccessLabel" : "Ihr {{brandPageDisplayName}} ist live! Beginnen Sie mit der Nutzung Ihres Links:",
6
+ "freePublishCardTitleLabel" : "Freie Adresse",
7
+ "freePublishCardDescriptionLabel" : "Wählen Sie jetzt eine kostenlose Adresse zur Veröffentlichung aus. Sie können die URL später jederzeit bearbeiten",
8
+ "slugInputPlaceholderYourNameLabel" : "ihr-name",
9
+ "slugInputPlaceholderYourBusinessNameLabel" : "ihr-firmen-name",
10
+ "freeDomainLabel" : "Kostenlose Domain",
11
+ "purchasedDomainLabel" : "Erworbene Domain",
12
+ "setUrlLabel" : "URL festlegen",
13
+ "publishLabel" : "Veröffentlichen",
14
+ "viewMoreDomainLabel" : "WEITERE DOMAINS ANZEIGEN",
15
+ "viewMyWebsiteLabel" : "{{brandPageDisplayName}} anzeigen",
16
+ "copyLabel" : "Kopieren",
17
+ "copySuccessLabel" : "Kopiert!",
18
+ "publishedSuccessDescriptionLabel" : "Kaufen Sie eine passende Domain für Ihre Marke",
19
+ "hasAlreadyPurchasedDomainCloseButtonLabel" : "Nein, danke, vielleicht später",
20
+ "selectDomainDropdownPlaceholder" : "Domain auswählen"
21
+ }
22
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "publishBrandPageModal" : {
3
+ "firstTimePublishHeaderLabel" : "Establece la URL para {{brandPageDisplayName}}",
4
+ "sitePublishedLabel" : "¡Sitio publicado!",
5
+ "publishSuccessLabel" : "¡Tu {{brandPageDisplayName}} está activo! Comienza a usar tu enlace:",
6
+ "freePublishCardTitleLabel" : "Dirección gratuita",
7
+ "freePublishCardDescriptionLabel" : "Elige una dirección gratuita para publicar ahora. Siempre puedes editar la URL más tarde",
8
+ "slugInputPlaceholderYourNameLabel" : "tu-nombre",
9
+ "slugInputPlaceholderYourBusinessNameLabel" : "nombre-de-tu-negocio",
10
+ "freeDomainLabel" : "Dominio gratis",
11
+ "purchasedDomainLabel" : "Dominio adquirido",
12
+ "setUrlLabel" : "Establece URL",
13
+ "publishLabel" : "Publicar",
14
+ "viewMoreDomainLabel" : "VER MÁS DOMINIOS",
15
+ "viewMyWebsiteLabel" : "Ver {{brandPageDisplayName}}",
16
+ "copyLabel" : "Copiar",
17
+ "copySuccessLabel" : "¡Copiado!",
18
+ "publishedSuccessDescriptionLabel" : "Compra un nombre de dominio que coincida con tu marca",
19
+ "hasAlreadyPurchasedDomainCloseButtonLabel" : "No gracias, quizás más tarde",
20
+ "selectDomainDropdownPlaceholder" : "Selecciona un nombre de dominio"
21
+ }
22
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "publishBrandPageModal" : {
3
+ "firstTimePublishHeaderLabel" : "Définissez l'URL pour {{brandPageDisplayName}}",
4
+ "sitePublishedLabel" : "Site publié !",
5
+ "publishSuccessLabel" : "Votre {{brandPageDisplayName}} est en ligne ! Commencez à utiliser votre lien :",
6
+ "freePublishCardTitleLabel" : "Adresse libre",
7
+ "freePublishCardDescriptionLabel" : "Choisissez une adresse gratuite pour publier maintenant. Vous pouvez toujours modifier l'URL plus tard",
8
+ "slugInputPlaceholderYourNameLabel" : "your-name",
9
+ "slugInputPlaceholderYourBusinessNameLabel" : "nom-de-votre-entreprise",
10
+ "freeDomainLabel" : "Domaine gratuit",
11
+ "purchasedDomainLabel" : "Domaine acheté",
12
+ "setUrlLabel" : "Définir l'URL",
13
+ "publishLabel" : "Publier",
14
+ "viewMoreDomainLabel" : "VOIR PLUS DE NOMS DE DOMAINE",
15
+ "viewMyWebsiteLabel" : "Voir {{brandPageDisplayName}}",
16
+ "copyLabel" : "Copier",
17
+ "copySuccessLabel" : "Copié !",
18
+ "publishedSuccessDescriptionLabel" : "Achetez un nom de domaine correspondant à votre marque",
19
+ "hasAlreadyPurchasedDomainCloseButtonLabel" : "Non merci, peut-être plus tard",
20
+ "selectDomainDropdownPlaceholder" : "Sélectionner un nom de domaine"
21
+ }
22
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "publishBrandPageModal": {
3
+ "firstTimePublishHeaderLabel": "Set the URL for {{brandPageDisplayName}}",
4
+ "sitePublishedLabel": "Site published!",
5
+ "publishSuccessLabel": "Your {{brandPageDisplayName}} is live! Start using your link:",
6
+ "freePublishCardTitleLabel": "Free Address",
7
+ "freePublishCardDescriptionLabel": "Choose a free address to publish now. You can always edit the URL later",
8
+ "slugInputPlaceholderYourNameLabel": "your-name",
9
+ "slugInputPlaceholderYourBusinessNameLabel": "your-business-name",
10
+ "freeDomainLabel": "Free domain",
11
+ "purchasedDomainLabel": "Purchased domain",
12
+ "setUrlLabel": "Set URL",
13
+ "publishLabel": "Publish",
14
+ "viewMoreDomainLabel": "VIEW MORE DOMAINS",
15
+ "viewMyWebsiteLabel": "View {{brandPageDisplayName}}",
16
+ "copyLabel": "Copy",
17
+ "copySuccessLabel": "Copied!",
18
+ "publishedSuccessDescriptionLabel": "Buy matching domain name for your brand",
19
+ "hasAlreadyPurchasedDomainCloseButtonLabel": "No thanks, maybe later",
20
+ "selectDomainDropdownPlaceholder": "Select domain name"
21
+ }
22
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "publishBrandPageModal" : {
3
+ "firstTimePublishHeaderLabel" : "Defina o URL para {{brandPageDisplayName}}",
4
+ "sitePublishedLabel" : "Site publicado!",
5
+ "publishSuccessLabel" : "A sua página {{brandPageDisplayName}} está ativa! Comece a utilizar o link:",
6
+ "freePublishCardTitleLabel" : "Endereço gratuito",
7
+ "freePublishCardDescriptionLabel" : "Escolha um endereço gratuito para publicar agora. Pode sempre editar o URL mais tarde",
8
+ "slugInputPlaceholderYourNameLabel" : "o-seu-nome",
9
+ "slugInputPlaceholderYourBusinessNameLabel" : "nome-da-sua-empresa",
10
+ "freeDomainLabel" : "Domínio gratuito",
11
+ "purchasedDomainLabel" : "Domínio comprado",
12
+ "setUrlLabel" : "Definir URL",
13
+ "publishLabel" : "Publicar",
14
+ "viewMoreDomainLabel" : "VER MAIS DOMÍNIOS",
15
+ "viewMyWebsiteLabel" : "Ver {{brandPageDisplayName}}",
16
+ "copyLabel" : "Copiar",
17
+ "copySuccessLabel" : "Copiado!",
18
+ "publishedSuccessDescriptionLabel" : "Compre um nome de domínio que corresponda à sua marca",
19
+ "hasAlreadyPurchasedDomainCloseButtonLabel" : "Não, obrigado, talvez mais tarde",
20
+ "selectDomainDropdownPlaceholder" : "Selecionar nome de domínio"
21
+ }
22
+ }
@@ -22,7 +22,7 @@
22
22
  {{ item.domainName }}
23
23
  </div>
24
24
  <div v-if="item.costPrice" class="tw-text-xs tw-text-grayscale-600 tw-flex tw-items-center">
25
- <span class="tw-mr-2"> Cost Price: </span>
25
+ <span class="tw-mr-2"> {{ costPriceLabel }} </span>
26
26
  <Price
27
27
  class="tw-font-bold"
28
28
  :amount="getCostPrice(item)"
@@ -30,7 +30,7 @@
30
30
  :currency="currency"
31
31
  fraction="2"
32
32
  :show-abbreviation="false"
33
- suffix="/yr"
33
+ :suffix="pricePerYearLabel"
34
34
  />
35
35
  </div>
36
36
  <div v-if="!isFree(item) || item.costPrice" class="tw-px-0 tw-mt-4 sm:tw-px-4 sm:tw-mt-0">
@@ -41,7 +41,7 @@
41
41
  :currency="currency"
42
42
  fraction="2"
43
43
  :show-abbreviation="false"
44
- suffix="/yr"
44
+ :suffix="pricePerYearLabel"
45
45
  />
46
46
  </div>
47
47
  </div>
@@ -63,10 +63,10 @@
63
63
  </div>
64
64
  </template>
65
65
  <script>
66
- import Button from '../../../../src/atoms/components/Button/Button.vue';
67
- import Price from '../../../../src/atoms/components/Price/Price.vue';
68
-
66
+ import Button from '../../../atoms/components/Button/Button.vue';
67
+ import Price from '../../../atoms/components/Price/Price.vue';
69
68
  import Events from '../../constants/event-constants';
69
+ import { sellDomainNameListTr } from '../../../useSharedLibTranslate';
70
70
 
71
71
  export default {
72
72
  components: {
@@ -108,6 +108,14 @@ export default {
108
108
  },
109
109
  },
110
110
  emits: ['load-more-domains'],
111
+ setup() {
112
+ return {
113
+ freeDomainButtonLabel: sellDomainNameListTr('freeDomainButtonLabel'),
114
+ buyNowButtonLabel: sellDomainNameListTr('buyNowButtonLabel'),
115
+ pricePerYearLabel: sellDomainNameListTr('pricePerYearLabel'),
116
+ costPriceLabel: sellDomainNameListTr('costPriceLabel'),
117
+ };
118
+ },
111
119
  methods: {
112
120
  onBuyNowClick(domain) {
113
121
  const request = domain;
@@ -134,7 +142,7 @@ export default {
134
142
  return parseFloat(domain.price) === 0;
135
143
  },
136
144
  getPurchaseLabel(domain) {
137
- return this.isFree(domain) ? 'Free Domain' : 'Buy Now';
145
+ return this.isFree(domain) ? this.freeDomainButtonLabel : this.buyNowButtonLabel;
138
146
  },
139
147
  },
140
148
  };
@@ -0,0 +1,8 @@
1
+ {
2
+ "sellDomainNameList" : {
3
+ "freeDomainButtonLabel" : "Kostenlose Domain",
4
+ "buyNowButtonLabel" : "Jetzt kaufen",
5
+ "pricePerYearLabel" : "/yr",
6
+ "costPriceLabel" : "Kostenpreis:"
7
+ }
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "sellDomainNameList" : {
3
+ "freeDomainButtonLabel" : "Dominio gratis",
4
+ "buyNowButtonLabel" : "Comprar ahora",
5
+ "pricePerYearLabel" : "/yr",
6
+ "costPriceLabel" : "Precio de coste:"
7
+ }
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "sellDomainNameList" : {
3
+ "freeDomainButtonLabel" : "Domaine gratuit",
4
+ "buyNowButtonLabel" : "Acheter",
5
+ "pricePerYearLabel" : "/yr",
6
+ "costPriceLabel" : "Prix de revient :"
7
+ }
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "sellDomainNameList": {
3
+ "freeDomainButtonLabel": "Free Domain",
4
+ "buyNowButtonLabel": "Buy Now",
5
+ "pricePerYearLabel": "/yr",
6
+ "costPriceLabel": "Cost Price:"
7
+ }
8
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "sellDomainNameList" : {
3
+ "freeDomainButtonLabel" : "Domínio gratuito",
4
+ "buyNowButtonLabel" : "Comprar Agora",
5
+ "pricePerYearLabel" : "/yr",
6
+ "costPriceLabel" : "Preço de Custo:"
7
+ }
8
+ }
@@ -13,8 +13,8 @@
13
13
  <SellDomainNameSearch
14
14
  v-if="visible"
15
15
  :is-design-com="isDesignCom"
16
- :header-title="headerTitle"
17
- :header-subtitle="headerSubtitle"
16
+ :header-title="headerTitle || domainSearchHeaderTitle"
17
+ :header-subtitle="headerSubtitle || domainSearchHeaderSubtitle"
18
18
  :initial-search-term="modelValue"
19
19
  @onSearch="onSearch"
20
20
  @onSearchTextInputChange="onSearchTextInputChange"
@@ -34,14 +34,12 @@
34
34
  </Modal>
35
35
  </template>
36
36
  <script>
37
- import Modal from '../../../../src/atoms/components/Modal/Modal.vue';
37
+ import Modal from '../../../atoms/components/Modal/Modal.vue';
38
+ import { sellDomainNameListModalTr } from '../../../useSharedLibTranslate';
38
39
 
39
40
  import SellDomainNameSearch from '../SellDomainNameSearch/SellDomainNameSearch.vue';
40
41
  import SellDomainNameSearchResult from '../SellDomainNameSearchResult/SellDomainNameListSearchResult.vue';
41
42
 
42
- const headerSubtitle = 'Buy matching domain name for your brand';
43
- const headerTitle = 'Search a domain name';
44
-
45
43
  export default {
46
44
  components: {
47
45
  Modal,
@@ -60,11 +58,11 @@ export default {
60
58
  },
61
59
  headerSubtitle: {
62
60
  type: String,
63
- default: () => headerSubtitle,
61
+ default: null,
64
62
  },
65
63
  headerTitle: {
66
64
  type: String,
67
- default: () => headerTitle,
65
+ default: null,
68
66
  },
69
67
  isBusy: {
70
68
  type: Boolean,
@@ -94,6 +92,12 @@ export default {
94
92
  },
95
93
  },
96
94
  emits: ['close-modal', 'input', 'search'],
95
+ setup() {
96
+ return {
97
+ domainSearchHeaderTitle: sellDomainNameListModalTr('domainSearchHeaderTitle'),
98
+ domainSearchHeaderSubtitle: sellDomainNameListModalTr('domainSearchHeaderSubtitle'),
99
+ };
100
+ },
97
101
  methods: {
98
102
  onSearch() {
99
103
  this.$emit('search');
@@ -0,0 +1,6 @@
1
+ {
2
+ "sellDomainNameListModal" : {
3
+ "domainSearchHeaderTitle" : "Domainname suchen",
4
+ "domainSearchHeaderSubtitle" : "Kaufen Sie eine passende Domain für Ihre Marke"
5
+ }
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "sellDomainNameListModal" : {
3
+ "domainSearchHeaderTitle" : "Busca un nombre de dominio",
4
+ "domainSearchHeaderSubtitle" : "Compra un nombre de dominio que coincida con tu marca"
5
+ }
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "sellDomainNameListModal" : {
3
+ "domainSearchHeaderTitle" : "Rechercher un nom de domaine",
4
+ "domainSearchHeaderSubtitle" : "Achetez un nom de domaine correspondant à votre marque"
5
+ }
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "sellDomainNameListModal": {
3
+ "domainSearchHeaderTitle": "Search a domain name",
4
+ "domainSearchHeaderSubtitle": "Buy matching domain name for your brand"
5
+ }
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "sellDomainNameListModal" : {
3
+ "domainSearchHeaderTitle" : "Pesquisar um nome de domínio",
4
+ "domainSearchHeaderSubtitle" : "Compre um nome de domínio que corresponda à sua marca"
5
+ }
6
+ }
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <template v-if="!!this.$slots['header']">
2
+ <template v-if="!!$slots.header">
3
3
  <Modal
4
4
  classes="sell-domain-name-list-modal--modal tw-text-black"
5
5
  close-on-esc
@@ -49,8 +49,8 @@
49
49
  <SellDomainNameSearch
50
50
  v-if="visible"
51
51
  :is-design-com="isDesignCom"
52
- :header-title="headerTitle"
53
- :header-subtitle="headerSubtitle"
52
+ :header-title="headerTitle || domainSearchHeaderTitle"
53
+ :header-subtitle="headerSubtitle || domainSearchHeaderSubtitle"
54
54
  :initial-search-term="initialSearchTerm"
55
55
  @onSearch="onSearchDomainName"
56
56
  @onSearchTextInputChange="onSearchTextInputChange"
@@ -71,14 +71,12 @@
71
71
  </template>
72
72
  </template>
73
73
  <script>
74
- import Modal from '../../../../src/atoms/components/Modal/Modal.vue';
74
+ import Modal from '../../../atoms/components/Modal/Modal.vue';
75
75
  import brandCrowdApiClient from '../../clients/brand-crowd-api.client';
76
76
  import SellDomainNameSearch from '../SellDomainNameSearch/SellDomainNameSearch.vue';
77
77
  import SellDomainNameSearchResult from '../SellDomainNameSearchResult/SellDomainNameListSearchResult.vue';
78
78
  import Events from '../../constants/event-constants';
79
-
80
- const headerSubtitle = 'Buy matching domain name for your brand';
81
- const headerTitle = 'Search a domain name';
79
+ import { sellDomainNameModalApplicationTr } from '../../../useSharedLibTranslate';
82
80
 
83
81
  export default {
84
82
  components: {
@@ -89,11 +87,11 @@ export default {
89
87
  props: {
90
88
  headerSubtitle: {
91
89
  type: String,
92
- default: () => headerSubtitle,
90
+ default: null,
93
91
  },
94
92
  headerTitle: {
95
93
  type: String,
96
- default: () => headerTitle,
94
+ default: null,
97
95
  },
98
96
  modelValue: {
99
97
  type: String,
@@ -122,6 +120,12 @@ export default {
122
120
  default: undefined,
123
121
  },
124
122
  },
123
+ setup() {
124
+ return {
125
+ domainSearchHeaderTitle: sellDomainNameModalApplicationTr('domainSearchHeaderTitle'),
126
+ domainSearchHeaderSubtitle: sellDomainNameModalApplicationTr('domainSearchHeaderTitle'),
127
+ };
128
+ },
125
129
  data: () => ({
126
130
  domainNameItems: [],
127
131
  userCurrency: {},
@@ -0,0 +1,6 @@
1
+ {
2
+ "sellDomainNameModalApplication" : {
3
+ "domainSearchHeaderTitle" : "Domainname suchen",
4
+ "domainSearchHeaderSubtitle" : "Kaufen Sie eine passende Domain für Ihre Marke"
5
+ }
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "sellDomainNameModalApplication" : {
3
+ "domainSearchHeaderTitle" : "Busca un nombre de dominio",
4
+ "domainSearchHeaderSubtitle" : "Compra un nombre de dominio que coincida con tu marca"
5
+ }
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "sellDomainNameModalApplication" : {
3
+ "domainSearchHeaderTitle" : "Rechercher un nom de domaine",
4
+ "domainSearchHeaderSubtitle" : "Achetez un nom de domaine correspondant à votre marque"
5
+ }
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "sellDomainNameModalApplication": {
3
+ "domainSearchHeaderTitle": "Search a domain name",
4
+ "domainSearchHeaderSubtitle": "Buy matching domain name for your brand"
5
+ }
6
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "sellDomainNameModalApplication" : {
3
+ "domainSearchHeaderTitle" : "Pesquisar um nome de domínio",
4
+ "domainSearchHeaderSubtitle" : "Compre um nome de domínio que corresponda à sua marca"
5
+ }
6
+ }