import React, { FC, useState, useCallback } from 'react'; import { useTranslation } from 'next-i18next'; import { UncontrolledTooltip, Popover, PopoverBody } from 'reactstrap'; import { IUser } from '../interfaces/user'; import UserPictureList from './User/UserPictureList'; import styles from './LikeButtons.module.scss'; type LikeButtonsProps = { hideTotalNumber?: boolean, sumOfLikers: number, likers: IUser[], isGuestUser?: boolean, isLiked?: boolean, onLikeClicked?: ()=>void, } const LikeButtons: FC = (props: LikeButtonsProps) => { const { t } = useTranslation(); const [isPopoverOpen, setIsPopoverOpen] = useState(false); const togglePopover = () => { setIsPopoverOpen(!isPopoverOpen); }; const { hideTotalNumber, isGuestUser, isLiked, sumOfLikers, onLikeClicked, } = props; const getTooltipMessage = useCallback(() => { if (isLiked) { return 'tooltip.cancel_like'; } return 'tooltip.like'; }, [isLiked]); return (
{t(getTooltipMessage())} { !hideTotalNumber && ( <>
{props.likers?.length ? : t('No users have liked this yet.')}
) }
); }; export default LikeButtons;