@designcrowd/library.brand-page 5.16.28 → 5.16.29-pre-temp-13
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/lib/src/{CreatedOnBrandCrowd-de-de-C-CdtuLf.js → CreatedOnBrandCrowd-de-de-C5cvDYY0.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-en-us-DrL7aiqj.js → CreatedOnBrandCrowd-en-us-D0KCSK_6.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-es-es-DDJFsUyp.js → CreatedOnBrandCrowd-es-es-BtlaguF9.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-fr-Dv8j7UDI.js → CreatedOnBrandCrowd-fr-ca-RGdnURaa.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-fr-ca-Dv8j7UDI.js → CreatedOnBrandCrowd-fr-fr-RGdnURaa.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-pt-Dp52qW0V.js → CreatedOnBrandCrowd-pt-br-BJwt5ATI.js} +1 -1
- package/lib/src/{CreatedOnBrandCrowd-pt-br-Dp52qW0V.js → CreatedOnBrandCrowd-pt-pt-BJwt5ATI.js} +1 -1
- package/lib/src/{CreatedOnDcom-de-de-Df9pkq3U.js → CreatedOnDcom-de-de-LUA5Wvy5.js} +1 -1
- package/lib/src/{CreatedOnDcom-en-us-DqHPayYQ.js → CreatedOnDcom-en-us-Dd1UPBVq.js} +1 -1
- package/lib/src/{CreatedOnDcom-es-es-BcyOZFjl.js → CreatedOnDcom-es-es-CD923NVo.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-ca-DdjkYDpz.js → CreatedOnDcom-fr-ca-C6Mc--2a.js} +1 -1
- package/lib/src/{CreatedOnDcom-fr-fr-B3v0x4gQ.js → CreatedOnDcom-fr-fr-Ffrd6Erx.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-br-DJe-M_Ue.js → CreatedOnDcom-pt-br-BfoY5gWJ.js} +1 -1
- package/lib/src/{CreatedOnDcom-pt-pt-B1aOyZ5I.js → CreatedOnDcom-pt-pt-f0ywi387.js} +1 -1
- package/lib/src/brand-page-maker/components/brand-page-maker/BrandPageMakerTemplateSettings.mixin.js +2 -5
- package/lib/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.js +4 -4
- package/lib/src/brand-page-maker/composables/useEventTracker.d.ts +6 -0
- package/lib/src/brand-page-maker/composables/useEventTracker.js +6 -0
- package/lib/src/brand-page-maker/constants/template-constants.d.ts +1 -2
- package/lib/src/brand-page-maker/constants/template-constants.js +1 -2
- package/lib/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.js +21 -0
- package/lib/src/brand-page-maker/utils/rich-text-editor.util.js +10 -2
- package/lib/src/{bundled-translations-DAA_muNW.js → bundled-translations-CMyG8Azk.js} +54 -54
- package/lib/src/{bundled-translations.de-DE-DmZSAEA4.js → bundled-translations.de-DE-BJPw07Ba.js} +36 -36
- package/lib/src/{bundled-translations.es-ES-CGUGm_zy.js → bundled-translations.es-ES-DqQ7zLxJ.js} +58 -58
- package/lib/src/{bundled-translations.fr-CA-UkcZ1_qS.js → bundled-translations.fr-CA-2dy4OokC.js} +47 -47
- package/lib/src/{bundled-translations.fr-FR-D43nbl6A.js → bundled-translations.fr-FR-Bjh3iNSg.js} +25 -25
- package/lib/src/{bundled-translations.pt-BR-B0o-8NGd.js → bundled-translations.pt-BR-BRC_B0LW.js} +13 -13
- package/lib/src/{bundled-translations.pt-PT-Cx-eIl9m.js → bundled-translations.pt-PT-Ka3E8T1F.js} +56 -56
- package/lib/src/bundles/bundled-translations.de-DE.json +13 -1
- package/lib/src/bundles/bundled-translations.es-ES.json +13 -1
- package/lib/src/bundles/bundled-translations.fr-CA.json +13 -1
- package/lib/src/bundles/bundled-translations.fr-FR.json +13 -1
- package/lib/src/bundles/bundled-translations.json +13 -1
- package/lib/src/bundles/bundled-translations.pt-BR.json +13 -1
- package/lib/src/bundles/bundled-translations.pt-PT.json +13 -1
- package/lib/src/clients/design-template-client.d.ts +2 -0
- package/lib/src/clients/fabric-render-client.d.ts +3 -0
- package/lib/src/css/library.brand-page-brandCrowd.min.css +69 -20
- package/lib/src/css/library.brand-page-brandPage.min.css +69 -20
- package/lib/src/css/library.brand-page-designCom.min.css +69 -20
- package/lib/src/css/library.brand-page-preview.min.css +69 -20
- package/lib/src/index.d.ts +1 -1
- package/lib/src/index.mjs +92 -92
- package/lib/src/{lib-5LK-vR4z.js → lib-BcLmSEKI.js} +17326 -17136
- package/lib/src/lib.js +1 -1
- package/lib/src/shared/logo-settings/components/EditLogoSettings.mixin.d.ts +10 -0
- package/lib/src/shared/logo-settings/components/LogoSettings.mixin.d.ts +10 -0
- package/lib/src/shared/logo-settings/store/editable-logo-store.d.ts +14 -0
- package/lib/src/shared/logo-settings/store/editable-logo-store.js +46 -0
- package/lib/src/shared/page-settings/components/page-settings-section-styles/PageSettingsSectionStyles.mixin.d.ts +10 -0
- package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.d.ts +1 -0
- package/lib/src/shared/template-settings/components/TemplatesSettings.mixin.js +33 -0
- package/lib/src/shared/template-settings/store/template-settings-store.js +57 -9
- package/package.json +2 -2
- package/src/brand-page-maker/components/brand-page-maker/BrandPageMakerTemplateSettings.mixin.ts +1 -6
- package/src/brand-page-maker/components/template-preview/TemplatePreview.mixin.ts +4 -4
- package/src/brand-page-maker/composables/useEventTracker.ts +8 -0
- package/src/brand-page-maker/constants/template-constants.ts +1 -2
- package/src/brand-page-maker/stores/brandpage-maker/brandpage-maker-store.ts +24 -0
- package/src/brand-page-maker/utils/rich-text-editor.util.ts +11 -2
- package/src/bundles/bundled-translations.de-DE.json +13 -1
- package/src/bundles/bundled-translations.es-ES.json +13 -1
- package/src/bundles/bundled-translations.fr-CA.json +13 -1
- package/src/bundles/bundled-translations.fr-FR.json +13 -1
- package/src/bundles/bundled-translations.json +13 -1
- package/src/bundles/bundled-translations.pt-BR.json +13 -1
- package/src/bundles/bundled-translations.pt-PT.json +13 -1
- package/src/clients/design-template-client.ts +2 -0
- package/src/clients/fabric-render-client.ts +3 -0
- package/src/lib.ts +1 -0
- package/src/shared/content-settings/components/generate-ai-modal/GenerateAiModal.vue +209 -12
- package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.de-DE.json +13 -1
- package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.es-ES.json +13 -1
- package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.fr-CA.json +13 -1
- package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.fr-FR.json +13 -1
- package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.json +13 -1
- package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.pt-BR.json +13 -1
- package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.pt-PT.json +13 -1
- package/src/shared/logo-settings/store/editable-logo-store.ts +67 -0
- package/src/shared/template-settings/components/TemplatesSettings.mixin.ts +46 -0
- package/src/shared/template-settings/store/template-settings-store.ts +78 -10
|
@@ -638,7 +638,19 @@
|
|
|
638
638
|
"generateInputPlaceholder": "Entrez votre requête pour décrire le contenu...",
|
|
639
639
|
"stopGeneration": "Arrêter la génération",
|
|
640
640
|
"useText": "Utiliser le texte",
|
|
641
|
-
"promptTooLong": "La requête doit comporter {{maxLength}} caractères ou moins ({{currentLength}})"
|
|
641
|
+
"promptTooLong": "La requête doit comporter {{maxLength}} caractères ou moins ({{currentLength}})",
|
|
642
|
+
"generateText": "Générer {{ location }}",
|
|
643
|
+
"improveText": "Améliorez votre texte",
|
|
644
|
+
"spellCheck": "Vérification orthographique",
|
|
645
|
+
"generateTextPrompt": "Rédigez un(e) {{fieldName}} accrocheur(-se) pour {{businessName}}, une entreprise de {{industry}}. Votre création devrait être chaleureuse et accueillante.",
|
|
646
|
+
"generateTextPromptWithIndustry": "Rédigez un(e) {{fieldName}} pour une entreprise de ce secteur : {{industry}}. Votre création devrait être chaleureuse et accueillante.",
|
|
647
|
+
"generateTextPromptWithBusinessName": "Rédigez un(e) {{fieldName}} accrocheur(-se) pour {{businessName}}. Votre création devrait être chaleureuse et accueillante.",
|
|
648
|
+
"generateTextPromptSimple": "Rédigez un(e) {{fieldName}} accrocheur(-se). Votre création devrait être chaleureuse et accueillante.",
|
|
649
|
+
"improveTextPrompt": "Améliorez ce texte pour {{businessName}}, une entreprise de {{industry}}. Rendez-le plus naturel, clair et professionnel.",
|
|
650
|
+
"improveTextPromptWithIndustry": "Améliorez ce texte pour une entreprise de {{industry}}. Rendez-le plus naturel, clair et professionnel.",
|
|
651
|
+
"improveTextPromptWithBusinessName": "Améliorez ce texte pour {{businessName}}. Rendez-le plus naturel, clair et professionnel.",
|
|
652
|
+
"improveTextPromptSimple": "Améliorez ce texte. Rendez-le plus naturel, clair et professionnel.",
|
|
653
|
+
"spellCheckPrompt": "Vérifiez l'orthographe et la grammaire pour ce texte."
|
|
642
654
|
},
|
|
643
655
|
"googleAddressField": {
|
|
644
656
|
"addressPlaceholder": "Entrez une adresse"
|
|
@@ -638,7 +638,19 @@
|
|
|
638
638
|
"generateInputPlaceholder": "Entrez votre prompt pour décrire le contenu...",
|
|
639
639
|
"stopGeneration": "Arrêter la génération",
|
|
640
640
|
"useText": "Utiliser le texte",
|
|
641
|
-
"promptTooLong": "L'invite doit comporter {{maxLength}} caractères ou moins ({{currentLength}})"
|
|
641
|
+
"promptTooLong": "L'invite doit comporter {{maxLength}} caractères ou moins ({{currentLength}})",
|
|
642
|
+
"generateText": "Générer {{ location }}",
|
|
643
|
+
"improveText": "Améliorez mon texte",
|
|
644
|
+
"spellCheck": "Vérification orthographique",
|
|
645
|
+
"generateTextPrompt": "Rédigez un {{fieldName}} accrocheur pour {{businessName}}, une entreprise de {{industry}}. Rendez-le chaleureux et accueillant.",
|
|
646
|
+
"generateTextPromptWithIndustry": "Rédigez un {{fieldName}} accrocheur pour une entreprise de ce secteur : {{industry}}. Rendez-le chaleureux et accueillant.",
|
|
647
|
+
"generateTextPromptWithBusinessName": "Rédigez un {{fieldName}} accrocheur pour {{businessName}}. Rendez-le chaleureux et accueillant.",
|
|
648
|
+
"generateTextPromptSimple": "Rédigez un {{fieldName}} accrocheur. Rendez-le chaleureux et accueillant.",
|
|
649
|
+
"improveTextPrompt": "Améliorez ce texte pour {{businessName}}, une entreprise de {{industry}}. Donnez-lui un ton plus naturel, plus clair et plus professionnel.",
|
|
650
|
+
"improveTextPromptWithIndustry": "Améliorez ce texte pour une entreprise de {{industry}}. Donnez-lui un ton plus naturel, plus clair et plus professionnel.",
|
|
651
|
+
"improveTextPromptWithBusinessName": "Améliorez ce texte pour {{businessName}}. Donnez-lui un ton plus naturel, plus clair et plus professionnel.",
|
|
652
|
+
"improveTextPromptSimple": "Améliorez ce texte. Donnez-lui un ton plus naturel, plus clair et plus professionnel.",
|
|
653
|
+
"spellCheckPrompt": "Vérifiez l'orthographe et la grammaire pour ce texte."
|
|
642
654
|
},
|
|
643
655
|
"googleAddressField": {
|
|
644
656
|
"addressPlaceholder": "Entrez une adresse"
|
|
@@ -638,7 +638,19 @@
|
|
|
638
638
|
"generateInputPlaceholder": "Enter your prompt to describe the text...",
|
|
639
639
|
"stopGeneration": "Stop generation",
|
|
640
640
|
"useText": "Use text",
|
|
641
|
-
"promptTooLong": "Prompt must be {{maxLength}} characters or less ({{currentLength}})"
|
|
641
|
+
"promptTooLong": "Prompt must be {{maxLength}} characters or less ({{currentLength}})",
|
|
642
|
+
"generateText": "Generate {{ location }}",
|
|
643
|
+
"improveText": "Improve my text",
|
|
644
|
+
"spellCheck": "Spell Check",
|
|
645
|
+
"generateTextPrompt": "Write a catchy {{fieldName}} for {{businessName}}, a {{industry}} business. Make it friendly and inviting.",
|
|
646
|
+
"generateTextPromptWithIndustry": "Write a catchy {{fieldName}} for a business in the {{industry}} industry. Make it friendly and inviting.",
|
|
647
|
+
"generateTextPromptWithBusinessName": "Write a catchy {{fieldName}} for {{businessName}}. Make it friendly and inviting.",
|
|
648
|
+
"generateTextPromptSimple": "Write a catchy {{fieldName}}. Make it friendly and inviting.",
|
|
649
|
+
"improveTextPrompt": "Improve this text for {{businessName}}, a {{industry}} business. Make it sound more natural, clear, and professional.",
|
|
650
|
+
"improveTextPromptWithIndustry": "Improve this text for a {{industry}} business. Make it sound more natural, clear, and professional.",
|
|
651
|
+
"improveTextPromptWithBusinessName": "Improve this text for {{businessName}}. Make it sound more natural, clear, and professional.",
|
|
652
|
+
"improveTextPromptSimple": "Improve this text. Make it sound more natural, clear, and professional.",
|
|
653
|
+
"spellCheckPrompt": "Check spelling and grammar for this text."
|
|
642
654
|
},
|
|
643
655
|
"googleAddressField": {
|
|
644
656
|
"addressPlaceholder": "Enter a location"
|
|
@@ -638,7 +638,19 @@
|
|
|
638
638
|
"generateInputPlaceholder": "Digite o prompt para descrever o texto...",
|
|
639
639
|
"stopGeneration": "Parar de gerar",
|
|
640
640
|
"useText": "Usar texto",
|
|
641
|
-
"promptTooLong": "O prompt deve ter {{maxLength}} caracteres ou menos ({{currentLength}})"
|
|
641
|
+
"promptTooLong": "O prompt deve ter {{maxLength}} caracteres ou menos ({{currentLength}})",
|
|
642
|
+
"generateText": "Gerar {{ location }}",
|
|
643
|
+
"improveText": "Melhore meu texto",
|
|
644
|
+
"spellCheck": "Verificação Ortográfica",
|
|
645
|
+
"generateTextPrompt": "Escreva um {{fieldName}} cativante para {{businessName}}, uma empresa de {{industry}}. Torne-o amigável e convidativo.",
|
|
646
|
+
"generateTextPromptWithIndustry": "Crie um {{fieldName}} cativante para um negócio no setor de {{industry}}. O texto deve ser simpático e convidativo.",
|
|
647
|
+
"generateTextPromptWithBusinessName": "Crie um {{fieldName}} cativante para um {{businessName}}. O texto deve ser simpático e convidativo.",
|
|
648
|
+
"generateTextPromptSimple": "Crie um {{fieldName}} cativante. O texto deve ser simpático e convidativo.",
|
|
649
|
+
"improveTextPrompt": "Aprimore o texto do {{businessName}} para um negócio de {{industry}}. Ele deve soar natural, claro e profissional.",
|
|
650
|
+
"improveTextPromptWithIndustry": "Aprimore o texto para um negócio de {{industry}}. Ele deve soar natural, claro e profissional.",
|
|
651
|
+
"improveTextPromptWithBusinessName": "Aprimore o texto do {{businessName}}. Ele deve soar natural, claro e profissional.",
|
|
652
|
+
"improveTextPromptSimple": "Melhore este texto. Torne-o mais natural, claro e profissional.",
|
|
653
|
+
"spellCheckPrompt": "Verifique a ortografia e a gramática deste texto."
|
|
642
654
|
},
|
|
643
655
|
"googleAddressField": {
|
|
644
656
|
"addressPlaceholder": "Introduza uma localização"
|
|
@@ -638,7 +638,19 @@
|
|
|
638
638
|
"generateInputPlaceholder": "Introduza o seu comando para descrever o texto...",
|
|
639
639
|
"stopGeneration": "Parar a geração",
|
|
640
640
|
"useText": "Utilizar texto",
|
|
641
|
-
"promptTooLong": "A mensagem tem de ter {{maxLength}} carateres ou menos ({{currentLength}})"
|
|
641
|
+
"promptTooLong": "A mensagem tem de ter {{maxLength}} carateres ou menos ({{currentLength}})",
|
|
642
|
+
"generateText": "Gerar {{ location }}",
|
|
643
|
+
"improveText": "Melhore o seu texto",
|
|
644
|
+
"spellCheck": "Verificação Ortográfica",
|
|
645
|
+
"generateTextPrompt": "Escreva um {{fieldName}} cativante para {{businessName}}, uma empresa de {{industry}}. Escreva com um tom amigável e convidativo.",
|
|
646
|
+
"generateTextPromptWithIndustry": "Escreva um {{fieldName}} cativante para uma empresa na indústria de {{industry}}. Escreva com um tom amigável e convidativo.",
|
|
647
|
+
"generateTextPromptWithBusinessName": "Escreva um {{fieldName}} cativante para {{businessName}}. Escreva com um tom amigável e convidativo.",
|
|
648
|
+
"generateTextPromptSimple": "Escreva um {{fieldName}} cativante. Escreva com um tom amigável e convidativo.",
|
|
649
|
+
"improveTextPrompt": "Melhore este texto para {{businessName}}, uma empresa de {{industry}}. Faça com que soe mais natural, claro e profissional.",
|
|
650
|
+
"improveTextPromptWithIndustry": "Melhore este texto para uma empresa de {{industry}}. Faça com que soe mais natural, claro e profissional.",
|
|
651
|
+
"improveTextPromptWithBusinessName": "Melhore este texto para {{businessName}}. Faça com que soe mais natural, claro e profissional.",
|
|
652
|
+
"improveTextPromptSimple": "Melhore este texto. Faça com que soe mais natural, claro e profissional.",
|
|
653
|
+
"spellCheckPrompt": "Verifique a ortografia e a gramática deste texto."
|
|
642
654
|
},
|
|
643
655
|
"googleAddressField": {
|
|
644
656
|
"addressPlaceholder": "Introduza uma localização"
|
|
@@ -26,6 +26,8 @@ interface GetTemplatesAsyncOptions {
|
|
|
26
26
|
personalisable?: boolean;
|
|
27
27
|
selectedTemplateToken?: string | false;
|
|
28
28
|
locale?: string;
|
|
29
|
+
logoS3Token?: string;
|
|
30
|
+
logoTemplateToken?: string;
|
|
29
31
|
}
|
|
30
32
|
|
|
31
33
|
export const getTemplatesEndpoint = (templateTypeName: string) =>
|
|
@@ -31,6 +31,7 @@ export interface ModifyLogoDataRequest {
|
|
|
31
31
|
dimensionsType: string;
|
|
32
32
|
variation: string;
|
|
33
33
|
primaryText?: string;
|
|
34
|
+
generateS3Url?: boolean;
|
|
34
35
|
logo: {
|
|
35
36
|
template: {
|
|
36
37
|
token: string;
|
|
@@ -58,6 +59,8 @@ export interface ModifyLogoDataResponse {
|
|
|
58
59
|
metadata: string | null;
|
|
59
60
|
width: number;
|
|
60
61
|
height: number;
|
|
62
|
+
expiryDate?: string;
|
|
63
|
+
s3Token?: string;
|
|
61
64
|
}
|
|
62
65
|
|
|
63
66
|
export const LOGO_DIMENSION_TYPES = {
|
package/src/lib.ts
CHANGED
|
@@ -61,6 +61,7 @@ export type { CriticalResourceURLs } from './brand-page/utils/view-model.util';
|
|
|
61
61
|
export {
|
|
62
62
|
getOptimalLogoSize,
|
|
63
63
|
calculateOptimizedLogoDimensions,
|
|
64
|
+
applyLogoImageBase64UrlToBrandPageTemplateModel,
|
|
64
65
|
} from './brand-page/utils/logo.util';
|
|
65
66
|
export { sanitizeRTEHtml } from './brand-page-maker/utils';
|
|
66
67
|
export { getPageSlugFromPageTitle } from './brand-page-maker/utils/slug.util';
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
</template>
|
|
19
19
|
<template #default>
|
|
20
20
|
<div
|
|
21
|
-
class="tw-bg-white tw-rounded-lg tw-shadow-md tw-text-left tw-border-grayscale-500 tw-border tw-border-solid tw-flex tw-flex-col tw-h-full"
|
|
21
|
+
class="tw-overflow-hidden tw-bg-white tw-rounded-lg tw-shadow-md tw-text-left tw-border-grayscale-500 tw-border tw-border-solid tw-flex tw-flex-col tw-h-full"
|
|
22
22
|
>
|
|
23
23
|
<div
|
|
24
|
-
class="tw-
|
|
24
|
+
class="tw-p-3 tw-flex-1 tw-overflow-auto tw-flex tw-flex-col tw-justify-between"
|
|
25
25
|
>
|
|
26
26
|
<div
|
|
27
27
|
class="tw-p-2 tw-rounded-md tw-mb-4 tw-block"
|
|
@@ -106,7 +106,31 @@
|
|
|
106
106
|
{{ generateAiModalTr('generateDescription') }}
|
|
107
107
|
</p>
|
|
108
108
|
</div>
|
|
109
|
-
|
|
109
|
+
<!-- Suggested prompts - Mobile (shown above textarea) -->
|
|
110
|
+
<div
|
|
111
|
+
class="suggested-prompts-container suggested-prompts-mobile tw-border-t tw-border-solid tw-border-grayscale-500"
|
|
112
|
+
>
|
|
113
|
+
<Button
|
|
114
|
+
v-for="prompt in suggestedPrompts"
|
|
115
|
+
:key="prompt.id"
|
|
116
|
+
classes="tw-w-full sm:tw-w-auto tw-h-full tw-font-normal tw-max-h-9 tw-flex tw-justify-center tw-items-center"
|
|
117
|
+
:class="{
|
|
118
|
+
'tw-uppercase': !isDesignCom,
|
|
119
|
+
'disabled-button': prompt.disabled,
|
|
120
|
+
}"
|
|
121
|
+
:label="prompt.label"
|
|
122
|
+
variant="flat"
|
|
123
|
+
size="small"
|
|
124
|
+
:disabled="prompt.disabled"
|
|
125
|
+
:attrs="{
|
|
126
|
+
'data-test-tag': prompt.testTag,
|
|
127
|
+
}"
|
|
128
|
+
@click="prompt.handler"
|
|
129
|
+
/>
|
|
130
|
+
</div>
|
|
131
|
+
<div
|
|
132
|
+
class="tw-p-3 tw-flex tw-flex-col sm:tw-flex-row tw-gap-2 tw-border-t tw-border-solid tw-border-grayscale-500"
|
|
133
|
+
>
|
|
110
134
|
<div class="tw-flex tw-flex-col tw-flex-1 tw-gap-1">
|
|
111
135
|
<div class="tw-flex tw-items-center tw-flex-1">
|
|
112
136
|
<textarea
|
|
@@ -148,6 +172,28 @@
|
|
|
148
172
|
@click="onSendButtonClick"
|
|
149
173
|
/>
|
|
150
174
|
</div>
|
|
175
|
+
<!-- Suggested prompts - Desktop (shown below textarea) -->
|
|
176
|
+
<div
|
|
177
|
+
class="suggested-prompts-container suggested-prompts-desktop tw-border-t tw-border-solid tw-border-grayscale-500"
|
|
178
|
+
>
|
|
179
|
+
<Button
|
|
180
|
+
v-for="prompt in suggestedPrompts"
|
|
181
|
+
:key="prompt.id"
|
|
182
|
+
classes="tw-w-full sm:tw-w-auto tw-h-full tw-font-normal tw-max-h-9 tw-flex tw-justify-center tw-items-center"
|
|
183
|
+
:class="{
|
|
184
|
+
'tw-uppercase': !isDesignCom,
|
|
185
|
+
'disabled-button': prompt.disabled,
|
|
186
|
+
}"
|
|
187
|
+
:label="prompt.label"
|
|
188
|
+
variant="flat"
|
|
189
|
+
size="small"
|
|
190
|
+
:disabled="prompt.disabled"
|
|
191
|
+
:attrs="{
|
|
192
|
+
'data-test-tag': prompt.testTag,
|
|
193
|
+
}"
|
|
194
|
+
@click="prompt.handler"
|
|
195
|
+
/>
|
|
196
|
+
</div>
|
|
151
197
|
</div>
|
|
152
198
|
</template>
|
|
153
199
|
</Modal>
|
|
@@ -164,6 +210,7 @@ import {
|
|
|
164
210
|
import { getInstance as getDesignTemplateClient } from '../../../../clients/design-template-client';
|
|
165
211
|
import {
|
|
166
212
|
EVENTS,
|
|
213
|
+
GENERATE_AI_SUGGESTED_PROMPT,
|
|
167
214
|
GENERATE_TEXT_CONTINUATION_EVENTS,
|
|
168
215
|
useEventTracker,
|
|
169
216
|
} from '../../../../brand-page-maker/composables/useEventTracker';
|
|
@@ -181,7 +228,6 @@ const props = withDefaults(defineProps<Props>(), {
|
|
|
181
228
|
isVisible: true,
|
|
182
229
|
existingText: '',
|
|
183
230
|
snapshotBase64: null,
|
|
184
|
-
fieldType: 'text',
|
|
185
231
|
});
|
|
186
232
|
|
|
187
233
|
const data = reactive({
|
|
@@ -198,7 +244,7 @@ const data = reactive({
|
|
|
198
244
|
|
|
199
245
|
const eventTracker = useEventTracker();
|
|
200
246
|
const textareaRef = ref<HTMLTextAreaElement | null>(null);
|
|
201
|
-
const MAX_PROMPT_LENGTH =
|
|
247
|
+
const MAX_PROMPT_LENGTH = 2000;
|
|
202
248
|
|
|
203
249
|
const snapshotStore = useSnapshotStore();
|
|
204
250
|
const snapshotBase64 = computed(() => snapshotStore.snapshotBase64);
|
|
@@ -222,7 +268,11 @@ const response = computed(() => {
|
|
|
222
268
|
if (isProcessing.value && data.response === null) {
|
|
223
269
|
return '';
|
|
224
270
|
}
|
|
225
|
-
|
|
271
|
+
if (data.response !== null) {
|
|
272
|
+
return data.response;
|
|
273
|
+
}
|
|
274
|
+
// Show existing text if available, otherwise show placeholder
|
|
275
|
+
return props.existingText || generateAiModalTr('generatePlaceholder');
|
|
226
276
|
});
|
|
227
277
|
|
|
228
278
|
const isDoneTyping = computed(
|
|
@@ -231,6 +281,40 @@ const isDoneTyping = computed(
|
|
|
231
281
|
|
|
232
282
|
const isPromptTooLong = computed(() => data.prompt.length > MAX_PROMPT_LENGTH);
|
|
233
283
|
|
|
284
|
+
const formattedLocation = computed(() => {
|
|
285
|
+
// Convert underscore-separated cta_location to Title Case
|
|
286
|
+
return props.ctaLocation
|
|
287
|
+
.split('_')
|
|
288
|
+
.map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
|
|
289
|
+
.join(' ');
|
|
290
|
+
});
|
|
291
|
+
|
|
292
|
+
const suggestedPrompts = computed(() => [
|
|
293
|
+
{
|
|
294
|
+
id: 'generate-text',
|
|
295
|
+
label: generateAiModalTr('generateText', {
|
|
296
|
+
location: formattedLocation.value,
|
|
297
|
+
}),
|
|
298
|
+
disabled: isProcessing.value,
|
|
299
|
+
testTag: 'generate-text-btn',
|
|
300
|
+
handler: onGenerateTextClick,
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
id: 'improve-text',
|
|
304
|
+
label: generateAiModalTr('improveText'),
|
|
305
|
+
disabled: !props.existingText?.trim() || isProcessing.value,
|
|
306
|
+
testTag: 'improve-text-btn',
|
|
307
|
+
handler: onImproveTextClick,
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
id: 'spell-check',
|
|
311
|
+
label: generateAiModalTr('spellCheck'),
|
|
312
|
+
disabled: !props.existingText?.trim() || isProcessing.value,
|
|
313
|
+
testTag: 'spell-check-btn',
|
|
314
|
+
handler: onSpellCheckClick,
|
|
315
|
+
},
|
|
316
|
+
]);
|
|
317
|
+
|
|
234
318
|
// Watch prompt length and set error
|
|
235
319
|
watch(
|
|
236
320
|
() => data.prompt,
|
|
@@ -380,6 +464,87 @@ const onSendButtonClick = () => {
|
|
|
380
464
|
onSendPrompt();
|
|
381
465
|
};
|
|
382
466
|
|
|
467
|
+
// Helper function to build prompt key based on available context
|
|
468
|
+
const buildPromptKey = (baseKey: string): string => {
|
|
469
|
+
if (businessName.value && industry.value) return baseKey;
|
|
470
|
+
if (industry.value) return `${baseKey}WithIndustry`;
|
|
471
|
+
if (businessName.value) return `${baseKey}WithBusinessName`;
|
|
472
|
+
return `${baseKey}Simple`;
|
|
473
|
+
};
|
|
474
|
+
|
|
475
|
+
// Helper function to get prompt params based on available context
|
|
476
|
+
const getPromptParams = (includeFieldName = false) => {
|
|
477
|
+
const params: Record<string, string> = {};
|
|
478
|
+
|
|
479
|
+
if (includeFieldName) {
|
|
480
|
+
params.fieldName = formattedLocation.value;
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
if (businessName.value) {
|
|
484
|
+
params.businessName = businessName.value;
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
if (industry.value) {
|
|
488
|
+
params.industry = industry.value;
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
return params;
|
|
492
|
+
};
|
|
493
|
+
|
|
494
|
+
// Helper function to set prompt and focus textarea
|
|
495
|
+
const setPromptAndFocus = (prompt: string) => {
|
|
496
|
+
data.prompt = prompt;
|
|
497
|
+
|
|
498
|
+
nextTick(() => {
|
|
499
|
+
resizeTextarea();
|
|
500
|
+
textareaRef.value?.focus();
|
|
501
|
+
});
|
|
502
|
+
};
|
|
503
|
+
|
|
504
|
+
const onGenerateTextClick = () => {
|
|
505
|
+
const promptKey = buildPromptKey('generateTextPrompt');
|
|
506
|
+
const prompt = generateAiModalTr(promptKey, getPromptParams(true));
|
|
507
|
+
|
|
508
|
+
setPromptAndFocus(prompt);
|
|
509
|
+
|
|
510
|
+
eventTracker.sendWebsiteEvent({
|
|
511
|
+
eventName: EVENTS.WEBSITE_MAKER_AI_CLICK_SUGGESTED_PROMPT,
|
|
512
|
+
eventProps: {
|
|
513
|
+
cta_location: props.ctaLocation,
|
|
514
|
+
prompt: GENERATE_AI_SUGGESTED_PROMPT.GENERATE_TEXT,
|
|
515
|
+
},
|
|
516
|
+
});
|
|
517
|
+
};
|
|
518
|
+
|
|
519
|
+
const onImproveTextClick = () => {
|
|
520
|
+
const promptKey = buildPromptKey('improveTextPrompt');
|
|
521
|
+
const prompt = generateAiModalTr(promptKey, getPromptParams(false));
|
|
522
|
+
|
|
523
|
+
setPromptAndFocus(prompt);
|
|
524
|
+
|
|
525
|
+
eventTracker.sendWebsiteEvent({
|
|
526
|
+
eventName: EVENTS.WEBSITE_MAKER_AI_CLICK_SUGGESTED_PROMPT,
|
|
527
|
+
eventProps: {
|
|
528
|
+
cta_location: props.ctaLocation,
|
|
529
|
+
prompt: GENERATE_AI_SUGGESTED_PROMPT.IMPROVE_TEXT,
|
|
530
|
+
},
|
|
531
|
+
});
|
|
532
|
+
};
|
|
533
|
+
|
|
534
|
+
const onSpellCheckClick = () => {
|
|
535
|
+
const prompt = generateAiModalTr('spellCheckPrompt');
|
|
536
|
+
|
|
537
|
+
setPromptAndFocus(prompt);
|
|
538
|
+
|
|
539
|
+
eventTracker.sendWebsiteEvent({
|
|
540
|
+
eventName: EVENTS.WEBSITE_MAKER_AI_CLICK_SUGGESTED_PROMPT,
|
|
541
|
+
eventProps: {
|
|
542
|
+
cta_location: props.ctaLocation,
|
|
543
|
+
prompt: GENERATE_AI_SUGGESTED_PROMPT.SPELL_CHECK,
|
|
544
|
+
},
|
|
545
|
+
});
|
|
546
|
+
};
|
|
547
|
+
|
|
383
548
|
const onSendPrompt = async (customPrompt?: string) => {
|
|
384
549
|
const promptToSend = customPrompt || data.prompt.trim();
|
|
385
550
|
|
|
@@ -444,12 +609,6 @@ const onSendPrompt = async (customPrompt?: string) => {
|
|
|
444
609
|
}
|
|
445
610
|
};
|
|
446
611
|
|
|
447
|
-
// Generate default prompt based on CTA location
|
|
448
|
-
const getDefaultPrompt = (): string => {
|
|
449
|
-
const locationLabel = props.ctaLocation.replace(/_/g, ' ');
|
|
450
|
-
return `Improve this ${locationLabel}`;
|
|
451
|
-
};
|
|
452
|
-
|
|
453
612
|
// Auto-generate text when modal opens if there's existing text
|
|
454
613
|
watch(
|
|
455
614
|
() => props.isVisible,
|
|
@@ -539,6 +698,44 @@ onUnmounted(clearTypingInterval);
|
|
|
539
698
|
color: rgb(29 134 13 / var(--tw-text-opacity));
|
|
540
699
|
}
|
|
541
700
|
|
|
701
|
+
.disabled-button :deep(button) {
|
|
702
|
+
background-color: rgb(229 231 235) !important;
|
|
703
|
+
cursor: not-allowed !important;
|
|
704
|
+
opacity: 0.6 !important;
|
|
705
|
+
}
|
|
706
|
+
|
|
707
|
+
.suggested-prompts-container {
|
|
708
|
+
@apply tw-p-3 tw-flex tw-flex-wrap tw-gap-2 tw-overflow-auto;
|
|
709
|
+
}
|
|
710
|
+
|
|
711
|
+
.suggested-prompts-container :deep(button) {
|
|
712
|
+
white-space: nowrap;
|
|
713
|
+
font-weight: normal;
|
|
714
|
+
max-height: 2.25rem;
|
|
715
|
+
flex: 0 1 auto;
|
|
716
|
+
}
|
|
717
|
+
|
|
718
|
+
/* Mobile: show above textarea */
|
|
719
|
+
.suggested-prompts-mobile {
|
|
720
|
+
@apply tw-flex;
|
|
721
|
+
flex-flow: row;
|
|
722
|
+
}
|
|
723
|
+
|
|
724
|
+
.suggested-prompts-desktop {
|
|
725
|
+
@apply tw-hidden;
|
|
726
|
+
}
|
|
727
|
+
|
|
728
|
+
/* Desktop: show below textarea */
|
|
729
|
+
@media (min-width: 640px) {
|
|
730
|
+
.suggested-prompts-mobile {
|
|
731
|
+
@apply tw-hidden;
|
|
732
|
+
}
|
|
733
|
+
|
|
734
|
+
.suggested-prompts-desktop {
|
|
735
|
+
@apply tw-flex;
|
|
736
|
+
}
|
|
737
|
+
}
|
|
738
|
+
|
|
542
739
|
@keyframes blink {
|
|
543
740
|
0%,
|
|
544
741
|
50% {
|
package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.de-DE.json
CHANGED
|
@@ -7,6 +7,18 @@
|
|
|
7
7
|
"generateInputPlaceholder": "Geben Sie Ihre Eingabeaufforderung ein, um den Text zu beschreiben ...",
|
|
8
8
|
"stopGeneration": "Generierung anhalten",
|
|
9
9
|
"useText": "Text verwenden",
|
|
10
|
-
"promptTooLong": "Der Prompt darf maximal {{maxLength}} Zeichen lang sein ({{currentLength}})"
|
|
10
|
+
"promptTooLong": "Der Prompt darf maximal {{maxLength}} Zeichen lang sein ({{currentLength}})",
|
|
11
|
+
"generateText": "Erstellen Sie {{ location }}",
|
|
12
|
+
"improveText": "Meinen Text verbessern",
|
|
13
|
+
"spellCheck": "Rechtschreibprüfung",
|
|
14
|
+
"generateTextPrompt": "Schreiben Sie ein einprägsames {{fieldName}} für {{businessName}}, ein {{industry}} Unternehmen. Gestalten Sie es freundlich und einladend.",
|
|
15
|
+
"generateTextPromptWithIndustry": "Ein einprägsames {{fieldName}} schreiben für ein Unternehmen in der folgenden Branche: {{industry}}. Freundlich und einladend gestalten.",
|
|
16
|
+
"generateTextPromptWithBusinessName": "Ein einprägsames {{fieldName}} schreiben für {{businessName}}. Freundlich und einladend gestalten.",
|
|
17
|
+
"generateTextPromptSimple": "Ein einprägsames {{fieldName}} schreiben. Freundlich und einladend gestalten.",
|
|
18
|
+
"improveTextPrompt": "Diesen Text für {{businessName}} verbessern, ein Unternehmen in der folgenden Branche: {{industry}}. Natürlicher, klarer und professioneller formulieren.",
|
|
19
|
+
"improveTextPromptWithIndustry": "Diesen Text für {{industry}} verbessern. Natürlicher, klarer und professioneller formulieren.",
|
|
20
|
+
"improveTextPromptWithBusinessName": "Diesen Text für {{businessName}} verbessern. Natürlicher, klarer und professioneller formulieren.",
|
|
21
|
+
"improveTextPromptSimple": "Diesen Text verbessern. Natürlicher, klarer und professioneller formulieren.",
|
|
22
|
+
"spellCheckPrompt": "Rechtschreibung und Grammatik für diesen Text prüfen."
|
|
11
23
|
}
|
|
12
24
|
}
|
package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.es-ES.json
CHANGED
|
@@ -7,6 +7,18 @@
|
|
|
7
7
|
"generateInputPlaceholder": "Introduce tu mensaje para describir el texto...",
|
|
8
8
|
"stopGeneration": "Detén la generación",
|
|
9
9
|
"useText": "Usa texto",
|
|
10
|
-
"promptTooLong": "El mensaje debe tener {{maxLength}} caracteres como máximo ({{currentLength}})"
|
|
10
|
+
"promptTooLong": "El mensaje debe tener {{maxLength}} caracteres como máximo ({{currentLength}})",
|
|
11
|
+
"generateText": "Genera {{ location }}",
|
|
12
|
+
"improveText": "Mejora mi texto",
|
|
13
|
+
"spellCheck": "Comprueba la ortografía",
|
|
14
|
+
"generateTextPrompt": "Escribe un {{fieldName}} pegadizo para {{businessName}}, un negocio {{industry}}. Hazlo amigable y acogedor.",
|
|
15
|
+
"generateTextPromptWithIndustry": "Escribe una {{fieldName}} que llame la atención para un negocio en el sector de {{industry}}. Haz que resulte cordial y agradable.",
|
|
16
|
+
"generateTextPromptWithBusinessName": "Escribe una {{fieldName}} que llame la atención para {{businessName}}. Haz que resulte cordial y agradable.",
|
|
17
|
+
"generateTextPromptSimple": "Escribe una {{fieldName}} que llame la atención. Haz que resulte cordial y agradable.",
|
|
18
|
+
"improveTextPrompt": "Mejora este texto para {{businessName}}, un negocio de {{industry}}. Haz que suene más natural, claro y profesional.",
|
|
19
|
+
"improveTextPromptWithIndustry": "Mejora este texto para un negocio de {{industry}}. Haz que suene más natural, claro y profesional.",
|
|
20
|
+
"improveTextPromptWithBusinessName": "Mejora este texto para {{businessName}}. Haz que suene más natural, claro y profesional.",
|
|
21
|
+
"improveTextPromptSimple": "Mejora este texto. Haz que suene más natural, claro y profesional.",
|
|
22
|
+
"spellCheckPrompt": "Verifica la ortografía y la gramática de este texto."
|
|
11
23
|
}
|
|
12
24
|
}
|
package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.fr-CA.json
CHANGED
|
@@ -7,6 +7,18 @@
|
|
|
7
7
|
"generateInputPlaceholder": "Entrez votre requête pour décrire le contenu...",
|
|
8
8
|
"stopGeneration": "Arrêter la génération",
|
|
9
9
|
"useText": "Utiliser le texte",
|
|
10
|
-
"promptTooLong": "La requête doit comporter {{maxLength}} caractères ou moins ({{currentLength}})"
|
|
10
|
+
"promptTooLong": "La requête doit comporter {{maxLength}} caractères ou moins ({{currentLength}})",
|
|
11
|
+
"generateText": "Générer {{ location }}",
|
|
12
|
+
"improveText": "Améliorez votre texte",
|
|
13
|
+
"spellCheck": "Vérification orthographique",
|
|
14
|
+
"generateTextPrompt": "Rédigez un(e) {{fieldName}} accrocheur(-se) pour {{businessName}}, une entreprise de {{industry}}. Votre création devrait être chaleureuse et accueillante.",
|
|
15
|
+
"generateTextPromptWithIndustry": "Rédigez un(e) {{fieldName}} pour une entreprise de ce secteur : {{industry}}. Votre création devrait être chaleureuse et accueillante.",
|
|
16
|
+
"generateTextPromptWithBusinessName": "Rédigez un(e) {{fieldName}} accrocheur(-se) pour {{businessName}}. Votre création devrait être chaleureuse et accueillante.",
|
|
17
|
+
"generateTextPromptSimple": "Rédigez un(e) {{fieldName}} accrocheur(-se). Votre création devrait être chaleureuse et accueillante.",
|
|
18
|
+
"improveTextPrompt": "Améliorez ce texte pour {{businessName}}, une entreprise de {{industry}}. Rendez-le plus naturel, clair et professionnel.",
|
|
19
|
+
"improveTextPromptWithIndustry": "Améliorez ce texte pour une entreprise de {{industry}}. Rendez-le plus naturel, clair et professionnel.",
|
|
20
|
+
"improveTextPromptWithBusinessName": "Améliorez ce texte pour {{businessName}}. Rendez-le plus naturel, clair et professionnel.",
|
|
21
|
+
"improveTextPromptSimple": "Améliorez ce texte. Rendez-le plus naturel, clair et professionnel.",
|
|
22
|
+
"spellCheckPrompt": "Vérifiez l'orthographe et la grammaire pour ce texte."
|
|
11
23
|
}
|
|
12
24
|
}
|
package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.fr-FR.json
CHANGED
|
@@ -7,6 +7,18 @@
|
|
|
7
7
|
"generateInputPlaceholder": "Entrez votre prompt pour décrire le contenu...",
|
|
8
8
|
"stopGeneration": "Arrêter la génération",
|
|
9
9
|
"useText": "Utiliser le texte",
|
|
10
|
-
"promptTooLong": "L'invite doit comporter {{maxLength}} caractères ou moins ({{currentLength}})"
|
|
10
|
+
"promptTooLong": "L'invite doit comporter {{maxLength}} caractères ou moins ({{currentLength}})",
|
|
11
|
+
"generateText": "Générer {{ location }}",
|
|
12
|
+
"improveText": "Améliorez mon texte",
|
|
13
|
+
"spellCheck": "Vérification orthographique",
|
|
14
|
+
"generateTextPrompt": "Rédigez un {{fieldName}} accrocheur pour {{businessName}}, une entreprise de {{industry}}. Rendez-le chaleureux et accueillant.",
|
|
15
|
+
"generateTextPromptWithIndustry": "Rédigez un {{fieldName}} accrocheur pour une entreprise de ce secteur : {{industry}}. Rendez-le chaleureux et accueillant.",
|
|
16
|
+
"generateTextPromptWithBusinessName": "Rédigez un {{fieldName}} accrocheur pour {{businessName}}. Rendez-le chaleureux et accueillant.",
|
|
17
|
+
"generateTextPromptSimple": "Rédigez un {{fieldName}} accrocheur. Rendez-le chaleureux et accueillant.",
|
|
18
|
+
"improveTextPrompt": "Améliorez ce texte pour {{businessName}}, une entreprise de {{industry}}. Donnez-lui un ton plus naturel, plus clair et plus professionnel.",
|
|
19
|
+
"improveTextPromptWithIndustry": "Améliorez ce texte pour une entreprise de {{industry}}. Donnez-lui un ton plus naturel, plus clair et plus professionnel.",
|
|
20
|
+
"improveTextPromptWithBusinessName": "Améliorez ce texte pour {{businessName}}. Donnez-lui un ton plus naturel, plus clair et plus professionnel.",
|
|
21
|
+
"improveTextPromptSimple": "Améliorez ce texte. Donnez-lui un ton plus naturel, plus clair et plus professionnel.",
|
|
22
|
+
"spellCheckPrompt": "Vérifiez l'orthographe et la grammaire pour ce texte."
|
|
11
23
|
}
|
|
12
24
|
}
|
|
@@ -7,6 +7,18 @@
|
|
|
7
7
|
"generateInputPlaceholder": "Enter your prompt to describe the text...",
|
|
8
8
|
"stopGeneration": "Stop generation",
|
|
9
9
|
"useText": "Use text",
|
|
10
|
-
"promptTooLong": "Prompt must be {{maxLength}} characters or less ({{currentLength}})"
|
|
10
|
+
"promptTooLong": "Prompt must be {{maxLength}} characters or less ({{currentLength}})",
|
|
11
|
+
"generateText": "Generate {{ location }}",
|
|
12
|
+
"improveText": "Improve my text",
|
|
13
|
+
"spellCheck": "Spell Check",
|
|
14
|
+
"generateTextPrompt": "Write a catchy {{fieldName}} for {{businessName}}, a {{industry}} business. Make it friendly and inviting.",
|
|
15
|
+
"generateTextPromptWithIndustry": "Write a catchy {{fieldName}} for a business in the {{industry}} industry. Make it friendly and inviting.",
|
|
16
|
+
"generateTextPromptWithBusinessName": "Write a catchy {{fieldName}} for {{businessName}}. Make it friendly and inviting.",
|
|
17
|
+
"generateTextPromptSimple": "Write a catchy {{fieldName}}. Make it friendly and inviting.",
|
|
18
|
+
"improveTextPrompt": "Improve this text for {{businessName}}, a {{industry}} business. Make it sound more natural, clear, and professional.",
|
|
19
|
+
"improveTextPromptWithIndustry": "Improve this text for a {{industry}} business. Make it sound more natural, clear, and professional.",
|
|
20
|
+
"improveTextPromptWithBusinessName": "Improve this text for {{businessName}}. Make it sound more natural, clear, and professional.",
|
|
21
|
+
"improveTextPromptSimple": "Improve this text. Make it sound more natural, clear, and professional.",
|
|
22
|
+
"spellCheckPrompt": "Check spelling and grammar for this text."
|
|
11
23
|
}
|
|
12
24
|
}
|
package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.pt-BR.json
CHANGED
|
@@ -7,6 +7,18 @@
|
|
|
7
7
|
"generateInputPlaceholder": "Digite o prompt para descrever o texto...",
|
|
8
8
|
"stopGeneration": "Parar de gerar",
|
|
9
9
|
"useText": "Usar texto",
|
|
10
|
-
"promptTooLong": "O prompt deve ter {{maxLength}} caracteres ou menos ({{currentLength}})"
|
|
10
|
+
"promptTooLong": "O prompt deve ter {{maxLength}} caracteres ou menos ({{currentLength}})",
|
|
11
|
+
"generateText": "Gerar {{ location }}",
|
|
12
|
+
"improveText": "Melhore meu texto",
|
|
13
|
+
"spellCheck": "Verificação Ortográfica",
|
|
14
|
+
"generateTextPrompt": "Escreva um {{fieldName}} cativante para {{businessName}}, uma empresa de {{industry}}. Torne-o amigável e convidativo.",
|
|
15
|
+
"generateTextPromptWithIndustry": "Crie um {{fieldName}} cativante para um negócio no setor de {{industry}}. O texto deve ser simpático e convidativo.",
|
|
16
|
+
"generateTextPromptWithBusinessName": "Crie um {{fieldName}} cativante para um {{businessName}}. O texto deve ser simpático e convidativo.",
|
|
17
|
+
"generateTextPromptSimple": "Crie um {{fieldName}} cativante. O texto deve ser simpático e convidativo.",
|
|
18
|
+
"improveTextPrompt": "Aprimore o texto do {{businessName}} para um negócio de {{industry}}. Ele deve soar natural, claro e profissional.",
|
|
19
|
+
"improveTextPromptWithIndustry": "Aprimore o texto para um negócio de {{industry}}. Ele deve soar natural, claro e profissional.",
|
|
20
|
+
"improveTextPromptWithBusinessName": "Aprimore o texto do {{businessName}}. Ele deve soar natural, claro e profissional.",
|
|
21
|
+
"improveTextPromptSimple": "Melhore este texto. Torne-o mais natural, claro e profissional.",
|
|
22
|
+
"spellCheckPrompt": "Verifique a ortografia e a gramática deste texto."
|
|
11
23
|
}
|
|
12
24
|
}
|
package/src/shared/content-settings/components/generate-ai-modal/i18n/generate-ai.pt-PT.json
CHANGED
|
@@ -7,6 +7,18 @@
|
|
|
7
7
|
"generateInputPlaceholder": "Introduza o seu comando para descrever o texto...",
|
|
8
8
|
"stopGeneration": "Parar a geração",
|
|
9
9
|
"useText": "Utilizar texto",
|
|
10
|
-
"promptTooLong": "A mensagem tem de ter {{maxLength}} carateres ou menos ({{currentLength}})"
|
|
10
|
+
"promptTooLong": "A mensagem tem de ter {{maxLength}} carateres ou menos ({{currentLength}})",
|
|
11
|
+
"generateText": "Gerar {{ location }}",
|
|
12
|
+
"improveText": "Melhore o seu texto",
|
|
13
|
+
"spellCheck": "Verificação Ortográfica",
|
|
14
|
+
"generateTextPrompt": "Escreva um {{fieldName}} cativante para {{businessName}}, uma empresa de {{industry}}. Escreva com um tom amigável e convidativo.",
|
|
15
|
+
"generateTextPromptWithIndustry": "Escreva um {{fieldName}} cativante para uma empresa na indústria de {{industry}}. Escreva com um tom amigável e convidativo.",
|
|
16
|
+
"generateTextPromptWithBusinessName": "Escreva um {{fieldName}} cativante para {{businessName}}. Escreva com um tom amigável e convidativo.",
|
|
17
|
+
"generateTextPromptSimple": "Escreva um {{fieldName}} cativante. Escreva com um tom amigável e convidativo.",
|
|
18
|
+
"improveTextPrompt": "Melhore este texto para {{businessName}}, uma empresa de {{industry}}. Faça com que soe mais natural, claro e profissional.",
|
|
19
|
+
"improveTextPromptWithIndustry": "Melhore este texto para uma empresa de {{industry}}. Faça com que soe mais natural, claro e profissional.",
|
|
20
|
+
"improveTextPromptWithBusinessName": "Melhore este texto para {{businessName}}. Faça com que soe mais natural, claro e profissional.",
|
|
21
|
+
"improveTextPromptSimple": "Melhore este texto. Faça com que soe mais natural, claro e profissional.",
|
|
22
|
+
"spellCheckPrompt": "Verifique a ortografia e a gramática deste texto."
|
|
11
23
|
}
|
|
12
24
|
}
|