import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "@/components/ui/card" import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "@/components/ui/table" import { Badge } from "@/components/ui/badge" import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu" import { Button } from "@/components/ui/button" import { MoreHorizontal } from "lucide-react" import type { Payment } from "@/types/dashboard" interface PaymentsTableProps { payments: Payment[] } export function PaymentsTable({ payments }: PaymentsTableProps) { const getStatusColor = (status: Payment["status"]) => { switch (status) { case "success": return "bg-green-500/10 text-green-500 hover:bg-green-500/20" case "processing": return "bg-yellow-500/10 text-yellow-500 hover:bg-yellow-500/20" case "failed": return "bg-red-500/10 text-red-500 hover:bg-red-500/20" default: return "" } } return ( Recent Payments You have {payments.length} payments this month.
Status Email Amount Actions {payments.map((payment) => ( {payment.status} {payment.email} ${payment.amount.toFixed(2)} Actions View details Download receipt ))}
) }