import { useRouter } from "expo-router"; import { View } from "react-native"; import { Avatar, DataTable, Text, Chip } from "react-native-paper"; import { TableSortDirection } from "@/constants/tableSortDirectionEnum"; import { AdminTableHeader } from "@/components/features/admins/AdminTableHeader"; import { AdminActions } from "@/components/features/admins/AdminActions"; import { User } from "@/store/models/User.model"; import { RoleEnum } from "@/constants/roleEnum"; import { getInitials } from "@/utils/userUtils"; import { useAuthContext } from "@/auth/AuthContext"; interface DesktopAdminAccountsTableProps { admins: User[]; sortColumn: string | null; sortDirection: TableSortDirection; onSort: (column: string) => void; onEdit: (admin: User) => void; onDelete: (admin: User) => void; onResend: (admin: User) => void; isResending?: boolean; } export const DesktopAdminAccountsTable = ({ admins, sortColumn, sortDirection, onSort, onEdit, onDelete, onResend, isResending, }: DesktopAdminAccountsTableProps) => { const { user } = useAuthContext(); const router = useRouter(); const openDetails = (admin: User) => { router.push({ pathname: "/accounts/admins/[id]", params: { id: admin.id }, }); }; return ( {admins.map((admin) => ( {admin.imageUrl ? ( ) : ( )} openDetails(admin)} numberOfLines={10} className="flex-shrink" > {admin.firstName} {admin.lastName} {admin.managerId === user?.id ? ( ) : null} {!admin.isActivated && ( Invited )} {admin.email} {admin.role === RoleEnum.ADMIN ? "Admin" : "Manager"} ))} ); };