feat: Adicionar aviso de IVA em todos os preços

�� 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
This commit is contained in:
marco 2025-12-19 17:23:34 +01:00
parent 0a10fd0194
commit 806bfc1a89
6 changed files with 18 additions and 5 deletions

View File

@ -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",

View File

@ -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",

View File

@ -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",

View File

@ -208,6 +208,9 @@ export default function Billing() {
<span className="text-muted">
/{plan.billing_period === 'annual' ? t('billing.year') : t('billing.month')}
</span>
<span className="text-warning fw-semibold ms-2">
({t('pricing.vatNotIncluded') || '+ IVA'})
</span>
</p>
)}
</div>

View File

@ -135,8 +135,11 @@ export default function Pricing() {
{plan.monthly_price.toFixed(2)}
<span className="fs-6 fw-normal text-muted">/{t('pricing.month')}</span>
</div>
<div className="text-warning small fw-semibold">
{t('pricing.plusVat')}
</div>
{plan.billing_period === 'annual' && (
<div className="text-muted small">
<div className="text-muted small mt-1">
{t('pricing.billedAnnually', { price: plan.price })}
</div>
)}

View File

@ -611,8 +611,9 @@ export default function Profile() {
{subscriptionData.plan.name}
<span className="badge bg-success ms-2">{t('common.active') || 'Ativo'}</span>
</h6>
<p className="text-muted mb-2" style={{ fontSize: '14px' }}>
<p className="text-muted mb-1" style={{ fontSize: '14px' }}>
{subscriptionData.plan.formatted_price} / {subscriptionData.plan.billing_period === 'monthly' ? t('common.month') || 'mês' : t('common.year') || 'ano'}
<span className="text-warning fw-semibold ms-2">({t('pricing.vatNotIncluded') || '+ IVA'})</span>
</p>
{subscriptionData.subscription?.current_period_end && (
<p className="text-muted mb-0" style={{ fontSize: '13px' }}>