import { type ClassValue, clsx } from 'clsx'; import { twMerge } from 'tailwind-merge'; export function cn(...inputs: ClassValue[]) { return twMerge(clsx(inputs)); } export const formatAddress = (address: string): string => { if (!address) return ''; return `${address.slice(0, 6)}...${address.slice(-4)}`; }; export const formatCurrency = (amount: number): string => { return new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', minimumFractionDigits: 2, }).format(amount); }; export const formatTimeRemaining = (expiresAt: string): string => { const now = new Date().getTime(); const expiry = new Date(expiresAt).getTime(); const diff = expiry - now; if (diff <= 0) return 'Expired'; const days = Math.floor(diff / (1000 * 60 * 60 * 24)); const hours = Math.floor((diff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); const minutes = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60)); if (days > 0) return `${days}d ${hours}h`; if (hours > 0) return `${hours}h ${minutes}m`; return `${minutes}m`; };