import { formatRelativeTime, formatTokensCompact } from '@renderer/utils/formatters'; import type { MemberDetailTab } from './memberDetailTypes'; interface MemberDetailStatsProps { totalTasks: number; inProgressTasks: number; completedTasks: number; activityCount: number; totalTokens: number | null; statsLoading?: boolean; statsComputedAt?: string; onTabChange?: (tab: MemberDetailTab) => void; } const baseClasses = 'rounded-md border border-[var(--color-border)] bg-[var(--color-surface-raised)] px-2.5 py-1.5'; const clickableClasses = 'cursor-pointer transition-colors hover:border-[var(--color-border-emphasis)] hover:bg-[var(--color-surface-overlay)]'; const StatBlock = ({ label, value, sub, onClick, }: { label: string; value: string | number; sub?: string; onClick?: () => void; }): React.JSX.Element => { const classes = onClick ? `${baseClasses} ${clickableClasses}` : baseClasses; const content = ( <>
{value}
{label}
{sub &&{sub}
} > ); if (onClick) { return ( ); } return