'use client'; import { DateDisplay } from '@/lib/display-objects/DateDisplay'; import { AdminUsersViewData } from '@/lib/view-data/AdminUsersViewData'; import { Button } from '@/ui/Button'; import { IconButton } from '@/ui/IconButton'; import { SimpleCheckbox } from '@/ui/SimpleCheckbox'; import { Badge } from '@/ui/Badge'; import { DriverIdentity } from '@/ui/DriverIdentity'; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '@/ui/Table'; import { Text } from '@/ui/Text'; import { MoreVertical, Trash2 } from 'lucide-react'; import { UserStatusTag } from './UserStatusTag'; import React from 'react'; 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 (