import React, { useCallback } from 'react'; import PropTypes from 'prop-types'; import { useTranslation } from 'react-i18next'; import { Button, Header, Modal, Table, } from 'semantic-ui-react'; import AddUserPopupContainer from '../../containers/AddUserPopupContainer'; import Item from './Item'; import styles from './UsersModal.module.css'; const UsersModal = React.memo(({ items, onUpdate, onDelete, onClose, }) => { const [t] = useTranslation(); const handleUpdate = useCallback( (id, data) => { onUpdate(id, data); }, [onUpdate], ); const handleDelete = useCallback( (id) => { onDelete(id); }, [onDelete], ); return (
{t('common.users', { context: 'title', })}
{t('common.name')} {t('common.email')} {t('common.administrator')} {items.map((item) => ( handleUpdate(item.id, data)} onDelete={() => handleDelete(item.id)} /> ))}
); }); UsersModal.propTypes = { items: PropTypes.array.isRequired, // eslint-disable-line react/forbid-prop-types onUpdate: PropTypes.func.isRequired, onDelete: PropTypes.func.isRequired, onClose: PropTypes.func.isRequired, }; export default UsersModal;