import { useTranslation } from 'react-i18next'; import { Link } from 'react-router'; import type { Subscription } from '../../types'; import { useCurrency } from '../../hooks/useCurrency'; interface StatsGridProps { balanceRubles: number; subscription: Subscription | null; subLoading: boolean; referralCount: number; earningsRubles: number; refLoading: boolean; } const ArrowRightIcon = () => ( ); const WalletIcon = () => ( ); const CalendarIcon = () => ( ); const UsersIcon = () => ( ); const CoinIcon = () => ( ); export default function StatsGrid({ balanceRubles, subscription, subLoading, referralCount, earningsRubles, refLoading, }: StatsGridProps) { const { t } = useTranslation(); const { formatAmount, currencySymbol, formatPositive } = useCurrency(); return (
{/* Balance */}
{t('dashboard.stats.balance')}
{formatAmount(balanceRubles)} {currencySymbol}
{/* Subscription Days */}
{t('dashboard.stats.subscription')}
{subLoading ? (
) : subscription ? (
{subscription.days_left > 0 ? ( <> {subscription.days_left} {t('subscription.days')} ) : subscription.hours_left > 0 ? ( <> {subscription.hours_left} {t('subscription.hours')} ) : ( {t('subscription.expired')} )}
) : (
{t('subscription.inactive')}
)} {/* Referrals */}
{t('dashboard.stats.referrals')}
{refLoading ? (
) : (
{referralCount}
)} {/* Earnings */}
{t('dashboard.stats.earnings')}
{refLoading ? (
) : (
{formatPositive(earningsRubles)}
)}
); }