import React, { useCallback } from 'react'; import PropTypes from 'prop-types'; import { Icon, IconButton, OverlayTrigger, Tooltip, } from '@openedx/paragon'; import { ThumbUpFilled, ThumbUpOutline } from '@openedx/paragon/icons'; import { useIntl } from '@edx/frontend-platform/i18n'; import messages from './messages'; const LikeButton = ({ count, onClick, voted }) => { const intl = useIntl(); const handleClick = useCallback((e) => { e.preventDefault(); if (onClick) { onClick(); } }, [onClick]); return (
{intl.formatMessage(voted ? messages.removeLike : messages.like)} )} >
{(count && count > 0) ? count : null}
); }; LikeButton.propTypes = { count: PropTypes.number.isRequired, onClick: PropTypes.func, voted: PropTypes.bool, }; LikeButton.defaultProps = { voted: false, onClick: undefined, }; export default React.memo(LikeButton);