import Link from 'next/link'; import { PageBody } from '@/components/app/Page'; import configuration from '@/config/app.config'; import type MembershipRole from '@/lib/organizations/types/membership-role'; import { ChevronRightIcon } from 'lucide-react'; import getSupabaseServerComponentClient from '@packages/supabase/server-component-client'; import { Badge } from '@kit/ui/badge'; import { Card, CardContent, CardHeader, CardTitle } from '@kit/ui/card'; import { Input } from '@kit/ui/input'; import { Label } from '@kit/ui/label'; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from '@kit/ui/table'; import RoleBadge from '../../../(app)/[account]/account/organization/components/RoleBadge'; import AdminGuard from '../../../../packages/admin/components/AdminGuard'; import AdminHeader from '../../../../packages/admin/components/AdminHeader'; import UserActionsDropdown from './components/UserActionsDropdown'; interface Params { params: { uid: string; }; } export const metadata = { title: `Manage User | ${configuration.name}`, }; async function AdminUserPage({ params }: Params) { const uid = params.uid; const data = await loadData(uid); const { auth, user } = data; const displayName = user?.displayName; const authUser = auth?.user; const email = authUser?.email; const phone = authUser?.phone; const organizations = data.organizations ?? []; const isBanned = Boolean( authUser && 'banned_until' in authUser && authUser.banned_until !== 'none', ); return (