import type { FC } from 'react'; import React, { useState, useCallback } from 'react'; import type { IUser } from '@growi/core'; import { useTranslation } from 'next-i18next'; import { UncontrolledTooltip, Popover, PopoverBody } 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;