import React, { useCallback } from 'react'; import PropTypes from 'prop-types'; import { Button, Grid } from 'semantic-ui-react'; import BoardsContainer from '../../containers/BoardsContainer'; import EditPopup from './EditPopup'; import AddMembershipPopup from './AddMembershipPopup'; import EditMembershipPopup from './EditMembershipPopup'; import User from '../User'; import styles from './Project.module.css'; const Project = React.memo( ({ name, memberships, allUsers, isEditable, onUpdate, onDelete, onMembershipCreate, onMembershipDelete, }) => { const handleMembershipDelete = useCallback( (id) => { onMembershipDelete(id); }, [onMembershipDelete], ); return (
); }, ); Project.propTypes = { name: PropTypes.string.isRequired, /* eslint-disable react/forbid-prop-types */ memberships: PropTypes.array.isRequired, allUsers: PropTypes.array.isRequired, /* eslint-enable react/forbid-prop-types */ isEditable: PropTypes.bool.isRequired, onUpdate: PropTypes.func.isRequired, onDelete: PropTypes.func.isRequired, onMembershipCreate: PropTypes.func.isRequired, onMembershipDelete: PropTypes.func.isRequired, }; export default Project;