import type { FC } from '../../lib/teact/teact'; import { memo, useRef } from '../../lib/teact/teact'; import type { IconName } from '../../types/icons'; import buildClassName from '../../util/buildClassName'; import { formatIntegerCompact } from '../../util/textFormat'; import useContextMenuHandlers from '../../hooks/useContextMenuHandlers'; import useLang from '../../hooks/useLang'; import useOldLang from '../../hooks/useOldLang'; import Icon from '../common/icons/Icon'; import Button from '../ui/Button'; import Menu from '../ui/Menu'; import MenuItem from '../ui/MenuItem'; import styles from './ScrollDownButton.module.scss'; type OwnProps = { icon: IconName; ariaLabelLang: string; unreadCount?: number; onClick: VoidFunction; onReadAll?: VoidFunction; className?: string; }; const ScrollDownButton: FC = ({ icon, ariaLabelLang, unreadCount, onClick, onReadAll, className, }) => { const oldLang = useOldLang(); const lang = useLang(); const ref = useRef(); const { isContextMenuOpen, handleContextMenu, handleContextMenuClose, handleContextMenuHide, } = useContextMenuHandlers(ref, !onReadAll); return (
{Boolean(unreadCount) &&
{formatIntegerCompact(lang, unreadCount)}
} {onReadAll && ( {oldLang('MarkAllAsRead')} )}
); }; export default memo(ScrollDownButton);