import React, { FC, useCallback } from 'react'; import { useTranslation } from 'react-i18next'; import { UncontrolledTooltip } from 'reactstrap'; import { SubscriptionStatusType } from '~/interfaces/subscription'; type Props = { isGuestUser?: boolean, status?: SubscriptionStatusType, onClick?: () => Promise, }; const SubscribeButton: FC = (props: Props) => { const { t } = useTranslation(); const { isGuestUser, status } = props; const isSubscribing = status === SubscriptionStatusType.SUBSCRIBE; const buttonClass = `${isSubscribing ? 'active' : ''} ${isGuestUser ? 'disabled' : ''}`; const iconClass = isSubscribing === false ? 'fa fa-eye-slash' : 'fa fa-eye'; const getTooltipMessage = useCallback(() => { if (isGuestUser) { return 'Not available for guest'; } if (isSubscribing) { return 'tooltip.stop_notification'; } return 'tooltip.receive_notifications'; }, [isGuestUser, isSubscribing]); return ( <> {t(getTooltipMessage())} ); }; export default SubscribeButton;