import React, { useState } from 'react'; import { Table, Button, Group, Text, ActionIcon, Box, LoadingOverlay, Alert, } from '@mantine/core'; import { IconTrash, IconEdit, IconPlus, IconAlertCircle, } from '@tabler/icons-react'; import { notifications } from '@mantine/notifications'; import { useUserAdmin } from '../../../hooks/useUserAdmin'; import CreateUserModal from '../../modals/user/CreateUserModal'; import EditUserModal from '../../modals/user/EditUserModal'; import DeleteUserModal from '../../modals/user/DeleteUserModal'; const AdminUsersTab = ({ currentUser }) => { const { users, loading, error, create, update, delete: deleteUser, } = useUserAdmin(); const [createModalOpened, setCreateModalOpened] = useState(false); const [editModalData, setEditModalData] = useState(null); const [deleteModalData, setDeleteModalData] = useState(null); const handleCreateUser = async (userData) => { return await create(userData); }; const handleEditUser = async (id, userData) => { return await update(id, userData); }; const handleDeleteClick = (user) => { if (user.id === currentUser.id) { notifications.show({ title: 'Error', message: 'You cannot delete your own account', color: 'red', }); return; } setDeleteModalData(user); }; const handleDeleteConfirm = async () => { if (!deleteModalData) return; const result = await deleteUser(deleteModalData.id); if (result.success) { setDeleteModalData(null); } }; const rows = users.map((user) => (