import { Pencil, Trash2 } from "lucide-react"; import { Button } from "@/components/ui/button"; import { Badge } from "@/components/ui/badge"; import type { Provider } from "@/types"; interface ProviderListProps { providers: Provider[]; onEdit: (index: number) => void; onRemove: (index: number) => void; } export function ProviderList({ providers, onEdit, onRemove }: ProviderListProps) { // Handle case where providers might be null or undefined if (!providers || !Array.isArray(providers)) { return (
No providers configured
); } return (
{providers.map((provider, index) => { // Handle case where individual provider might be null or undefined if (!provider) { return (

Invalid Provider

Provider data is missing

); } // Handle case where provider.name might be null or undefined const providerName = provider.name || "Unnamed Provider"; // Handle case where provider.api_base_url might be null or undefined const apiBaseUrl = provider.api_base_url || "No API URL"; // Handle case where provider.models might be null or undefined const models = Array.isArray(provider.models) ? provider.models : []; return (

{providerName}

{apiBaseUrl}

{models.map((model, modelIndex) => ( // Handle case where model might be null or undefined {model || "Unnamed Model"} ))}
); })}
); }