import { CreditCard } from 'lucide-react'; import { createMemberManagementApi } from '@kit/member-management/api'; import { getSupabaseServerClient } from '@kit/supabase/server-client'; import { AccountNotFound } from '~/components/account-not-found'; import { CmsPageShell } from '~/components/cms-page-shell'; import { EmptyState } from '~/components/empty-state'; /** All active members are fetched for the card overview. */ const CARDS_PAGE_SIZE = 100; interface Props { params: Promise<{ account: string }>; } export default async function MemberCardsPage({ params }: Props) { const { account } = await params; const client = getSupabaseServerClient(); const { data: acct } = await client .from('accounts') .select('id') .eq('slug', account) .single(); if (!acct) return ; const api = createMemberManagementApi(client); const result = await api.listMembers(acct.id, { status: 'active', pageSize: CARDS_PAGE_SIZE, }); const members = result.data; return ( {members.length === 0 ? ( } title="Keine aktiven Mitglieder" description="Erstellen Sie zuerst Mitglieder, um Ausweise zu generieren." actionLabel="Mitglieder verwalten" actionHref={`/home/${account}/members-cms`} /> ) : ( } title="Feature in Entwicklung" description={`Die Ausweiserstellung für ${members.length} aktive Mitglieder wird derzeit entwickelt. Diese Funktion wird in einem kommenden Update verfügbar sein.`} actionLabel="Mitglieder verwalten" actionHref={`/home/${account}/members-cms`} /> )} ); }