import React from 'react'; import PropTypes from 'prop-types'; import { UncontrolledTooltip } from 'reactstrap'; import { withTranslation } from 'react-i18next'; import { withUnstatedContainers } from './UnstatedUtils'; import { toastError } from '~/client/util/apiNotification'; import { apiv3Put } from '~/client/util/apiv3-client'; import AppContainer from '~/client/services/AppContainer'; class BookmarkButton extends React.Component { constructor(props) { super(props); this.handleClick = this.handleClick.bind(this); } async handleClick() { const { appContainer, pageId, isBookmarked, onChangeInvoked, } = this.props; const { isGuestUser } = appContainer; if (isGuestUser) { return; } try { const bool = !isBookmarked; await apiv3Put('/bookmarks', { pageId, bool }); if (onChangeInvoked != null) { onChangeInvoked(); } } catch (err) { toastError(err); } } render() { const { appContainer, t, isBookmarked, sumOfBookmarks, } = this.props; const { isGuestUser } = appContainer; return (