From 806bfc1a89012ceb37aa8c86a4b9c5cc7dc23c58 Mon Sep 17 00:00:00 2001 From: marco Date: Fri, 19 Dec 2025 17:23:34 +0100 Subject: [PATCH] =?UTF-8?q?feat:=20Adicionar=20aviso=20de=20IVA=20em=20tod?= =?UTF-8?q?os=20os=20pre=C3=A7os?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit �� IVA NÃO INCLUÍDO - Avisos adicionados 📍 LOCAIS ATUALIZADOS: 1. Pricing Page (/pricing) - Aviso "+ IVA" abaixo do preço principal - Texto destacado em amarelo 2. Profile Page (/profile) - Seção de assinatura com "(IVA não incluído)" 3. Billing Page (/billing) - Plano atual com aviso de IVA 🌍 i18n - 3 Idiomas: pt-BR: - plusVat: "+ IVA" - vatNotIncluded: "(IVA não incluído)" - billedAnnually: "...€{{price}} + IVA" ES: - plusVat: "+ IVA" - vatNotIncluded: "(IVA no incluido)" - billedAnnually: "...€{{price}} + IVA" EN: - plusVat: "+ VAT" - vatNotIncluded: "(VAT not included)" - billedAnnually: "...€{{price}} + VAT" 🎨 VISUAL: - Texto em amarelo (text-warning) - Destaque com fw-semibold - Posicionamento consistente ✅ Cliente agora vê claramente que IVA será adicionado --- frontend/src/i18n/locales/en.json | 4 +++- frontend/src/i18n/locales/es.json | 4 +++- frontend/src/i18n/locales/pt-BR.json | 4 +++- frontend/src/pages/Billing.jsx | 3 +++ frontend/src/pages/Pricing.jsx | 5 ++++- frontend/src/pages/Profile.jsx | 3 ++- 6 files changed, 18 insertions(+), 5 deletions(-) diff --git a/frontend/src/i18n/locales/en.json b/frontend/src/i18n/locales/en.json index 24cb314..9b99614 100755 --- a/frontend/src/i18n/locales/en.json +++ b/frontend/src/i18n/locales/en.json @@ -2208,7 +2208,9 @@ "free": "Free", "month": "month", "year": "year", - "billedAnnually": "Billed annually €{{price}}", + "plusVat": "+ VAT", + "vatNotIncluded": "(VAT not included)", + "billedAnnually": "Billed annually €{{price}} + VAT", "save": "Save {{percent}}%", "trialDays": "{{days}}-day free trial", "trial": "trial", diff --git a/frontend/src/i18n/locales/es.json b/frontend/src/i18n/locales/es.json index 80944ae..81467e3 100755 --- a/frontend/src/i18n/locales/es.json +++ b/frontend/src/i18n/locales/es.json @@ -2200,7 +2200,9 @@ "free": "Gratis", "month": "mes", "year": "año", - "billedAnnually": "Facturado anualmente €{{price}}", + "plusVat": "+ IVA", + "vatNotIncluded": "(IVA no incluido)", + "billedAnnually": "Facturado anualmente €{{price}} + IVA", "save": "Ahorra {{percent}}%", "trialDays": "{{days}} días de prueba gratis", "trial": "de prueba", diff --git a/frontend/src/i18n/locales/pt-BR.json b/frontend/src/i18n/locales/pt-BR.json index ed72a04..0a603dd 100755 --- a/frontend/src/i18n/locales/pt-BR.json +++ b/frontend/src/i18n/locales/pt-BR.json @@ -2218,7 +2218,9 @@ "free": "Grátis", "month": "mês", "year": "ano", - "billedAnnually": "Cobrado anualmente €{{price}}", + "plusVat": "+ IVA", + "vatNotIncluded": "(IVA não incluído)", + "billedAnnually": "Cobrado anualmente €{{price}} + IVA", "save": "Economize {{percent}}%", "trialDays": "{{days}} dias de teste grátis", "trial": "de teste", diff --git a/frontend/src/pages/Billing.jsx b/frontend/src/pages/Billing.jsx index 1cc7bb8..3b143d2 100755 --- a/frontend/src/pages/Billing.jsx +++ b/frontend/src/pages/Billing.jsx @@ -208,6 +208,9 @@ export default function Billing() { /{plan.billing_period === 'annual' ? t('billing.year') : t('billing.month')} + + ({t('pricing.vatNotIncluded') || '+ IVA'}) +

)} diff --git a/frontend/src/pages/Pricing.jsx b/frontend/src/pages/Pricing.jsx index cc03839..f90e596 100755 --- a/frontend/src/pages/Pricing.jsx +++ b/frontend/src/pages/Pricing.jsx @@ -135,8 +135,11 @@ export default function Pricing() { €{plan.monthly_price.toFixed(2)} /{t('pricing.month')} +
+ {t('pricing.plusVat')} +
{plan.billing_period === 'annual' && ( -
+
{t('pricing.billedAnnually', { price: plan.price })}
)} diff --git a/frontend/src/pages/Profile.jsx b/frontend/src/pages/Profile.jsx index fb1445c..d2de664 100755 --- a/frontend/src/pages/Profile.jsx +++ b/frontend/src/pages/Profile.jsx @@ -611,8 +611,9 @@ export default function Profile() { {subscriptionData.plan.name} {t('common.active') || 'Ativo'} -

+

{subscriptionData.plan.formatted_price} / {subscriptionData.plan.billing_period === 'monthly' ? t('common.month') || 'mês' : t('common.year') || 'ano'} + ({t('pricing.vatNotIncluded') || '+ IVA'})

{subscriptionData.subscription?.current_period_end && (