import React, { FC, memo } from '../../../lib/teact/teact'; import { ApiChat } from '../../../api/types'; import { formatIntegerCompact } from '../../../util/textFormat'; import buildClassName from '../../../util/buildClassName'; import ShowTransition from '../../ui/ShowTransition'; import './Badge.scss'; type OwnProps = { chat: ApiChat; isPinned?: boolean; isMuted?: boolean; }; const Badge: FC = ({ chat, isPinned, isMuted }) => { const isShown = Boolean(chat.unreadCount || chat.hasUnreadMark || isPinned); const className = buildClassName( 'Badge', isMuted && 'muted', isPinned && 'pinned', Boolean(chat.unreadCount || chat.hasUnreadMark) && 'unread', ); function renderContent() { if (chat.unreadCount) { if (chat.unreadMentionsCount) { return (
{formatIntegerCompact(chat.unreadCount)}
); } return (
{formatIntegerCompact(chat.unreadCount)}
); } else if (chat.hasUnreadMark) { return (
); } else if (isPinned) { return (
); } return undefined; } return ( {renderContent} ); }; export default memo(Badge);