agent-ecosystem/src/renderer/components/common/AppLogo.tsx
2026-02-22 23:36:11 +02:00

61 lines
1.4 KiB
TypeScript

/**
* AppLogo - Inline SVG of the app icon (three connected agent nodes).
* Renders at the given size (default 20px) for use in headers/sidebars.
*/
interface AppLogoProps {
size?: number;
className?: string;
}
export const AppLogo = ({ size = 20, className }: AppLogoProps): React.JSX.Element => (
<svg
viewBox="0 0 56 56"
width={size}
height={size}
fill="none"
xmlns="http://www.w3.org/2000/svg"
className={className}
>
<rect width="56" height="56" rx="14" fill="#151620" />
{/* Edges */}
<line
x1="19.5"
y1="19"
x2="36.5"
y2="19"
stroke="#818cf8"
strokeWidth="1.8"
strokeLinecap="round"
opacity="0.4"
/>
<line
x1="36.5"
y1="19"
x2="28"
y2="36.5"
stroke="#a78bfa"
strokeWidth="1.8"
strokeLinecap="round"
opacity="0.4"
/>
<line
x1="28"
y1="36.5"
x2="19.5"
y2="19"
stroke="#c084fc"
strokeWidth="1.8"
strokeLinecap="round"
opacity="0.4"
/>
{/* Nodes */}
<circle cx="19.5" cy="19" r="5" fill="#818cf8" />
<circle cx="36.5" cy="19" r="5" fill="#a78bfa" />
<circle cx="28" cy="36.5" r="5.5" fill="#c084fc" />
{/* Cores */}
<circle cx="19.5" cy="19" r="2" fill="#e0e7ff" />
<circle cx="36.5" cy="19" r="2" fill="#ede9fe" />
<circle cx="28" cy="36.5" r="2.2" fill="#f3e8ff" />
</svg>
);