import React from "react"; import type { AppId } from "@/lib/api/types"; import { ClaudeIcon, CodexIcon, GeminiIcon, OpenClawIcon, } from "@/components/BrandIcons"; import { ProviderIcon } from "@/components/ProviderIcon"; export interface AppConfig { label: string; icon: React.ReactNode; activeClass: string; badgeClass: string; } export const APP_IDS: AppId[] = [ "claude", "claude-desktop", "codex", "gemini", "opencode", "openclaw", "hermes", ]; /** App IDs shown in Skills panels (excludes OpenClaw — it doesn't support Skills) */ export const SKILLS_APP_IDS: AppId[] = [ "claude", "codex", "gemini", "opencode", "hermes", ]; /** App IDs shown in MCP panels (excludes OpenClaw) */ export const MCP_APP_IDS: AppId[] = [...SKILLS_APP_IDS]; export const APP_ICON_MAP: Record = { claude: { label: "Claude", icon: , activeClass: "bg-orange-500/10 ring-1 ring-orange-500/20 hover:bg-orange-500/20 text-orange-600 dark:text-orange-400", badgeClass: "bg-orange-500/10 text-orange-700 dark:text-orange-300 hover:bg-orange-500/20 border-0 gap-1.5", }, "claude-desktop": { label: "Claude Desktop", icon: , activeClass: "bg-amber-500/10 ring-1 ring-amber-500/20 hover:bg-amber-500/20 text-amber-700 dark:text-amber-300", badgeClass: "bg-amber-500/10 text-amber-700 dark:text-amber-300 hover:bg-amber-500/20 border-0 gap-1.5", }, codex: { label: "Codex", icon: , activeClass: "bg-green-500/10 ring-1 ring-green-500/20 hover:bg-green-500/20 text-green-600 dark:text-green-400", badgeClass: "bg-green-500/10 text-green-700 dark:text-green-300 hover:bg-green-500/20 border-0 gap-1.5", }, gemini: { label: "Gemini", icon: , activeClass: "bg-blue-500/10 ring-1 ring-blue-500/20 hover:bg-blue-500/20 text-blue-600 dark:text-blue-400", badgeClass: "bg-blue-500/10 text-blue-700 dark:text-blue-300 hover:bg-blue-500/20 border-0 gap-1.5", }, opencode: { label: "OpenCode", icon: ( ), activeClass: "bg-indigo-500/10 ring-1 ring-indigo-500/20 hover:bg-indigo-500/20 text-indigo-600 dark:text-indigo-400", badgeClass: "bg-indigo-500/10 text-indigo-700 dark:text-indigo-300 hover:bg-indigo-500/20 border-0 gap-1.5", }, openclaw: { label: "OpenClaw", icon: , activeClass: "bg-rose-500/10 ring-1 ring-rose-500/20 hover:bg-rose-500/20 text-rose-600 dark:text-rose-400", badgeClass: "bg-rose-500/10 text-rose-700 dark:text-rose-300 hover:bg-rose-500/20 border-0 gap-1.5", }, hermes: { label: "Hermes", icon: ( ), activeClass: "bg-violet-500/10 ring-1 ring-violet-500/20 hover:bg-violet-500/20 text-violet-600 dark:text-violet-400", badgeClass: "bg-violet-500/10 text-violet-700 dark:text-violet-300 hover:bg-violet-500/20 border-0 gap-1.5", }, };