import type { Metadata } from "next"; import { requireAuth } from "@/lib/auth/guards"; import { getEffectivePlan, subjectHasFeature } from "@/lib/billing/subscription"; import { prisma } from "@/lib/db"; import { PageHeader } from "@/components/app/page-header"; import { UpgradeGate } from "@/components/app/upgrade-gate"; import { TeamClient } from "@/components/app/team-client"; export const metadata: Metadata = { title: "Team" }; export default async function TeamPage() { const session = await requireAuth(); const allowed = await subjectHasFeature( session.user.id, "team_workspace", session.session.activeOrganizationId ); if (!allowed) { return ( <> ); } const { plan } = await getEffectivePlan(session.user.id, session.session.activeOrganizationId); const membership = await prisma.member.findFirst({ where: { userId: session.user.id }, include: { organization: { include: { branding: true, members: { include: { user: { select: { name: true, email: true } } } }, }, }, }, }); const org = membership?.organization ?? null; const members = org?.members.map((m) => ({ id: m.id, name: m.user.name, email: m.user.email, role: m.role })) ?? []; return ( <> ); }