import React, { useCallback, useEffect } from 'react'; import PropTypes from 'prop-types'; import { Button, Grid } from 'semantic-ui-react'; import BoardsContainer from '../../containers/BoardsContainer'; import ActionsPopup from './ActionsPopup'; import AddMembershipPopup from './AddMembershipPopup'; import EditMembershipPopup from './EditMembershipPopup'; import User from '../User'; import styles from './Project.module.css'; const Project = React.memo( ({ name, background, backgroundImage, isBackgroundImageUpdating, memberships, allUsers, isEditable, onUpdate, onBackgroundImageUpdate, onDelete, onMembershipCreate, onMembershipDelete, }) => { const handleMembershipDelete = useCallback( (id) => { onMembershipDelete(id); }, [onMembershipDelete], ); useEffect(() => { return () => { document.body.style.background = null; }; }, []); useEffect(() => { if (background) { if (background.type === 'image') { document.body.style.background = `url(${backgroundImage.url}) center / cover fixed #22252a`; } } else { document.body.style.background = null; } }, [background, backgroundImage]); return (