import React from "react"; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui"; import { Badge } from "@/components/ui"; import type { ServiceInfo } from "@/lib/tauriCommands"; interface ServiceListProps { services: ServiceInfo[]; clusterId: string; namespace: string; } export function ServiceList({ services, clusterId: _clusterId, namespace: _namespace }: ServiceListProps) { const getServiceTypeColor = (type: string) => { switch (type.toLowerCase()) { case "clusterip": return "bg-blue-500"; case "nodeport": return "bg-purple-500"; case "loadbalancer": return "bg-green-500"; case "externalname": return "bg-gray-500"; default: return "bg-gray-500"; } }; return (
Name Type Cluster IP External IP Ports Age {services.length === 0 ? ( No services found ) : ( services.map((service) => ( {service.name} {service.type} {service.cluster_ip} {service.external_ip || "N/A"}
{service.ports.map((port) => (
{port.name ? `${port.name}: ` : ""} {port.port}/{port.protocol} {port.target_port && ` → ${port.target_port}`}
))}
{service.age}
)) )}
); }