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 EVPNZoneInfo { id: string; name: string; type: string; fabric: string; status: 'available' | 'error' | 'pending' | 'unknown'; vni?: number; routeTarget?: string; } interface EVPNZoneListProps { zones: EVPNZoneInfo[]; onRefresh?: () => void; isLoading?: boolean; onEdit?: (zone: EVPNZoneInfo) => void; onDelete?: (zone: EVPNZoneInfo) => void; } export function EVPNZoneList({ zones, onRefresh, isLoading, onEdit, onDelete, }: EVPNZoneListProps) { const availableCount = zones.filter((z) => z.status === 'available').length; const errorCount = zones.filter((z) => z.status === 'error').length; return ( EVPN Zones
{availableCount} Available
{errorCount} Errors
Name Type Fabric Status VNI Route Target Actions {zones.map((zone) => ( {zone.name} {zone.type} {zone.fabric} {zone.status} {zone.vni || '-'} {zone.routeTarget || '-'}
))}
); }