import Link from 'next/link' import { supabaseAdmin, listAuthUsers } from '@/lib/supabaseAdmin' interface ProfileRow { id: string full_name: string | null bar_association_no: string | null bar_name: string | null license_status: string | null license_expires_at: string | null trial_end_date: string | null org_id: string | null created_at: string } function statusBadge(status: string | null) { const map: Record = { active: 'bg-green-50 text-green-700 border-green-200 dark:bg-green-950/40 dark:text-green-400 dark:border-green-900', trial: 'bg-amber-50 text-amber-700 border-amber-200 dark:bg-amber-950/40 dark:text-amber-400 dark:border-amber-900', expired: 'bg-red-50 text-red-700 border-red-200 dark:bg-red-950/40 dark:text-red-400 dark:border-red-900', } const cls = map[status || ''] || 'bg-gray-50 text-gray-600 border-gray-200 dark:bg-gray-900 dark:text-gray-400 dark:border-gray-800' return ( {status || 'bilinmiyor'} ) } function formatDate(iso: string | null) { if (!iso) return '—' return new Date(iso).toLocaleDateString('tr-TR', { day: 'numeric', month: 'short', year: 'numeric' }) } export default async function UsersPage({ searchParams }: { searchParams: Promise<{ deleted?: string }> }) { const { deleted } = await searchParams const [{ data: profiles }, authUsers] = await Promise.all([ supabaseAdmin .from('profiles') .select('id, full_name, bar_association_no, bar_name, license_status, license_expires_at, trial_end_date, org_id, created_at') .order('created_at', { ascending: false }), listAuthUsers(), ]) const rows = (profiles as ProfileRow[] | null) || [] return (
{deleted && (
Kullanıcı silindi.
)}

Kullanıcılar

Toplam {rows.length} kullanıcı.

{['Kullanıcı', 'Baro', 'Durum', 'Bitiş Tarihi', 'Kayıt', ''].map((h) => ( ))} {rows.map((p) => { const authUser = authUsers.get(p.id) const expiryDate = p.license_status === 'trial' ? p.trial_end_date : p.license_expires_at return ( ) })} {rows.length === 0 && ( )}
{h}
{p.full_name || '(isimsiz)'}
{authUser?.email || p.id}
{p.bar_name || '—'}{p.bar_association_no ? ` · ${p.bar_association_no}` : ''} {statusBadge(p.license_status)} {formatDate(expiryDate)} {formatDate(p.created_at)} Düzenle
Henüz kullanıcı yok.
) }