import { useState } from "react"; import { View, Text, FlatList } from "react-native"; import { Dialog, IconButton } from "react-native-paper"; import { DialogContainer } from "@/components/ui/DialogContainer"; import { Button } from "@/components/ui/Button"; import { LoadingSpinner } from "@/components/ui/LoadingSpinner"; import { User } from "@/store/models/User.model"; interface BulkDeleteUserModalProps { visible: boolean; users: User[]; onDismiss: () => void; onDelete: (userIds: string[]) => void; isLoading?: boolean; } export const BulkDeleteUserModal = ({ visible, users, onDismiss, onDelete, isLoading = false, }: BulkDeleteUserModalProps) => { const [error, setError] = useState(null); if (!users || users.length === 0) return null; const handleDelete = () => { try { setError(null); const userIds = users.map((user) => user.id); onDelete(userIds); } catch (err) { setError("Failed to delete users. Please try again."); console.error("Error in BulkDeleteModal:", err); } }; return ( {users.length === 1 ? "Delete User" : "Bulk Delete Users"} {users.length === 1 ? `Are you sure you want to delete ${users[0].firstName} ${users[0].lastName}?` : `Are you sure you want to delete ${users.length} users?`} {users.length > 1 && ( item.id} renderItem={({ item }) => ( {item.firstName} {item.lastName} )} /> )} {error && {error}} {isLoading && ( )} ); };