@designcrowd/fe-shared-lib 1.2.2-data-id-2 → 1.2.2-ml-jj-1

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 (68) hide show
  1. package/dist/css/tailwind-brandCrowd.css +2419 -0
  2. package/dist/css/tailwind-brandPage.css +2107 -0
  3. package/dist/css/tailwind-crazyDomains.css +2419 -0
  4. package/dist/css/tailwind-designCom.css +2419 -0
  5. package/dist/css/tailwind-designCrowd.css +2419 -0
  6. package/index.js +1 -1
  7. package/package.json +5 -2
  8. package/public/css/tailwind-brandCrowd.css +26 -0
  9. package/public/css/tailwind-brandPage.css +22 -0
  10. package/public/css/tailwind-crazyDomains.css +26 -0
  11. package/public/css/tailwind-designCom.css +26 -0
  12. package/public/css/tailwind-designCrowd.css +26 -0
  13. package/src/atoms/components/Icon/Icon.vue +0 -1
  14. package/src/bundles/bundled-translations.de-DE.json +48 -2
  15. package/src/bundles/bundled-translations.es-ES.json +48 -2
  16. package/src/bundles/bundled-translations.fr-FR.json +48 -2
  17. package/src/bundles/bundled-translations.json +48 -2
  18. package/src/bundles/bundled-translations.pt-PT.json +48 -2
  19. package/src/experiences/components/PublishBrandPageModal/PublishBrandPageCard.vue +14 -10
  20. package/src/experiences/components/PublishBrandPageModal/PublishBrandPageModal.stories.js +24 -0
  21. package/src/experiences/components/PublishBrandPageModal/PublishBrandPageModal.vue +49 -20
  22. package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.de-DE.json +21 -0
  23. package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.es-ES.json +21 -0
  24. package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.fr-FR.json +21 -0
  25. package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.json +21 -0
  26. package/src/experiences/components/PublishBrandPageModal/i18n/publish-brand-page-modal.pt-PT.json +21 -0
  27. package/src/experiences/components/SellDomainNameList/SellDomainNameList.vue +15 -7
  28. package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.de-DE.json +8 -0
  29. package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.es-ES.json +8 -0
  30. package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.fr-FR.json +8 -0
  31. package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.json +8 -0
  32. package/src/experiences/components/SellDomainNameList/i18n/sell-domain-name-list.pt-PT.json +8 -0
  33. package/src/experiences/components/SellDomainNameListModal/SellDomainNameListModal.vue +12 -8
  34. package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.de-DE.json +6 -0
  35. package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.es-ES.json +6 -0
  36. package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.fr-FR.json +6 -0
  37. package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.json +6 -0
  38. package/src/experiences/components/SellDomainNameListModal/i18n/sell-domain-name-list-modal.pt-PT.json +6 -0
  39. package/src/experiences/components/SellDomainNameModalApplication/SellDomainNameModalApplication.vue +13 -9
  40. package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.de-DE.json +6 -0
  41. package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.es-ES.json +6 -0
  42. package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.fr-FR.json +6 -0
  43. package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.json +6 -0
  44. package/src/experiences/components/SellDomainNameModalApplication/i18n/sell-domain-name-modal-application.pt-PT.json +6 -0
  45. package/src/experiences/components/SellDomainNameSearch/SellDomainNameSearch.vue +18 -13
  46. package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.de-DE.json +8 -0
  47. package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.es-ES.json +8 -0
  48. package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.fr-FR.json +8 -0
  49. package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.json +8 -0
  50. package/src/experiences/components/SellDomainNameSearch/i18n/sell-domain-name-search.pt-PT.json +8 -0
  51. package/src/experiences/components/SellDomainNameSearchResult/SellDomainNameListSearchResult.vue +16 -5
  52. package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.de-DE.json +6 -0
  53. package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.es-ES.json +6 -0
  54. package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.fr-FR.json +6 -0
  55. package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.json +6 -0
  56. package/src/experiences/components/SellDomainNameSearchResult/i18n/sell-domain-name-list-search-result.pt-PT.json +6 -0
  57. package/src/experiences/components/SellDomainNameWidget/SellDomainNameWidget.vue +15 -12
  58. package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.de-DE.json +8 -0
  59. package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.es-ES.json +8 -0
  60. package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.fr-FR.json +8 -0
  61. package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.json +8 -0
  62. package/src/experiences/components/SellDomainNameWidget/i18n/sell-domain-name-widget.pt-PT.json +8 -0
  63. package/src/useSharedLibTranslate.js +4 -2
  64. package/src/experiences/components/PublishBrandPageModal/i18n/publish-modal.de-DE.json +0 -5
  65. package/src/experiences/components/PublishBrandPageModal/i18n/publish-modal.es-ES.json +0 -5
  66. package/src/experiences/components/PublishBrandPageModal/i18n/publish-modal.fr-FR.json +0 -5
  67. package/src/experiences/components/PublishBrandPageModal/i18n/publish-modal.json +0 -5
  68. package/src/experiences/components/PublishBrandPageModal/i18n/publish-modal.pt-PT.json +0 -5
@@ -12,10 +12,10 @@
12
12
  {{ title }}
13
13
  </p>
14
14
  <span
15
- v-if="showLabel"
15
+ v-if="pillLabel"
16
16
  class="tw-text-xs tw-h-4 tw-w-fit tw-text-primary-500 tw-border tw-border-solid tw-border-primary-500 tw-rounded-full tw-px-2 tw-font-sans tw-uppercase"
17
17
  >
18
- Recommended
18
+ {{ pillLabel }}
19
19
  </span>
20
20
  </div>
21
21
  <p class="tw-mt-2 md:tw-mt-0 tw-text-grayscale-600 tw-text-sm">
@@ -27,15 +27,15 @@
27
27
  </div>
28
28
  <div v-if="hasSearchButton" class="tw-w-full md:tw-w-auto md:tw-justify-end md:tw-pl-4 desktop-cta">
29
29
  <Button
30
- label="Search"
30
+ :label="searchButtonLabel"
31
31
  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"
32
32
  data-test-brand-page-search-button
33
33
  variant="primary"
34
34
  size="small-medium"
35
- @on-click="onClick"
36
35
  :class="{
37
36
  'tw-uppercase': !isDesignCom,
38
37
  }"
38
+ @on-click="onClick"
39
39
  />
40
40
  </div>
41
41
  </div>
@@ -47,23 +47,23 @@
47
47
  </div>
48
48
  <div v-if="hasSearchButton" class="tw-w-full md:tw-w-auto md:tw-justify-end md:tw-pl-4 mobile-cta tw-mt-2">
49
49
  <Button
50
- label="Search"
50
+ :label="searchButtonLabel"
51
51
  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"
52
52
  data-test-brand-page-search-button
53
53
  variant="primary"
54
54
  size="small-medium"
55
55
  :full-width="true"
56
- @on-click="onClick"
57
56
  :class="{
58
57
  'tw-uppercase': !isDesignCom,
59
58
  }"
59
+ @on-click="onClick"
60
60
  />
61
61
  </div>
62
62
  </div>
63
63
  </div>
64
64
  </template>
65
65
  <script setup lang="ts">
66
- import Button from '../../../../src/atoms/components/Button/Button.vue';
66
+ import Button from '../../../atoms/components/Button/Button.vue';
67
67
 
68
68
  const props = defineProps({
69
69
  title: {
@@ -86,9 +86,13 @@ const props = defineProps({
86
86
  type: Boolean,
87
87
  default: true,
88
88
  },
89
- showLabel: {
90
- type: Boolean,
91
- default: false,
89
+ searchButtonLabel: {
90
+ type: String,
91
+ default: () => 'Search',
92
+ },
93
+ pillLabel: {
94
+ type: String,
95
+ default: null,
92
96
  },
93
97
  });
94
98
 
@@ -1,12 +1,20 @@
1
1
  import Card from './PublishBrandPageCard.vue';
2
2
  import PublishBrandPageModal from './PublishBrandPageModal.vue';
3
3
  import { domains } from './__fixtures__/data';
4
+ import { setLocaleAsync } from '../../../useSharedLibTranslate';
4
5
 
5
6
  export default {
6
7
  title: 'Components/PublishBrandPageModal',
7
8
  component: PublishBrandPageModal,
8
9
  };
9
10
 
11
+ const locale = 'en-US';
12
+
13
+ const loadTranslationAsync = async () => {
14
+ console.log('HERE');
15
+ await setLocaleAsync(locale);
16
+ };
17
+
10
18
  export const NotPublishedWithPurchasedDomains = () => {
11
19
  return {
12
20
  components: {
@@ -15,6 +23,7 @@ export const NotPublishedWithPurchasedDomains = () => {
15
23
  data() {
16
24
  return {
17
25
  domains,
26
+ show: false,
18
27
  };
19
28
  },
20
29
  methods: {},
@@ -34,6 +43,8 @@ export const NotPublishedWithPurchasedDomains = () => {
34
43
  };
35
44
  };
36
45
 
46
+ NotPublishedWithPurchasedDomains.loaders = [loadTranslationAsync];
47
+
37
48
  export const PublishWithSelectedDomain = () => {
38
49
  return {
39
50
  components: {
@@ -75,6 +86,8 @@ export const PublishWithSelectedDomain = () => {
75
86
  };
76
87
  };
77
88
 
89
+ PublishWithSelectedDomain.loaders = [loadTranslationAsync];
90
+
78
91
  export const SetSlug = () => {
79
92
  return {
80
93
  components: {
@@ -101,6 +114,9 @@ export const SetSlug = () => {
101
114
  `,
102
115
  };
103
116
  };
117
+
118
+ SetSlug.loaders = [loadTranslationAsync];
119
+
104
120
  export const Published = () => {
105
121
  return {
106
122
  components: {
@@ -126,6 +142,9 @@ export const Published = () => {
126
142
  `,
127
143
  };
128
144
  };
145
+
146
+ Published.loaders = [loadTranslationAsync];
147
+
129
148
  export const PublishedNoDomains = () => {
130
149
  return {
131
150
  components: {
@@ -153,6 +172,9 @@ export const PublishedNoDomains = () => {
153
172
  `,
154
173
  };
155
174
  };
175
+
176
+ PublishedNoDomains.loaders = [loadTranslationAsync];
177
+
156
178
  export const Free = () => {
157
179
  return {
158
180
  components: {
@@ -201,3 +223,5 @@ export const Free = () => {
201
223
  `,
202
224
  };
203
225
  };
226
+
227
+ Free.loaders = [loadTranslationAsync];
@@ -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,15 +44,15 @@
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
  >
@@ -78,7 +78,7 @@
78
78
  </div>
79
79
  </div>
80
80
  <Button
81
- label="Publish"
81
+ :label="publishLabel"
82
82
  :disabled="isPublishingDisabled"
83
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"
84
84
  data-test-brand-page-publish-button
@@ -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">
@@ -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';
@@ -262,8 +263,6 @@ import Events, { sitePublishedModal } from '../../constants/event-constants';
262
263
  import mediaQueryMixin from '../../mixins/mediaQueryMixin';
263
264
  import { tr } from '../../../useSharedLibTranslate';
264
265
 
265
- const headerSubtitle = 'Buy matching domain name for your brand';
266
-
267
266
  const DOMAIN_TYPES = {
268
267
  slug: 'slug',
269
268
  purchased: 'purchased',
@@ -402,7 +401,7 @@ export default {
402
401
  brandPageType: {
403
402
  type: String,
404
403
  required: true,
405
- default: false,
404
+ default: '',
406
405
  },
407
406
  },
408
407
  emits: [
@@ -418,7 +417,20 @@ export default {
418
417
  setup() {
419
418
  return {
420
419
  tr,
421
- testMessage: computed(() => tr('publishModal.test')),
420
+ sitePublishedLabel: tr('publishBrandPageModal.sitePublishedLabel'),
421
+ freePublishCardTitleLabel: tr('publishBrandPageModal.freePublishCardTitleLabel'),
422
+ freePublishCardDescriptionLabel: tr('publishBrandPageModal.freePublishCardDescriptionLabel'),
423
+ slugInputPlaceholderYourNameLabel: tr('publishBrandPageModal.slugInputPlaceholderYourNameLabel'),
424
+ slugInputPlaceholderYourBusinessNameLabel: tr('publishBrandPageModal.slugInputPlaceholderYourBusinessNameLabel'),
425
+ freeDomainLabel: tr('publishBrandPageModal.freeDomainLabel'),
426
+ purchasedDomainLabel: tr('publishBrandPageModal.purchasedDomainLabel'),
427
+ setUrlLabel: tr('publishBrandPageModal.setUrlLabel'),
428
+ publishLabel: tr('publishBrandPageModal.publishLabel'),
429
+ viewMoreDomainLabel: tr('publishBrandPageModal.viewMoreDomainLabel'),
430
+ copyLabel: tr('publishBrandPageModal.copyLabel'),
431
+ copySuccessLabel: tr('publishBrandPageModal.copySuccessLabel'),
432
+ hasAlreadyPurchasedDomainCloseButtonLabel: tr('publishBrandPageModal.hasAlreadyPurchasedDomainCloseButtonLabel'),
433
+ publishedSuccessDescriptionLabel: tr('publishBrandPageModal.publishedSuccessDescriptionLabel'),
422
434
  };
423
435
  },
424
436
  data() {
@@ -427,7 +439,6 @@ export default {
427
439
  domainTypeValue: this.radioValue,
428
440
  internalSlug: this.brandPageSlug,
429
441
  selectedCustomDomain: this.customDomain,
430
- headerSubtitle,
431
442
  userCurrency: undefined,
432
443
  isModalVisible: false,
433
444
  isLoading: false,
@@ -438,6 +449,22 @@ export default {
438
449
  };
439
450
  },
440
451
  computed: {
452
+ firstTimePublishHeaderLabel() {
453
+ console.log('aaa', this.brandPageDisplayName);
454
+ return this.tr('publishBrandPageModal.firstTimePublishHeaderLabel', {
455
+ brandPageDisplayName: this.brandPageDisplayName,
456
+ });
457
+ },
458
+ publishSuccessLabel() {
459
+ return this.tr('publishBrandPageModal.publishSuccessLabel', {
460
+ brandPageDisplayName: this.brandPageDisplayName,
461
+ });
462
+ },
463
+ viewMyWebsiteLabel() {
464
+ return this.tr('publishBrandPageModal.viewMyWebsiteLabel', {
465
+ brandPageDisplayName: this.brandPageDisplayName,
466
+ });
467
+ },
441
468
  allowPublish() {
442
469
  if (this.domainTypeValue === DOMAIN_TYPES.slug) {
443
470
  return this.internalSlug && !this.slugValidationError;
@@ -466,7 +493,9 @@ export default {
466
493
  return !this.allowPublish || this.isPublishing;
467
494
  },
468
495
  getPlaceHolder() {
469
- return this.brandPageType === 'brandContact' ? 'your-name' : 'your-business-name';
496
+ return this.brandPageType === 'brandContact'
497
+ ? this.slugInputPlaceholderYourNameLabel
498
+ : this.slugInputPlaceholderYourBusinessNameLabel;
470
499
  },
471
500
  },
472
501
  watch: {
@@ -0,0 +1,21 @@
1
+ {
2
+ "publishBrandPageModal": {
3
+ "firstTimePublishHeaderLabel": "Legen Sie die URL für Ihre {{brandPageDisplayName}} fest",
4
+ "sitePublishedLabel": "Seite veröffentlicht!",
5
+ "publishSuccessLabel": "Ihre {{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
+ }
21
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "publishBrandPageModal": {
3
+ "firstTimePublishHeaderLabel": "Define la URL de tu sitio {{brandPageDisplayName}}",
4
+ "sitePublishedLabel": "¡Sitio publicado!",
5
+ "publishSuccessLabel": "¡Tu sitio {{brandPageDisplayName}} está online! Comienza a usar el 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 sitio {{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
+ }
21
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "publishBrandPageModal": {
3
+ "firstTimePublishHeaderLabel": "Définissez l'URL de votre site {{brandPageDisplayName}}",
4
+ "sitePublishedLabel": "Site publié !",
5
+ "publishSuccessLabel": "Votre site {{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 le site {{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
+ }
21
+ }
@@ -0,0 +1,21 @@
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
+ }
21
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "publishBrandPageModal": {
3
+ "firstTimePublishHeaderLabel": "Defina o URL do seu {{brandPageDisplayName}}",
4
+ "sitePublishedLabel": "Site publicado!",
5
+ "publishSuccessLabel": "O seu {{brandPageDisplayName}} está ativo! Comece a usar o seu 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
+ }
21
+ }
@@ -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 { tr } 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: tr('sellDomainNameList.freeDomainButtonLabel'),
114
+ buyNowButtonLabel: tr('sellDomainNameList.buyNowButtonLabel'),
115
+ pricePerYearLabel: tr('sellDomainNameList.pricePerYearLabel'),
116
+ costPriceLabel: tr('sellDomainNameList.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 { tr } 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: tr('sellDomainNameListModal.domainSearchHeaderTitle'),
98
+ domainSearchHeaderSubtitle: tr('sellDomainNameListModal.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
+ }