import { type ApiKeyConfig } from "@/hooks/use-api-key"; import { Button } from "@pram/ui/components/button"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@pram/ui/components/card"; import { MaterialIcon } from "@/components/ui/MaterialIcon"; interface ProviderOption { value: string; label: string; } interface ApiKeyListProps { configs: ApiKeyConfig[]; isLoading: boolean; editingId: string | null; isFormOpen: boolean; providers: ProviderOption[]; onStartAdd: () => void; onStartEdit: (config: ApiKeyConfig) => void; onRemove: (id: string) => void; } export function ApiKeyList({ configs, isLoading, editingId, isFormOpen, providers, onStartAdd, onStartEdit, onRemove, }: ApiKeyListProps) { return (
API Keys {configs.length} konfigurasi tersimpan
{!isFormOpen && ( )}
{isLoading ? (
) : configs.length === 0 ? (

Belum ada API key

Tambahkan minimal satu key untuk generate soal.

) : (
{configs.map((config) => { const isEditing = editingId === config.id; return (
{config.name} {providers.find((p) => p.value === config.provider)?.label ?? config.provider}
{config.modelName} ยท {config.baseUrl.replace("https://", "").replace("/v1", "")}
); })}
)} ); }