import { FolderGlyph } from './icons';
// Black logos invert on the dark theme; white logos invert on the light theme.
const INVERT_DARK = new Set(['shell', 'opencode']);
const INVERT_LIGHT = new Set(['hermes']);
export default function Logo({ cli, size = 18, tint }: { cli: string; size?: number; tint?: string }) {
// `tint` (the CLI's brand color) wraps the glyph in a softly tinted tile so
// rows/panes read as "Claude / Codex / Gemini" at a glance. `size` stays the
// glyph size; the tile adds its own padding around it.
const tile = tint
? { padding: Math.max(3, Math.round(size * 0.18)), background: `color-mix(in srgb, ${tint} 13%, transparent)`, borderRadius: Math.max(4, Math.round(size * 0.28)) }
: undefined;
// Files uses the same minimal folder glyph as the file tree.
if (cli === 'files') {
return (
);
}
const cls = INVERT_DARK.has(cli) ? ' inv-dark' : INVERT_LIGHT.has(cli) ? ' inv-light' : '';
return (
{ (e.currentTarget as HTMLImageElement).src = '/logos/shell.png'; }}
/>
);
}