SPB Git

Repository Public

Logo.tsx 1.3 KB 31 lines tsx

1/** Original mark: seven compute nodes on a hexagonal lattice, joined to a core. No third-party trademark is used. */2export function Mark({ size = 28 }: { size?: number }) {3  const pts = [0, 1, 2, 3, 4, 5].map((i) => {4    const a = (Math.PI / 3) * i - Math.PI / 2;5    return [16 + 11 * Math.cos(a), 16 + 11 * Math.sin(a)] as const;6  });7  return (8    <svg width={size} height={size} viewBox="0 0 32 32" aria-hidden="true" focusable="false">9      <polygon points={pts.map((p) => p.map((v) => v.toFixed(2)).join(",")).join(" ")} fill="none" stroke="#0C1322" strokeOpacity=".25" strokeWidth="1" />10      {pts.map(([x, y], i) => (11        <line key={`l${i}`} x1="16" y1="16" x2={x.toFixed(2)} y2={y.toFixed(2)} stroke="#1D5FD1" strokeOpacity={i % 2 ? 0.4 : 0.9} strokeWidth="1.2" />12      ))}13      {pts.map(([x, y], i) => (14        <rect key={`n${i}`} x={(x - 2.4).toFixed(2)} y={(y - 2.4).toFixed(2)} width="4.8" height="4.8" rx="1.3" fill="#FFFFFF" stroke="#0C1322" strokeWidth="1.2" />15      ))}16      <rect x="12.4" y="12.4" width="7.2" height="7.2" rx="1.8" fill="#1D5FD1" />17    </svg>18  );19}2021export function Wordmark() {22  return (23    <span className="flex items-center gap-2.5">24      <Mark />25      <span className="text-[1.125rem] font-semibold tracking-[-0.03em] text-fg">26        Mac<span className="text-accent">L</span>ustr27      </span>28    </span>29  );30}31
Files main
Menu

Theme