import { PlusCircle } from 'lucide-react'; import { getTranslations } from 'next-intl/server'; import { getSupabaseServerClient } from '@kit/supabase/server-client'; import { AccountInvitationsTable, AccountMembersTable, InviteMembersDialogContainer, } from '@kit/team-accounts/components'; import { AppBreadcrumbs } from '@kit/ui/app-breadcrumbs'; import { Button } from '@kit/ui/button'; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from '@kit/ui/card'; import { If } from '@kit/ui/if'; import { PageBody } from '@kit/ui/page'; import { Trans } from '@kit/ui/trans'; // local imports import { TeamAccountLayoutPageHeader } from '../_components/team-account-layout-page-header'; import { loadMembersPageData } from './_lib/server/members-page.loader'; interface TeamAccountMembersPageProps { params: Promise<{ account: string }>; } export const generateMetadata = async () => { const t = await getTranslations('teams'); const title = t('members.pageTitle'); return { title, }; }; async function TeamAccountMembersPage({ params }: TeamAccountMembersPageProps) { const client = getSupabaseServerClient(); const slug = (await params).account; const [members, invitations, canAddMember, { user, account }] = await loadMembersPageData(client, slug); const canManageRoles = account.permissions.includes('roles.manage'); const canManageInvitations = account.permissions.includes('invites.manage'); const isPrimaryOwner = account.primary_owner_user_id === user.id; const currentUserRoleHierarchy = account.role_hierarchy_level; return ( } description={} account={account.slug} />
); } export default TeamAccountMembersPage;