'use client' import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card' import { Badge } from '@/components/ui/badge' import { formatDistanceToNow } from 'date-fns' interface RecentActivityProps { recentUsers: Array<{ _id: string name: string email: string siliconId: string createdAt: string }> recentTransactions: Array<{ _id: string type: string amount: number description: string status: string createdAt: string userId: { name: string email: string siliconId: string } }> } export default function RecentActivity({ recentUsers, recentTransactions }: RecentActivityProps) { const formatCurrency = (amount: number) => { return new Intl.NumberFormat('en-IN', { style: 'currency', currency: 'INR', minimumFractionDigits: 0, maximumFractionDigits: 0, }).format(amount) } const getTransactionBadgeColor = (type: string) => { switch (type) { case 'credit': return 'bg-green-100 dark:bg-green-900/30 text-green-800 dark:text-green-300' case 'debit': return 'bg-red-100 dark:bg-red-900/30 text-red-800 dark:text-red-300' default: return 'bg-gray-100 dark:bg-gray-800 text-gray-800 dark:text-gray-300' } } return (
{/* Recent Users */} Recent Users
{recentUsers.length === 0 ? (

No recent users

) : ( recentUsers.map((user) => (

{user.name}

{user.email}

ID: {user.siliconId}

{user.createdAt ? formatDistanceToNow(new Date(user.createdAt), { addSuffix: true }) : 'N/A'}

)) )}
{/* Recent Transactions */} Recent Transactions
{recentTransactions.length === 0 ? (

No recent transactions

) : ( recentTransactions.map((transaction) => (
{transaction.type} {formatCurrency(transaction.amount)}

{transaction.description}

{transaction.userId?.name} ({transaction.userId?.siliconId})

{transaction.createdAt ? formatDistanceToNow(new Date(transaction.createdAt), { addSuffix: true }) : 'N/A'}

)) )}
) }