@designcrowd/fe-shared-lib 1.2.11-byo-modal-7 → 1.2.11-ml-currency-2
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.
- package/Dockerfile +1 -1
- package/dist/css/tailwind-brandCrowd.css +3 -37
- package/dist/css/tailwind-brandPage.css +3 -33
- package/dist/css/tailwind-crazyDomains.css +3 -37
- package/dist/css/tailwind-designCom.css +3 -37
- package/dist/css/tailwind-designCrowd.css +3 -37
- package/package.json +1 -1
- package/src/atoms/components/Price/Price.fixtures.js +62 -2
- package/src/atoms/components/Price/Price.stories.js +55 -5
- package/src/atoms/components/Price/Price.vue +56 -2
- package/src/bundles/bundled-translations.de-DE.json +0 -32
- package/src/bundles/bundled-translations.es-ES.json +0 -32
- package/src/bundles/bundled-translations.fr-FR.json +0 -32
- package/src/bundles/bundled-translations.json +0 -32
- package/src/bundles/bundled-translations.pt-PT.json +0 -32
- package/src/experiences/components/UploadYourLogoDropzone/UploadYourLogoDropzone.vue +8 -18
- package/src/experiences/components/UploadYourLogoOnBoarding/LogoBusinessBrandColours.vue +12 -22
- package/src/experiences/components/UploadYourLogoOnBoarding/LogoBusinessText.vue +5 -11
- package/src/experiences/components/UploadYourLogoOnBoarding/LogoCropper.vue +4 -10
- package/src/experiences/components/UploadYourLogoOnBoarding/LogoPreview.vue +5 -11
- package/src/experiences/components/UploadYourLogoOnBoarding/LogoUploadError.vue +4 -10
- package/src/experiences/components/UploadYourLogoOnBoarding/LogoUploadExitConfirmation.vue +5 -11
- package/src/experiences/components/UploadYourLogoOnBoarding/LogoUploader.vue +1 -7
- package/src/experiences/components/UploadYourLogoOnBoarding/UploadYourLogoOnBoarding.vue +7 -13
- package/src/useSharedLibTranslate.js +1 -3
- package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.de-DE.json +0 -34
- package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.es-ES.json +0 -34
- package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.fr-FR.json +0 -34
- package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.json +0 -35
- package/src/experiences/components/UploadYourLogoOnBoarding/i18n/upload-your-logo.pt-PT.json +0 -34
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Price from './Price.vue';
|
|
2
|
-
import { currencies } from './Price.fixtures';
|
|
2
|
+
import { currencies, locales } from './Price.fixtures';
|
|
3
3
|
|
|
4
4
|
// noinspection JSUnusedGlobalSymbols
|
|
5
5
|
export default {
|
|
@@ -7,6 +7,7 @@ export default {
|
|
|
7
7
|
component: Price,
|
|
8
8
|
args: {
|
|
9
9
|
currencyName: currencies[0].name,
|
|
10
|
+
locale: locales[0]
|
|
10
11
|
},
|
|
11
12
|
argTypes: {
|
|
12
13
|
amount: {
|
|
@@ -16,6 +17,10 @@ export default {
|
|
|
16
17
|
control: { type: 'select' },
|
|
17
18
|
options: currencies.map((x) => x.name),
|
|
18
19
|
},
|
|
20
|
+
locale: {
|
|
21
|
+
control: { type: 'select' },
|
|
22
|
+
options: locales,
|
|
23
|
+
},
|
|
19
24
|
},
|
|
20
25
|
};
|
|
21
26
|
|
|
@@ -31,12 +36,16 @@ export const Sample = {
|
|
|
31
36
|
selectedCurrency() {
|
|
32
37
|
return currencies.find((x) => x.name === this.args.currencyName);
|
|
33
38
|
},
|
|
39
|
+
selectedLocale() {
|
|
40
|
+
return locales.find((x) => x === this.args.locale);
|
|
41
|
+
},
|
|
34
42
|
},
|
|
35
43
|
template: `
|
|
36
44
|
<span>
|
|
37
45
|
<price
|
|
38
46
|
v-bind="args"
|
|
39
47
|
:currency="selectedCurrency"
|
|
48
|
+
:locale="selectedLocale"
|
|
40
49
|
/>
|
|
41
50
|
</span>
|
|
42
51
|
`,
|
|
@@ -59,6 +68,9 @@ export const WithFraction = {
|
|
|
59
68
|
selectedCurrency() {
|
|
60
69
|
return currencies.find((x) => x.name === this.args.currencyName);
|
|
61
70
|
},
|
|
71
|
+
selectedLocale() {
|
|
72
|
+
return locales.find((x) => x === this.args.locale);
|
|
73
|
+
},
|
|
62
74
|
},
|
|
63
75
|
template: `
|
|
64
76
|
<span>
|
|
@@ -66,7 +78,7 @@ export const WithFraction = {
|
|
|
66
78
|
v-bind="args"
|
|
67
79
|
:currency="selectedCurrency"
|
|
68
80
|
fraction="2"
|
|
69
|
-
:
|
|
81
|
+
:locale="selectedLocale"
|
|
70
82
|
/>
|
|
71
83
|
</span>
|
|
72
84
|
`,
|
|
@@ -89,6 +101,9 @@ export const AlwaysShowFractionOn = {
|
|
|
89
101
|
selectedCurrency() {
|
|
90
102
|
return currencies.find((x) => x.name === this.args.currencyName);
|
|
91
103
|
},
|
|
104
|
+
selectedLocale() {
|
|
105
|
+
return locales.find((x) => x === this.args.locale);
|
|
106
|
+
},
|
|
92
107
|
},
|
|
93
108
|
template: `
|
|
94
109
|
<span>
|
|
@@ -97,7 +112,7 @@ export const AlwaysShowFractionOn = {
|
|
|
97
112
|
:always-show-fraction="true"
|
|
98
113
|
:currency="selectedCurrency"
|
|
99
114
|
fraction="2"
|
|
100
|
-
:
|
|
115
|
+
:locale="selectedLocale"
|
|
101
116
|
/>
|
|
102
117
|
</span>
|
|
103
118
|
`,
|
|
@@ -128,7 +143,7 @@ export const AlwaysShowFractionOff = {
|
|
|
128
143
|
:always-show-fraction="false"
|
|
129
144
|
:currency="selectedCurrency"
|
|
130
145
|
fraction="2"
|
|
131
|
-
:
|
|
146
|
+
:locale="selectedLocale"
|
|
132
147
|
/>
|
|
133
148
|
</span>
|
|
134
149
|
`,
|
|
@@ -151,6 +166,9 @@ export const WithSuffix = {
|
|
|
151
166
|
selectedCurrency() {
|
|
152
167
|
return currencies.find((x) => x.name === this.args.currencyName);
|
|
153
168
|
},
|
|
169
|
+
selectedLocale() {
|
|
170
|
+
return locales.find((x) => x === this.args.locale);
|
|
171
|
+
},
|
|
154
172
|
},
|
|
155
173
|
template: `
|
|
156
174
|
<span>
|
|
@@ -159,8 +177,8 @@ export const WithSuffix = {
|
|
|
159
177
|
:always-show-fraction="true"
|
|
160
178
|
:currency="selectedCurrency"
|
|
161
179
|
fraction="2"
|
|
162
|
-
:show-abbreviation="true"
|
|
163
180
|
:suffix="suffix"
|
|
181
|
+
:locale="selectedLocale"
|
|
164
182
|
/>
|
|
165
183
|
</span>
|
|
166
184
|
`,
|
|
@@ -171,3 +189,35 @@ export const WithSuffix = {
|
|
|
171
189
|
suffix: '/yr',
|
|
172
190
|
},
|
|
173
191
|
};
|
|
192
|
+
|
|
193
|
+
export const WithLocale = {
|
|
194
|
+
render: (args, { argTypes }) => {
|
|
195
|
+
return {
|
|
196
|
+
components: { Price },
|
|
197
|
+
props: Object.keys(argTypes),
|
|
198
|
+
setup() {
|
|
199
|
+
return { args };
|
|
200
|
+
},
|
|
201
|
+
computed: {
|
|
202
|
+
selectedCurrency() {
|
|
203
|
+
return currencies.find((x) => x.name === this.args.currencyName);
|
|
204
|
+
},
|
|
205
|
+
selectedLocale() {
|
|
206
|
+
return locales.find((x) => x === this.args.locale);
|
|
207
|
+
},
|
|
208
|
+
},
|
|
209
|
+
template: `
|
|
210
|
+
<span>
|
|
211
|
+
<price
|
|
212
|
+
v-bind="args"
|
|
213
|
+
:currency="selectedCurrency"
|
|
214
|
+
:locale="selectedLocale"
|
|
215
|
+
/>
|
|
216
|
+
</span>
|
|
217
|
+
`,
|
|
218
|
+
};
|
|
219
|
+
},
|
|
220
|
+
args: {
|
|
221
|
+
amount: 22.0,
|
|
222
|
+
},
|
|
223
|
+
};
|
|
@@ -5,6 +5,10 @@
|
|
|
5
5
|
</span>
|
|
6
6
|
</template>
|
|
7
7
|
<script>
|
|
8
|
+
|
|
9
|
+
import i18next from "i18next";
|
|
10
|
+
import {setSharedLibLocaleAsync} from "../../../useSharedLibTranslate";
|
|
11
|
+
|
|
8
12
|
export default {
|
|
9
13
|
props: {
|
|
10
14
|
amount: {
|
|
@@ -22,6 +26,11 @@ export default {
|
|
|
22
26
|
required: false,
|
|
23
27
|
default: null,
|
|
24
28
|
},
|
|
29
|
+
locale: {
|
|
30
|
+
type: String,
|
|
31
|
+
required: false,
|
|
32
|
+
default: null,
|
|
33
|
+
},
|
|
25
34
|
fraction: {
|
|
26
35
|
type: [Number, String],
|
|
27
36
|
required: false,
|
|
@@ -48,6 +57,9 @@ export default {
|
|
|
48
57
|
default: false,
|
|
49
58
|
},
|
|
50
59
|
},
|
|
60
|
+
setup() {
|
|
61
|
+
setSharedLibLocaleAsync();
|
|
62
|
+
},
|
|
51
63
|
computed: {
|
|
52
64
|
amountFormatted() {
|
|
53
65
|
if (this.isDomainCredit) {
|
|
@@ -58,6 +70,20 @@ export default {
|
|
|
58
70
|
return 'Free';
|
|
59
71
|
}
|
|
60
72
|
|
|
73
|
+
if (this.locale != null)
|
|
74
|
+
{
|
|
75
|
+
let amount = i18next.t('{{val, currency}}', {
|
|
76
|
+
ns: 'fe-shared-lib',
|
|
77
|
+
val: this.amount,
|
|
78
|
+
currency: this.currency.iso4127Code,
|
|
79
|
+
locale: this.locale,
|
|
80
|
+
maximumFractionDigits: this.fraction,
|
|
81
|
+
useGrouping: false,
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
return this.standardiseAmount(amount);
|
|
85
|
+
}
|
|
86
|
+
|
|
61
87
|
const parsedAmount = Number.parseFloat(this.amount);
|
|
62
88
|
|
|
63
89
|
if (Number.isNaN(parsedAmount)) {
|
|
@@ -73,10 +99,10 @@ export default {
|
|
|
73
99
|
return parsedAmount.toFixed(this.fraction);
|
|
74
100
|
},
|
|
75
101
|
currencyAbbreviation() {
|
|
76
|
-
return this.showAbbreviation && this.amount > 0 ? this.currency?.abbreviation?.trim() : '';
|
|
102
|
+
return this.showAbbreviation && this.amount && !this.locale > 0 ? this.currency?.abbreviation?.trim() : '';
|
|
77
103
|
},
|
|
78
104
|
currencySymbol() {
|
|
79
|
-
if (!this.amount || this.amount === 0) {
|
|
105
|
+
if (!this.amount || this.amount === 0 || this.locale) {
|
|
80
106
|
return '';
|
|
81
107
|
}
|
|
82
108
|
|
|
@@ -102,5 +128,33 @@ export default {
|
|
|
102
128
|
return this.wrapInParentheses ? ')' : '';
|
|
103
129
|
},
|
|
104
130
|
},
|
|
131
|
+
methods: {
|
|
132
|
+
standardiseAmount(amount) {
|
|
133
|
+
// i18next always uses iso code for ZAR, prefer symbol over iso code
|
|
134
|
+
if (amount.includes(this.currency.iso4127Code)) {
|
|
135
|
+
return amount.replace(this.currency.iso4127Code, this.currency.symbol);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
// show abbreviation locale logic
|
|
139
|
+
// note: showAbbreviaton is only passed as true for symbol = "$"
|
|
140
|
+
if (this.currency.symbol != '$') {
|
|
141
|
+
return amount
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// AUD edge case for en_US
|
|
145
|
+
if (this.currency.iso4127Code == 'AUD') {
|
|
146
|
+
amount = amount.replace('A$', this.currency.symbol);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
if (this.showAbbreviation && !amount.includes(this.currency.abbreviation)) {
|
|
150
|
+
return `${this.currency?.abbreviation}${amount}`
|
|
151
|
+
|
|
152
|
+
} else if (!this.showAbbreviation && amount.includes(this.currency.abbreviation)) {
|
|
153
|
+
return amount.replace(this.currency.abbreviation, '');
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
return amount;
|
|
157
|
+
}
|
|
158
|
+
},
|
|
105
159
|
};
|
|
106
160
|
</script>
|
|
@@ -48,37 +48,5 @@
|
|
|
48
48
|
"searchBarLabel": "Suche",
|
|
49
49
|
"searchBarPlaceholder": "Domainnamen suchen",
|
|
50
50
|
"domainSearchOrConnectHeaderSubtitle": "Kaufen Sie passende Domains für Ihre Marke oder verknüpfen Sie Ihre bestehende Domain"
|
|
51
|
-
},
|
|
52
|
-
"uploadYourLogo": {
|
|
53
|
-
"uploadYourLogoText": "Laden Sie Ihr Logo hoch",
|
|
54
|
-
"disclaimerText": "Bitte stellen Sie sicher, dass Sie über die Nutzungsrechte für alle hochgeladenen Bilder verfügen.",
|
|
55
|
-
"generatingDesigns": "Designs werden erstellt ...",
|
|
56
|
-
"uploadingAndConverting": "Ihr Logo wird hochgeladen und konvertiert ...",
|
|
57
|
-
"stepOf": "Schritt {{CURRENT}} von {{TOTAL}}",
|
|
58
|
-
"uploadError": "Fehler beim Hochladen",
|
|
59
|
-
"cancel": "Abbrechen",
|
|
60
|
-
"continue": "Weiter",
|
|
61
|
-
"back": "Zurück",
|
|
62
|
-
"no": "Nein",
|
|
63
|
-
"yes": "Ja",
|
|
64
|
-
"businessName": "Name des Unternehmens",
|
|
65
|
-
"businessNameDescription": "Geben Sie Ihren Logotext oder Unternehmensnamen ein",
|
|
66
|
-
"cropYourLogo": "Schneiden Sie Ihr Logo zu",
|
|
67
|
-
"cropDescription": "Schneiden Sie Ihr Logo-Design so zu, dass es auf die Arbeitsfläche unseres Logo-Erstellers passt",
|
|
68
|
-
"logoPreview": "Logo-Vorschau",
|
|
69
|
-
"logoPreviewDescription": "Ihr Logo sieht großartig aus! Helfen Sie uns bei der Einrichtung Ihres Logos, indem Sie die nächsten Schritte ausführen.",
|
|
70
|
-
"primaryTextColor": "Primäre Textfarbe",
|
|
71
|
-
"primaryTextColorDescription": "Helfen Sie uns bei der Einrichtung Ihres Logos, indem Sie die primäre Textfarbe bestätigen. Wählen Sie aus den verfügbaren Farben oder klicken Sie auf das Plus-Symbol, um eine weitere Farbe hinzuzufügen.",
|
|
72
|
-
"backgroundColor": "Hintergrundfarbe",
|
|
73
|
-
"backgroundColorDescription": "Helfen Sie uns bei der Einrichtung Ihres Logos, indem Sie die Hintergrundfarbe bestätigen. Wählen Sie aus den verfügbaren Farben oder klicken Sie auf das Plus-Symbol, um eine weitere Farbe hinzuzufügen.",
|
|
74
|
-
"colorsWarning": "Ihre Text- und Hintergrundfarben sind zu ähnlich. Bitte wählen Sie eine deutlichere Paarung, um sicherzustellen, dass sie hochwertige Designs erstellen.",
|
|
75
|
-
"exitConfirmationTitle": "Möchten Sie die Anwendung wirklich verlassen?",
|
|
76
|
-
"exitConfirmationDescription": "Der Fortschritt Ihres Logo-Uploads in dieser Sitzung geht verloren",
|
|
77
|
-
"maxByoFileErrorMessage": "Ihre Datei überschreitet die maximale Größe von 25 MB. Bitte wählen Sie eine kleinere Datei.",
|
|
78
|
-
"genericByoErrorMessage": "Es ist ein unerwarteter Fehler aufgetreten. Bitte versuchen Sie es erneut.",
|
|
79
|
-
"dropYourFileHere": "Legen Sie Ihre Datei hier ab oder",
|
|
80
|
-
"clickToUpload": "klicken Sie hier, um eine Datei hochzuladen.",
|
|
81
|
-
"acceptedFiles": "Wir akzeptieren PNG-, JPG-, SVG- und EPS-Dateien bis zu 25 MB.",
|
|
82
|
-
"wrongUploadType": "Sie können Dateien dieses Typs nicht hochladen."
|
|
83
51
|
}
|
|
84
52
|
}
|
|
@@ -48,37 +48,5 @@
|
|
|
48
48
|
"searchBarLabel": "Buscar",
|
|
49
49
|
"searchBarPlaceholder": "Busca nombres de dominio",
|
|
50
50
|
"domainSearchOrConnectHeaderSubtitle": "Compra un nombre de dominio que coincida con tu marca o conecta tu dominio existente"
|
|
51
|
-
},
|
|
52
|
-
"uploadYourLogo": {
|
|
53
|
-
"uploadYourLogoText": "Sube tu logo",
|
|
54
|
-
"disclaimerText": "Asegúrate de que tienes derecho a usar cualquier imagen que subas.",
|
|
55
|
-
"generatingDesigns": "Generando diseños...",
|
|
56
|
-
"uploadingAndConverting": "Subiendo y convirtiendo tu logo...",
|
|
57
|
-
"stepOf": "Paso {{CURRENT}} de {{TOTAL}}",
|
|
58
|
-
"uploadError": "Error de carga",
|
|
59
|
-
"cancel": "Cancelar",
|
|
60
|
-
"continue": "Continuar",
|
|
61
|
-
"back": "Volver",
|
|
62
|
-
"no": "No",
|
|
63
|
-
"yes": "Sí",
|
|
64
|
-
"businessName": "Nombre del negocio",
|
|
65
|
-
"businessNameDescription": "Introduce el texto de tu logo o el nombre de tu negocio",
|
|
66
|
-
"cropYourLogo": "Recorta tu logo",
|
|
67
|
-
"cropDescription": "Recorta tu diseño de logo para que encaje en nuestro lienzo del creador de logos",
|
|
68
|
-
"logoPreview": "Vista previa del logo",
|
|
69
|
-
"logoPreviewDescription": "¡Tu logo tiene un aspecto genial! Ayúdanos a configurar tu logo completando los siguientes pasos.",
|
|
70
|
-
"primaryTextColor": "Color principal del texto",
|
|
71
|
-
"primaryTextColorDescription": "Ayúdanos a configurar tu logo confirmando el color principal del texto. Elige entre los colores disponibles o haz clic en el icono de más (+) para añadir otro.",
|
|
72
|
-
"backgroundColor": "Color de fondo",
|
|
73
|
-
"backgroundColorDescription": "Ayúdanos a configurar tu logo confirmando el color de fondo. Elige entre los colores disponibles o haz clic en el icono de más (+) para añadir otro.",
|
|
74
|
-
"colorsWarning": "Los colores del texto y del fondo son demasiado similares. Elige una combinación más diferente para conseguir crear diseños de calidad.",
|
|
75
|
-
"exitConfirmationTitle": "¿Estás seguro de que quieres salir?",
|
|
76
|
-
"exitConfirmationDescription": "El progreso de carga de tu logo en esta sesión se perderá.",
|
|
77
|
-
"maxByoFileErrorMessage": "Tu archivo supera el tamaño máximo de 25 MB. Elige un archivo más pequeño.",
|
|
78
|
-
"genericByoErrorMessage": "Se ha producido un error inesperado. Inténtalo de nuevo.",
|
|
79
|
-
"dropYourFileHere": "Suelta el archivo aquí o",
|
|
80
|
-
"clickToUpload": "haz clic para subirlo",
|
|
81
|
-
"acceptedFiles": "Aceptamos archivos PNG, JPG, SVG o EPS de hasta 25 MB",
|
|
82
|
-
"wrongUploadType": "No puedes subir archivos de este tipo."
|
|
83
51
|
}
|
|
84
52
|
}
|
|
@@ -48,37 +48,5 @@
|
|
|
48
48
|
"searchBarLabel": "Rechercher",
|
|
49
49
|
"searchBarPlaceholder": "Rechercher des noms de domaine",
|
|
50
50
|
"domainSearchOrConnectHeaderSubtitle": "Achetez un nom de domaine correspondant à votre marque ou connectez votre domaine existant"
|
|
51
|
-
},
|
|
52
|
-
"uploadYourLogo": {
|
|
53
|
-
"uploadYourLogoText": "Téléchargez votre logo",
|
|
54
|
-
"disclaimerText": "Veuillez vous assurer que vous avez le droit d'utiliser toute image que vous téléchargez.",
|
|
55
|
-
"generatingDesigns": "Génération de designs...",
|
|
56
|
-
"uploadingAndConverting": "Téléchargement et conversion de votre logo...",
|
|
57
|
-
"stepOf": "Étape {{CURRENT}} sur {{TOTAL}}",
|
|
58
|
-
"uploadError": "Erreur de téléchargement",
|
|
59
|
-
"cancel": "Annuler",
|
|
60
|
-
"continue": "Continuer",
|
|
61
|
-
"back": "Retour",
|
|
62
|
-
"no": "Non",
|
|
63
|
-
"yes": "Oui",
|
|
64
|
-
"businessName": "Nom de l’entreprise",
|
|
65
|
-
"businessNameDescription": "Saisissez le texte de votre logo ou le nom de votre entreprise",
|
|
66
|
-
"cropYourLogo": "Recadrez votre logo",
|
|
67
|
-
"cropDescription": "Recadrez votre logo pour qu'il s'adapte au canevas de notre outil de création de logos",
|
|
68
|
-
"logoPreview": "Aperçu du logo",
|
|
69
|
-
"logoPreviewDescription": "Votre logo est magnifique ! Aidez-nous à configurer votre logo en suivant les étapes suivantes.",
|
|
70
|
-
"primaryTextColor": "Couleur principale du texte",
|
|
71
|
-
"primaryTextColorDescription": "Aidez-nous à configurer votre logo en confirmant la couleur principale du texte. Choisissez parmi les couleurs disponibles ou cliquez sur l'icône plus pour en ajouter une autre.",
|
|
72
|
-
"backgroundColor": "Couleur d’arrière-plan",
|
|
73
|
-
"backgroundColorDescription": "Aidez-nous à configurer votre logo en confirmant la couleur d'arrière-plan. Choisissez parmi les couleurs disponibles ou cliquez sur l'icône plus pour en ajouter une autre.",
|
|
74
|
-
"colorsWarning": "Les couleurs de votre texte et de votre arrière-plan sont trop semblables. Veuillez choisir une combinaison plus distincte pour garantir un design de qualité.",
|
|
75
|
-
"exitConfirmationTitle": "Voulez-vous vraiment quitter ?",
|
|
76
|
-
"exitConfirmationDescription": "La progression du téléchargement de votre logo au cours de cette session sera perdue",
|
|
77
|
-
"maxByoFileErrorMessage": "Votre fichier dépasse la taille maximale de 25 Mo. Veuillez choisir un fichier plus petit.",
|
|
78
|
-
"genericByoErrorMessage": "Une erreur inattendue s'est produite. Veuillez réessayer.",
|
|
79
|
-
"dropYourFileHere": "Déposez votre fichier ici ou",
|
|
80
|
-
"clickToUpload": "cliquez pour télécharger",
|
|
81
|
-
"acceptedFiles": "Nous acceptons les fichiers PNG, JPG, SVG ou EPS jusqu'à 25 Mo",
|
|
82
|
-
"wrongUploadType": "Vous ne pouvez pas télécharger des fichiers de ce type."
|
|
83
51
|
}
|
|
84
52
|
}
|
|
@@ -48,37 +48,5 @@
|
|
|
48
48
|
"searchBarLabel": "Search",
|
|
49
49
|
"searchBarPlaceholder": "Search domain names",
|
|
50
50
|
"domainSearchOrConnectHeaderSubtitle": "Buy matching domain name for your brand or connect your existing domain"
|
|
51
|
-
},
|
|
52
|
-
"uploadYourLogo": {
|
|
53
|
-
"uploadYourLogoText": "Upload your logo",
|
|
54
|
-
"disclaimerText": "Please ensure you have the right to use any image you upload.",
|
|
55
|
-
"generatingDesigns": "Generating Designs...",
|
|
56
|
-
"uploadingAndConverting": "Uploading and converting your logo...",
|
|
57
|
-
"stepOf": "Step {{CURRENT}} of {{TOTAL}}",
|
|
58
|
-
"uploadError": "Upload Error",
|
|
59
|
-
"cancel": "Cancel",
|
|
60
|
-
"continue": "Continue",
|
|
61
|
-
"back": "Back",
|
|
62
|
-
"no": "No",
|
|
63
|
-
"yes": "Yes",
|
|
64
|
-
"businessName": "Business Name",
|
|
65
|
-
"businessNameDescription": "Enter your logo text or business name",
|
|
66
|
-
"cropYourLogo": "Crop your logo",
|
|
67
|
-
"cropDescription": "Crop your logo design to fit our logo maker canvas",
|
|
68
|
-
"logoPreview": "Logo preview",
|
|
69
|
-
"logoPreviewDescription": "Your logo looks great! Help us setup your logo by completing the next steps.",
|
|
70
|
-
"primaryTextColor": "Primary text color",
|
|
71
|
-
"primaryTextColorDescription": "Help us setup your logo by confirming the primary text color. Choose from the available colors or click the plus icon to add another.",
|
|
72
|
-
"backgroundColor": "Background color",
|
|
73
|
-
"backgroundColorDescription": "Help us setup your logo by confirming the background color. Choose from the available colors or click the plus icon to add another.",
|
|
74
|
-
"colorsWarning": "Your text and background colors are too similar. Please choose a more distinct pairing to ensure they create quality designs.",
|
|
75
|
-
"exitConfirmationTitle": "Are you sure you want to exit?",
|
|
76
|
-
"exitConfirmationDescription": "Your logo upload progress in this session will be lost",
|
|
77
|
-
"maxByoFileErrorMessage": "Your file exceeds the maximum size of 25MB. Please choose a smaller file.",
|
|
78
|
-
"genericByoErrorMessage": "An unexpected error occured. Please try again.",
|
|
79
|
-
"dropYourFileHere": "Drop your file here or",
|
|
80
|
-
"clickToUpload": "click to upload",
|
|
81
|
-
"acceptedFiles": "We accept PNG, JPG, SVG or EPS files up to 25MB",
|
|
82
|
-
"wrongUploadType": "You can't upload files of this type."
|
|
83
51
|
}
|
|
84
52
|
}
|
|
@@ -48,37 +48,5 @@
|
|
|
48
48
|
"searchBarLabel": "Pesquisar",
|
|
49
49
|
"searchBarPlaceholder": "Pesquisar nomes de domínio",
|
|
50
50
|
"domainSearchOrConnectHeaderSubtitle": "Compre um nome de domínio que corresponda à sua marca ou associe ao domínio que já tem"
|
|
51
|
-
},
|
|
52
|
-
"uploadYourLogo": {
|
|
53
|
-
"uploadYourLogoText": "Carregue o seu logótipo",
|
|
54
|
-
"disclaimerText": "Certifique-se de que tem os direitos de utilização de todas as imagens que carregar.",
|
|
55
|
-
"generatingDesigns": "A gerar designs…",
|
|
56
|
-
"uploadingAndConverting": "A carregar e a converter o seu logótipo…",
|
|
57
|
-
"stepOf": "Passo {{CURRENT}} de {{TOTAL}}",
|
|
58
|
-
"uploadError": "Erro ao carregar",
|
|
59
|
-
"cancel": "Cancelar",
|
|
60
|
-
"continue": "Continuar",
|
|
61
|
-
"back": "Voltar",
|
|
62
|
-
"no": "Não",
|
|
63
|
-
"yes": "Sim",
|
|
64
|
-
"businessName": "Nome da empresa",
|
|
65
|
-
"businessNameDescription": "Introduza o texto do seu logótipo ou o nome da sua empresa",
|
|
66
|
-
"cropYourLogo": "Recorte o seu logótipo",
|
|
67
|
-
"cropDescription": "Recorte o design de logótipo para caber no ecrã do criador de logótipos",
|
|
68
|
-
"logoPreview": "Pré-visualização do logótipo",
|
|
69
|
-
"logoPreviewDescription": "O seu logótipo está com um ótimo aspeto! Ajude-nos a configurar o seu logótipo concluindo os próximos passos.",
|
|
70
|
-
"primaryTextColor": "Cor principal do texto",
|
|
71
|
-
"primaryTextColorDescription": "Ajude-nos a configurar o seu logótipo confirmando a cor principal do texto. Escolha entre as cores disponíveis ou clique no ícone de mais para adicionar outra.",
|
|
72
|
-
"backgroundColor": "Cor de fundo",
|
|
73
|
-
"backgroundColorDescription": "Ajude-nos a configurar o seu logótipo confirmando a cor do fundo. Escolha entre as cores disponíveis ou clique no ícone de mais para adicionar outra.",
|
|
74
|
-
"colorsWarning": "As suas cores de texto e de fundo são demasiado semelhantes. Escolha uma combinação mais distinta para garantir que criamos designs de qualidade.",
|
|
75
|
-
"exitConfirmationTitle": "Tem a certeza de que pretende sair?",
|
|
76
|
-
"exitConfirmationDescription": "O progresso do carregamento do seu logótipo nesta sessão será perdido",
|
|
77
|
-
"maxByoFileErrorMessage": "O seu ficheiro excede o tamanho máximo de 25 MB. Escolha um ficheiro mais pequeno.",
|
|
78
|
-
"genericByoErrorMessage": "Ocorreu um erro inesperado. Tente novamente.",
|
|
79
|
-
"dropYourFileHere": "Arraste o seu ficheiro aqui ou",
|
|
80
|
-
"clickToUpload": "clique para carregar",
|
|
81
|
-
"acceptedFiles": "Aceitamos ficheiros PNG, JPG, SVG ou EPS até 25 MB",
|
|
82
|
-
"wrongUploadType": "Não pode carregar ficheiros deste tipo."
|
|
83
51
|
}
|
|
84
52
|
}
|
|
@@ -56,13 +56,9 @@
|
|
|
56
56
|
<p
|
|
57
57
|
v-if="!isModal"
|
|
58
58
|
class="tw-font-bold tw-text-black tw-text-lg"
|
|
59
|
-
:class="{
|
|
60
|
-
'tw-mb-2': !shouldUseCompactLayout,
|
|
61
|
-
'md:tw-text-sm md:tw-mb-0': smallLayout,
|
|
62
|
-
'tw-text-sm tw-mb-0': shouldUseCompactLayout,
|
|
63
|
-
}"
|
|
59
|
+
:class="{ 'tw-mb-2': !shouldUseCompactLayout, 'md:tw-text-sm md:tw-mb-0': smallLayout, 'tw-text-sm tw-mb-0': shouldUseCompactLayout }"
|
|
64
60
|
>
|
|
65
|
-
|
|
61
|
+
Upload your logo
|
|
66
62
|
</p>
|
|
67
63
|
|
|
68
64
|
<p
|
|
@@ -70,11 +66,11 @@
|
|
|
70
66
|
:class="{
|
|
71
67
|
'tw-mb-0': !isDesignCom,
|
|
72
68
|
'tw-mb-3': isDesignCom,
|
|
73
|
-
'md:tw-hidden': shouldUseCompactLayout
|
|
69
|
+
'md:tw-hidden': shouldUseCompactLayout
|
|
74
70
|
}"
|
|
75
71
|
>
|
|
76
|
-
|
|
77
|
-
<span class="tw-text-info-500">
|
|
72
|
+
Drop your file here or
|
|
73
|
+
<span class="tw-text-info-500">click to upload</span>
|
|
78
74
|
</p>
|
|
79
75
|
|
|
80
76
|
<p
|
|
@@ -85,7 +81,7 @@
|
|
|
85
81
|
'tw-text-secondary-400': isDesignCom,
|
|
86
82
|
}"
|
|
87
83
|
>
|
|
88
|
-
|
|
84
|
+
We accept PNG, JPG, SVG or EPS files up to 25MB
|
|
89
85
|
</p>
|
|
90
86
|
</div>
|
|
91
87
|
</div>
|
|
@@ -96,12 +92,11 @@
|
|
|
96
92
|
import Dropzone from 'dropzone-vue3';
|
|
97
93
|
import Events, { TRIGGER_TYPE } from '../../constants/event-constants';
|
|
98
94
|
import RegoSource from '../../constants/rego-source-constants';
|
|
99
|
-
import { uploadYourLogoTr } from '../../../useSharedLibTranslate';
|
|
100
95
|
|
|
101
96
|
const ACCEPTED_MIME_TYPES = ['image/jpeg', 'image/png', 'image/svg+xml', 'application/postscript'];
|
|
102
97
|
|
|
103
98
|
const ACCEPTED_FILE_EXTENSIONS = ['jpg', 'jpeg', 'png', 'svg', 'eps'];
|
|
104
|
-
const UNSUPPORTED_FILE_ERROR_MSG =
|
|
99
|
+
const UNSUPPORTED_FILE_ERROR_MSG = "You can't upload files of this type.";
|
|
105
100
|
|
|
106
101
|
export default {
|
|
107
102
|
components: {
|
|
@@ -156,11 +151,6 @@ export default {
|
|
|
156
151
|
default: null,
|
|
157
152
|
},
|
|
158
153
|
},
|
|
159
|
-
setup() {
|
|
160
|
-
return {
|
|
161
|
-
uploadYourLogoTr,
|
|
162
|
-
};
|
|
163
|
-
},
|
|
164
154
|
data() {
|
|
165
155
|
const self = this;
|
|
166
156
|
|
|
@@ -175,7 +165,7 @@ export default {
|
|
|
175
165
|
const extension = file.name.split('.').pop().toLowerCase();
|
|
176
166
|
|
|
177
167
|
if (ACCEPTED_FILE_EXTENSIONS.indexOf(extension) < 0) {
|
|
178
|
-
self.displayError(UNSUPPORTED_FILE_ERROR_MSG
|
|
168
|
+
self.displayError(UNSUPPORTED_FILE_ERROR_MSG);
|
|
179
169
|
return;
|
|
180
170
|
}
|
|
181
171
|
|
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
<HelloBar
|
|
5
5
|
v-if="areColorsTooClose"
|
|
6
6
|
label=""
|
|
7
|
-
|
|
7
|
+
description="Your text and background colors are too similar. Please choose a more distinct pairing to ensure they create quality designs."
|
|
8
8
|
variant="warning"
|
|
9
9
|
class="tw-m-5 tw-mt-3"
|
|
10
10
|
/>
|
|
11
11
|
<div class="tw-pb-8 tw-px-8 tw-text-center">
|
|
12
12
|
<p class="tw-text-grayscale-600 tw-font-bold tw-text-xs tw-mb-2 tw-uppercase">
|
|
13
|
-
{{
|
|
13
|
+
Step {{ activeStep.number }} of {{ totalNumSteps }}
|
|
14
14
|
</p>
|
|
15
15
|
<h2 class="tw-mb-4 tw-text-4xl tw-text-black tw-font-bold">
|
|
16
16
|
{{ activeStep.title }}
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
>
|
|
81
81
|
<Button
|
|
82
82
|
v-if="activeStep.index === 1"
|
|
83
|
-
|
|
83
|
+
label="Back"
|
|
84
84
|
size="large"
|
|
85
85
|
variant="outline"
|
|
86
86
|
container-classes="tw-mx-2"
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
/>
|
|
90
90
|
<Button
|
|
91
91
|
v-if="activeStep.index === 2"
|
|
92
|
-
|
|
92
|
+
label="Back"
|
|
93
93
|
size="large"
|
|
94
94
|
variant="outline"
|
|
95
95
|
container-classes="tw-mx-2"
|
|
@@ -98,7 +98,7 @@
|
|
|
98
98
|
/>
|
|
99
99
|
<Button
|
|
100
100
|
v-if="activeStep.index === 1"
|
|
101
|
-
|
|
101
|
+
label="Continue"
|
|
102
102
|
size="large"
|
|
103
103
|
variant="primary-with-icon"
|
|
104
104
|
icon="chevron-right-wide"
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
/>
|
|
109
109
|
<Button
|
|
110
110
|
v-if="activeStep.index === 2"
|
|
111
|
-
|
|
111
|
+
label="Continue"
|
|
112
112
|
size="large"
|
|
113
113
|
variant="primary-with-icon"
|
|
114
114
|
icon="chevron-right-wide"
|
|
@@ -126,7 +126,6 @@ import Icon from '../../../../src/atoms/components/Icon/Icon.vue';
|
|
|
126
126
|
import HelloBar from '../../../../src/atoms/components/HelloBar/HelloBar.vue';
|
|
127
127
|
import trackEvent from '../../helpers/tracking';
|
|
128
128
|
import hexDiff from '../../helpers/hex-diff';
|
|
129
|
-
import { uploadYourLogoTr } from '../../../useSharedLibTranslate';
|
|
130
129
|
|
|
131
130
|
export default {
|
|
132
131
|
components: {
|
|
@@ -154,11 +153,6 @@ export default {
|
|
|
154
153
|
required: true,
|
|
155
154
|
},
|
|
156
155
|
},
|
|
157
|
-
setup() {
|
|
158
|
-
return {
|
|
159
|
-
uploadYourLogoTr,
|
|
160
|
-
};
|
|
161
|
-
},
|
|
162
156
|
data() {
|
|
163
157
|
return {
|
|
164
158
|
currentStep: null,
|
|
@@ -177,8 +171,9 @@ export default {
|
|
|
177
171
|
index: 1,
|
|
178
172
|
number: this.totalNumSteps - 1,
|
|
179
173
|
active: false,
|
|
180
|
-
title:
|
|
181
|
-
description:
|
|
174
|
+
title: 'Primary text color',
|
|
175
|
+
description:
|
|
176
|
+
'Help us setup your logo by confirming the primary text color. Choose from the available colors or click the plus icon to add another.',
|
|
182
177
|
colourData: this.logoData.logoImageDetails.textColors,
|
|
183
178
|
colours: [],
|
|
184
179
|
},
|
|
@@ -186,8 +181,9 @@ export default {
|
|
|
186
181
|
index: 2,
|
|
187
182
|
number: this.totalNumSteps,
|
|
188
183
|
active: false,
|
|
189
|
-
title:
|
|
190
|
-
description:
|
|
184
|
+
title: 'Background color',
|
|
185
|
+
description:
|
|
186
|
+
'Help us setup your logo by confirming the background color. Choose from the available colors or click the plus icon to add another.',
|
|
191
187
|
colourData: this.logoData.logoImageDetails.backgroundColors,
|
|
192
188
|
colours: [],
|
|
193
189
|
},
|
|
@@ -206,12 +202,6 @@ export default {
|
|
|
206
202
|
this.activeStep.index === 2 && hexDiff(selectedTextColour.hex, selectedBackgroundColour.hex) !== 'Different'
|
|
207
203
|
);
|
|
208
204
|
},
|
|
209
|
-
stepCounter() {
|
|
210
|
-
return this.uploadYourLogoTr('stepOf', {
|
|
211
|
-
CURRENT: this.activeStep.number,
|
|
212
|
-
TOTAL: this.totalNumSteps,
|
|
213
|
-
});
|
|
214
|
-
},
|
|
215
205
|
},
|
|
216
206
|
mounted() {
|
|
217
207
|
const keys = Object.keys(this.steps);
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
<p class="tw-text-grayscale-600 tw-font-bold tw-text-xs tw-mb-2 tw-uppercase">
|
|
6
6
|
{{ progressLabel }}
|
|
7
7
|
</p>
|
|
8
|
-
<h2 class="tw-mb-4 tw-text-4xl tw-text-black tw-font-bold">
|
|
9
|
-
<p class="tw-mt-0">
|
|
8
|
+
<h2 class="tw-mb-4 tw-text-4xl tw-text-black tw-font-bold">Business Name</h2>
|
|
9
|
+
<p class="tw-mt-0">Enter your logo text or business name</p>
|
|
10
10
|
</div>
|
|
11
11
|
|
|
12
12
|
<div class="tw-pb-8 tw-px-8">
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
class="tw-fixed tw-rounded-b tw-bottom-0 tw-left-0 tw-z-10 tw-bg-grayscale-200 lg:tw-static tw-flex tw-w-full tw-items-center tw-justify-center tw-border-0 tw-border-t tw-border-black/10 tw-border-solid tw-py-4 tw-px-8 tw-box-border"
|
|
38
38
|
>
|
|
39
39
|
<Button
|
|
40
|
-
|
|
40
|
+
label="Back"
|
|
41
41
|
size="large"
|
|
42
42
|
variant="outline"
|
|
43
43
|
container-classes="tw-mx-2"
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
@on-click="back"
|
|
46
46
|
/>
|
|
47
47
|
<Button
|
|
48
|
-
|
|
48
|
+
label="Continue"
|
|
49
49
|
size="large"
|
|
50
50
|
variant="primary-with-icon"
|
|
51
51
|
icon="chevron-right-wide"
|
|
@@ -57,9 +57,8 @@
|
|
|
57
57
|
</div>
|
|
58
58
|
</template>
|
|
59
59
|
<script>
|
|
60
|
-
import Button from '
|
|
60
|
+
import Button from '../../../../src/atoms/components/Button/Button.vue';
|
|
61
61
|
import trackEvent from '../../helpers/tracking';
|
|
62
|
-
import { uploadYourLogoTr } from '../../../useSharedLibTranslate';
|
|
63
62
|
|
|
64
63
|
export default {
|
|
65
64
|
components: {
|
|
@@ -85,11 +84,6 @@ export default {
|
|
|
85
84
|
required: true,
|
|
86
85
|
},
|
|
87
86
|
},
|
|
88
|
-
setup() {
|
|
89
|
-
return {
|
|
90
|
-
uploadYourLogoTr,
|
|
91
|
-
};
|
|
92
|
-
},
|
|
93
87
|
data() {
|
|
94
88
|
return {
|
|
95
89
|
businessText: null,
|