import { createMemberManagementApi } from '@kit/member-management/api'; import { MembersDataTable } from '@kit/member-management/components'; import { getSupabaseServerClient } from '@kit/supabase/server-client'; import { AccountNotFound } from '~/components/account-not-found'; import { CmsPageShell } from '~/components/cms-page-shell'; const PAGE_SIZE = 25; interface Props { params: Promise<{ account: string }>; searchParams: Promise>; } export default async function MembersPage({ params, searchParams }: Props) { const { account } = await params; const search = await searchParams; const client = getSupabaseServerClient(); const { data: acct } = await client .from('accounts') .select('id') .eq('slug', account) .single(); if (!acct) return ; const api = createMemberManagementApi(client); const page = Number(search.page) || 1; const result = await api.listMembers(acct.id, { search: search.q as string, status: search.status as string, page, pageSize: PAGE_SIZE, }); const duesCategories = await api.listDuesCategories(acct.id); return ( ) => ({ id: String(c.id), name: String(c.name), }), )} /> ); }