Files
coder/site/src/pages/AIBridgePage/RequestLogsPage/icons/AIBridgeClientIcon.tsx
T
Paweł Banaszewski 6c097797a1 feat: add Mux icon to client column in AI Bridge request log page (#22386)
Adds Mux to the recognized clients list in AI Bridge documentation.

Adds Mux icon to AI Bridge requests log page:
<img width="1886" height="848" alt="image"
src="https://github.com/user-attachments/assets/e7cb8d47-595c-4be3-93c9-00dbea3d1153"
/>
2026-02-27 16:13:39 +00:00

84 lines
1.8 KiB
TypeScript

import type { AIBridgeInterception } from "api/typesGenerated";
import { ExternalImage } from "components/ExternalImage/ExternalImage";
import { CircleQuestionMarkIcon } from "lucide-react";
import { cn } from "utils/cn";
export const AIBridgeClientIcon = ({
client,
className,
...props
}: {
client: AIBridgeInterception["client"];
} & React.ComponentProps<"svg">) => {
const iconClassName = "flex-shrink-0";
// This should be kept in sync with the client names in
// the AI Bridge bridge.go file.
// https://github.com/coder/aibridge/blob/main/bridge.go#L31-L32
switch (client) {
case "Claude Code":
return (
<ExternalImage
src="/icon/claude.svg"
className={cn(iconClassName, className)}
/>
);
case "Codex":
return (
<ExternalImage
src="/icon/openai-codex.svg"
className={cn(iconClassName, className)}
/>
);
case "Kilo Code":
return (
<ExternalImage
src="/icon/kilo-code.svg"
className={cn(iconClassName, className)}
/>
);
case "Roo Code":
return (
<ExternalImage
src="/icon/roo-code.svg"
className={cn(iconClassName, className)}
/>
);
case "Mux":
return (
<ExternalImage
src="/icon/mux.svg"
className={cn(iconClassName, className)}
/>
);
case "Zed":
return (
<ExternalImage
src="/icon/zed.svg"
className={cn(iconClassName, className)}
/>
);
case "Cursor":
return (
<ExternalImage
src="/icon/cursor.svg"
className={cn(iconClassName, className)}
/>
);
case "GitHub Copilot (VS Code)":
case "GitHub Copilot (CLI)":
return (
<ExternalImage
src="/icon/github-copilot.svg"
className={cn(iconClassName, className)}
/>
);
default:
return (
<CircleQuestionMarkIcon
className={cn(iconClassName, className)}
{...props}
/>
);
}
};