import React, { useCallback } from 'react'; import PropTypes from 'prop-types'; import { useTranslation } from 'react-i18next'; import { Button, Comment, Icon, Loader, Visibility } from 'semantic-ui-react'; import { ActivityTypes } from '../../../constants/Enums'; import CommentAdd from './CommentAdd'; import Item from './Item'; import styles from './Activities.module.scss'; const Activities = React.memo( ({ items, isFetching, isAllFetched, isDetailsVisible, isDetailsFetching, canEdit, canEditAllComments, onFetch, onDetailsToggle, onCommentCreate, onCommentUpdate, onCommentDelete, }) => { const [t] = useTranslation(); const handleToggleDetailsClick = useCallback(() => { onDetailsToggle(!isDetailsVisible); }, [isDetailsVisible, onDetailsToggle]); const handleCommentUpdate = useCallback( (id, data) => { onCommentUpdate(id, data); }, [onCommentUpdate], ); const handleCommentDelete = useCallback( (id) => { onCommentDelete(id); }, [onCommentDelete], ); return (