import type { ProviderId } from "@/lib/ai/core/types";
import { cn } from "@/lib/utils";
/** Monochrome provider glyphs drawn from scratch (no trademarked logos). */
export function ProviderIcon({ provider, className, size = 16 }: { provider: ProviderId | string | null | undefined; className?: string; size?: number }) {
const common = { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 1.8, strokeLinecap: "round" as const, strokeLinejoin: "round" as const, "aria-hidden": true };
const color = (p: string) => ({ color: `var(--p-${p})` });
switch (provider) {
case "openai":
return (
);
case "anthropic":
return (
);
case "gemini":
return (
);
case "xai":
return (
);
case "mistral":
// stepped "M" — evokes Mistral's blocky mark without copying it
return (
);
case "deepseek":
// a whale-like wave arc
return (
);
case "kimi":
// crescent + spark ("moon"shot)
return (
);
case "openrouter":
// routes converging into one node
return (
);
case "cerebras":
// wafer / chip
return (
);
case "custom":
// plug / socket — a server you bring yourself
return (
);
default:
return (
);
}
}