diff --git a/src/views/pages/saas/SaasAddonsPage.vue b/src/views/pages/saas/SaasAddonsPage.vue index 4edace8..7e0a817 100644 --- a/src/views/pages/saas/SaasAddonsPage.vue +++ b/src/views/pages/saas/SaasAddonsPage.vue @@ -581,15 +581,15 @@ async function doWaAdjust() { function submitWaTopup() { const t = waTopup.value; - if (!t.tenantId) { toast.add({ severity: 'warn', summary: 'Selecione o tenant', life: 2500 }); return; } + if (!t.tenantId) { toast.add({ severity: 'error', summary: 'Selecione o tenant', life: 2500 }); return; } const amt = Math.round(Number(t.amount) || 0); - if (amt < 1) { toast.add({ severity: 'warn', summary: 'Valor deve ser >= 1', life: 2500 }); return; } - if (amt > WA_ADJUST_MAX) { toast.add({ severity: 'warn', summary: `Máximo ${WA_ADJUST_MAX} por operação`, life: 3000 }); return; } + if (amt < 1) { toast.add({ severity: 'error', summary: 'Valor deve ser >= 1', life: 2500 }); return; } + if (amt > WA_ADJUST_MAX) { toast.add({ severity: 'error', summary: `Máximo ${WA_ADJUST_MAX} por operação`, life: 3000 }); return; } if (t.mode === 'remove') { const max = waMaxAmountForMode(); - if (max <= 0) { toast.add({ severity: 'warn', summary: 'Nada removível', detail: 'Este tenant não tem créditos de cortesia disponíveis pra remoção.', life: 4000 }); return; } - if (amt > max) { toast.add({ severity: 'warn', summary: `Máximo removível: ${max}`, life: 3000 }); return; } + if (max <= 0) { toast.add({ severity: 'error', summary: 'Nada removível', detail: 'Este tenant não tem créditos de cortesia disponíveis pra remoção.', life: 4000 }); return; } + if (amt > max) { toast.add({ severity: 'error', summary: `Máximo removível: ${max}`, life: 3000 }); return; } const msgItems = [ `Vai subtrair ${amt} créditos de ${escapeHtml(tenantName(t.tenantId))} (pool cortesia).`, @@ -1045,7 +1045,7 @@ onMounted(() => { - + Máx. {{ WA_ADJUST_MAX }} por operação · removível agora: {{ Math.min(WA_ADJUST_MAX, waRemovable.removable) }}.