import type { FC } from 'react'; import React, { useCallback, useState } from 'react'; import type { IUser } from '@growi/core'; import { useTranslation } from 'next-i18next'; import { Popover, PopoverBody, UncontrolledTooltip } from 'reactstrap'; import UserPictureList from '../Common/UserPictureList'; import styles from './LikeButtons.module.scss'; import popoverStyles from './user-list-popover.module.scss'; type LikeButtonsProps = { 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 { isGuestUser, isLiked, sumOfLikers, onLikeClicked } = props; const getTooltipMessage = useCallback(() => { if (isLiked) { return 'tooltip.cancel_like'; } return 'tooltip.like'; }, [isLiked]); return (
{t(getTooltipMessage())}
{props.likers?.length ? ( ) : ( t('No users have liked this yet.') )}
); }; export default LikeButtons;