diff --git a/mvp/b2c/src/app/panel/page.tsx b/mvp/b2c/src/app/panel/page.tsx index 16efe43..70e88a9 100644 --- a/mvp/b2c/src/app/panel/page.tsx +++ b/mvp/b2c/src/app/panel/page.tsx @@ -9,6 +9,12 @@ import { formatEuros, formatFecha, } from '@/lib/funnel'; +import { getCurrentTenantId } from '@/lib/auth/current-user'; +import { db } from '@/db'; +import { tenants, plans } from '@/db/schema'; +import { eq } from 'drizzle-orm'; +import { formatPlanBadge } from '@/lib/billing/plan'; +import { STRIPE_ENABLED } from '@/lib/billing/stripe'; export const dynamic = 'force-dynamic'; @@ -27,6 +33,13 @@ export default async function PanelPage({ const [leads, resumen] = await Promise.all([getLeads(filtro), getResumen()]); + const tenantId = await getCurrentTenantId(); + const [tenant] = await db.select().from(tenants).where(eq(tenants.id, tenantId)).limit(1); + const [plan] = tenant?.planId + ? await db.select().from(plans).where(eq(plans.id, tenant.planId)).limit(1) + : []; + const badge = formatPlanBadge(plan?.nombre ?? null, tenant?.subscriptionStatus ?? 'trial', tenant?.trialEndsAt ?? null); + return (
@@ -36,6 +49,18 @@ export default async function PanelPage({

+
+ {badge} + +
+ {/* Filtros por estado */}
{FILTROS.map((f) => {