import React from 'react'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/index'; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '@/components/ui/index'; import { Button } from '@/components/ui/index'; import { MoreHorizontal, Trash2 } from 'lucide-react'; interface CertificateInfo { id: string; commonName: string; issuer: string; validFrom: string; validUntil: string; status: 'valid' | 'expiring' | 'expired'; } interface CertificateListProps { certificates: CertificateInfo[]; onRefresh?: () => void; isLoading?: boolean; onUpload?: () => void; onDelete?: (cert: CertificateInfo) => void; onRenew?: (cert: CertificateInfo) => void; } export function CertificateList({ certificates, onRefresh, isLoading, onUpload, onDelete, onRenew, }: CertificateListProps) { const validCount = certificates.filter((c) => c.status === 'valid').length; const expiringCount = certificates.filter((c) => c.status === 'expiring').length; const expiredCount = certificates.filter((c) => c.status === 'expired').length; return ( Certificates
{validCount} Valid
{expiringCount} Expiring
{expiredCount} Expired
ID Common Name Issuer Valid From Valid Until Status Actions {certificates.map((cert) => ( {cert.id} {cert.commonName} {cert.issuer} {cert.validFrom} {cert.validUntil} {cert.status}
))}
); }