diff --git a/apps/web/app/(dashboard)/contribuyentes/page.tsx b/apps/web/app/(dashboard)/contribuyentes/page.tsx index b4363ee..5fe803a 100644 --- a/apps/web/app/(dashboard)/contribuyentes/page.tsx +++ b/apps/web/app/(dashboard)/contribuyentes/page.tsx @@ -9,6 +9,7 @@ import { useAuthStore } from '@/stores/auth-store'; import { apiClient } from '@/lib/api/client'; import { Plus, Pencil, Trash2, Building2, Sparkles } from 'lucide-react'; import { AddonsDialog } from './addons-dialog'; +import { DESPACHO_PLANS } from '@horux/shared'; const TRIAL_LIMIT_TOOLTIP = 'Límite de contribuyentes para la prueba gratuita, para continuar agregando contribuyentes, selecciona un plan.'; @@ -30,11 +31,21 @@ export default function ContribuyentesPage() { // deshabilita el botón con tooltip explicativo. const { data: planInfo } = useQuery({ queryKey: ['my-plan-info'], - queryFn: () => apiClient.get<{ isTrialActive: boolean }>('/despachos/me/plan').then(r => r.data), + queryFn: () => apiClient.get<{ plan: string; isTrialActive: boolean }>('/despachos/me/plan').then(r => r.data), }); const activeCount = (contribuyentes ?? []).filter((c: any) => c.active !== false).length; const trialAtLimit = (planInfo?.isTrialActive ?? false) && activeCount >= 5; + // Contador de RFCs disponibles en el plan + const planKey = planInfo?.plan as keyof typeof DESPACHO_PLANS | undefined; + const planMaxRfcs = planKey ? DESPACHO_PLANS[planKey]?.maxRfcs ?? undefined : undefined; + const rfcCounterText = (() => { + if (planInfo?.isTrialActive) return `${activeCount} de 5 RFCs`; + if (planMaxRfcs != null && planMaxRfcs < 0) return `${activeCount} RFCs`; + if (planMaxRfcs !== undefined) return `${activeCount} de ${planMaxRfcs} RFCs`; + return `${activeCount} RFCs`; + })(); + const resetForm = () => { setForm({ rfc: '', razonSocial: '' }); setAssignSelf(true); setShowDialog(false); setEditingId(null); }; const handleSave = async () => { @@ -80,7 +91,10 @@ export default function ContribuyentesPage() { return (
-

Contribuyentes

RFCs que gestiona tu despacho

+
+

Contribuyentes

+

RFCs que gestiona tu despacho · {rfcCounterText}

+