import { useTranslation } from "react-i18next"; import { Edit2, Trash2, RefreshCw, Globe, Copy } from "lucide-react"; import { Button } from "@/components/ui/button"; import { ProviderIcon } from "@/components/ProviderIcon"; import type { UniversalProvider } from "@/types"; interface UniversalProviderCardProps { provider: UniversalProvider; onEdit: (provider: UniversalProvider) => void; onDelete: (id: string) => void; onSync: (id: string) => void; onDuplicate: (provider: UniversalProvider) => void; } export function UniversalProviderCard({ provider, onEdit, onDelete, onSync, onDuplicate, }: UniversalProviderCardProps) { const { t } = useTranslation(); // 获取启用的应用列表 const enabledApps: string[] = [ provider.apps.claude ? "Claude" : null, provider.apps.codex ? "Codex" : null, provider.apps.gemini ? "Gemini" : null, ].filter((app): app is string => app !== null); return (
{/* 头部:图标和名称 */}

{provider.name}

{provider.providerType}

{/* 操作按钮 */}
{/* 配置信息 */}
{/* Base URL */}
{provider.baseUrl || "-"}
{/* 启用的应用 */}
{enabledApps.map((app) => ( {app} ))} {enabledApps.length === 0 && ( {t("universalProvider.noAppsEnabled", { defaultValue: "未启用任何应用", })} )}
{/* 备注 */} {provider.notes && (

{provider.notes}

)}
); }