import { use } from 'react'; import Link from 'next/link'; import { ChevronRightIcon } from 'lucide-react'; import AdminHeader from '@packages/admin/components/AdminHeader'; import getSupabaseServerComponentClient from '@packages/supabase/server-component-client'; import appConfig from '@/config/app.config'; import { PageBody } from '@/components/app/Page'; import getPageFromQueryParams from '../../../utils/get-page-from-query-param'; import { getMembershipsByOrganizationUid } from '../../queries'; import OrganizationsMembersTable from './components/OrganizationsMembersTable'; interface AdminMembersPageParams { params: { uid: string; }; searchParams: { page?: string; }; } export const metadata = { title: `Members | ${appConfig.name}`, }; function AdminMembersPage(params: AdminMembersPageParams) { const adminClient = getSupabaseServerComponentClient({ admin: true }); const uid = params.params.uid; const perPage = 20; const page = getPageFromQueryParams(params.searchParams.page); const { data: memberships, count } = use( getMembershipsByOrganizationUid(adminClient, { uid, page, perPage }), ); const pageCount = count ? Math.ceil(count / perPage) : 0; return (