import type { FC } from '../../lib/teact/teact'; import React, { memo } from '../../lib/teact/teact'; import type { IconName } from '../../types/icons'; import buildClassName from '../../util/buildClassName'; import buildStyle from '../../util/buildStyle'; import useLang from '../../hooks/useLang'; import Icon from './Icon'; import styles from './PremiumProgress.module.scss'; type OwnProps = { leftText?: string; rightText?: string; floatingBadgeIcon?: IconName; floatingBadgeText?: string; progress?: number; className?: string; }; const PROGRESS_LOCK = 0.1; const LimitPreview: FC = ({ leftText, rightText, floatingBadgeText, floatingBadgeIcon, progress, className, }) => { const lang = useLang(); const hasFloatingBadge = Boolean(floatingBadgeIcon || floatingBadgeText); const isProgressFull = Boolean(progress) && progress > 0.99; const tailPosition = progress && (progress < PROGRESS_LOCK ? 0 : progress > 1 - PROGRESS_LOCK ? 1 : 0.5); return (
{hasFloatingBadge && (
{floatingBadgeIcon && } {floatingBadgeText && (
{floatingBadgeText}
)}
)}
{leftText}
{rightText}
{leftText}
{rightText}
); }; export default memo(LimitPreview);