import React, { FC, useState, useCallback, } from 'react'; import { useTranslation } from 'next-i18next'; import { UncontrolledTooltip, Popover, PopoverBody, DropdownToggle, } from 'reactstrap'; import { IBookmarkInfo } from '~/interfaces/bookmark-info'; import { useIsGuestUser } from '~/stores/context'; import { IUser } from '../interfaces/user'; import { BookmarkFolderMenu } from './Bookmarks/BookmarkFolderMenu'; import UserPictureList from './User/UserPictureList'; import styles from './BookmarkButtons.module.scss'; interface Props { bookmarkedUsers?: IUser[] hideTotalNumber?: boolean bookmarkInfo? : IBookmarkInfo } export const BookmarkButtons: FC = (props: Props) => { const { t } = useTranslation(); const { bookmarkedUsers, hideTotalNumber, bookmarkInfo, } = props; const [isPopoverOpen, setIsPopoverOpen] = useState(false); const { data: isGuestUser } = useIsGuestUser(); const togglePopover = () => { setIsPopoverOpen(!isPopoverOpen); }; const getTooltipMessage = useCallback(() => { if (isGuestUser) { return 'Not available for guest'; } return 'tooltip.bookmark'; }, [isGuestUser]); return (
{t(getTooltipMessage())} { !hideTotalNumber && ( <> { bookmarkedUsers != null && (
{bookmarkedUsers.length ? : t('No users have bookmarked yet')}
) } ) }
); };