'use client'; import React from 'react'; import { Table, TableHead, TableBody, TableRow, TableHeader, TableCell } from '@/ui/Table'; import { Stack } from '@/ui/Stack'; import { Box } from '@/ui/Box'; import { Text } from '@/ui/Text'; import { Button } from '@/ui/Button'; import { Icon } from '@/ui/Icon'; import { SimpleCheckbox } from '@/ui/SimpleCheckbox'; import { UserStatusTag } from './UserStatusTag'; import { DateDisplay } from '@/lib/display-objects/DateDisplay'; import { Shield, Trash2, MoreVertical } from 'lucide-react'; import { AdminUsersViewData } from '@/lib/view-data/AdminUsersViewData'; interface AdminUsersTableProps { users: AdminUsersViewData['users']; selectedUserIds: string[]; onSelectUser: (userId: string) => void; onSelectAll: () => void; onUpdateStatus: (userId: string, status: string) => void; onDeleteUser: (userId: string) => void; deletingUserId?: string | null; } /** * AdminUsersTable * * Semantic table for managing users. * High-density, instrument-grade UI. */ export function AdminUsersTable({ users, selectedUserIds, onSelectUser, onSelectAll, onUpdateStatus, onDeleteUser, deletingUserId }: AdminUsersTableProps) { const allSelected = users.length > 0 && selectedUserIds.length === users.length; return (