'use client'; import { use, useEffect, useState } from 'react'; import { useRouter } from 'next/navigation'; import { useOrgAdmin } from '../../../_lib/org-admin-context'; export default function OrgTenantDetailPage({ params }: { params: Promise<{ id: string }> }) { const { id } = use(params); const { orgAdmin, loading } = useOrgAdmin(); const router = useRouter(); const [tenant, setTenant] = useState(null); useEffect(() => { if (loading) return; if (!orgAdmin) { router.replace('/org/login'); return; } fetch(`/api/org/tenants/${id}`) .then((r) => r.ok ? r.json() : null) .then((d) => setTenant(d)) .catch(() => {}); }, [orgAdmin, loading, router, id]); if (loading || !orgAdmin) return

Loading...

; if (!tenant) return

Chapter not found.

; return (

{tenant.name}

{tenant.slug}

{[ { label: 'Messages', value: tenant._count?.messages }, { label: 'Members', value: tenant._count?.towerUsers }, { label: 'Groups', value: tenant._count?.groups }, ].map((stat) => (

{stat.value ?? '—'}

{stat.label}

))}

Chapter Admins

{(tenant.admins ?? []).map((a: any) => ( ))}
Email Role Joined
{a.email} {a.role} {new Date(a.createdAt).toLocaleDateString()}
{tenant.admins?.length === 0 &&

No admins yet.

}
); }