import { cache } from 'react'; import { AdminAccountPage } from '@kit/admin/components/admin-account-page'; import { AdminGuard } from '@kit/admin/components/admin-guard'; import { getSupabaseServerComponentClient } from '@kit/supabase/server-component-client'; import { PageBody } from '@kit/ui/page'; interface Params { params: { id: string; }; } export const generateMetadata = async ({ params }: Params) => { const account = await loadAccount(params.id); return { title: `Admin | ${account.name}`, }; }; async function AccountPage({ params }: Params) { const account = await loadAccount(params.id); return ( ); } export default AdminGuard(AccountPage); const loadAccount = cache(accountLoader); async function accountLoader(id: string) { const client = getSupabaseServerComponentClient({ admin: true, }); const { data, error } = await client .from('accounts') .select('*, memberships: accounts_memberships (*)') .eq('id', id) .single(); if (error) { throw error; } return data; }