pr_01m47d15m3e54sn21z27rpy5n9/apps/web/app/components/logo.tsx

29 lines1,230 bytesCodeBlame
1/**
2 * g1t's mark, "the fleet": three 1s stepping back in depth, the agents at
3 * work behind the one change in front. The front 1 takes the text colour;
4 * the two behind it fade into lavender. The same shapes as the favicon and
5 * the brand files in .g1t/brand and public/brand.
6 */
7export function Mark({ className }: { className?: string }) {
8 return (
9 <svg viewBox="0 0 32 32" className={className} aria-hidden="true">
10 <g transform="translate(0.7 0.5)">
11 {/* The agents behind */}
12 <rect x="6.2" y="9.5" width="4.4" height="17" rx="2.2" fill="var(--g1t-merged)" fillOpacity="0.35" />
13 <rect x="12.4" y="7" width="4.8" height="19.5" rx="2.4" fill="var(--g1t-merged)" fillOpacity="0.65" />
14 {/* The 1 in front */}
15 <rect x="19" y="4.5" width="5.4" height="22" rx="2.7" fill="currentColor" />
16 <path d="M21.7 7.2 17.6 10.9" fill="none" stroke="currentColor" strokeWidth="4.6" strokeLinecap="round" />
17 </g>
18 </svg>
19 );
20}
21
22export function Logo() {
23 return (
24 <span className="inline-flex items-center gap-2 text-fg">
25 <Mark className="size-6" />
26 <span className="text-[1.15rem] leading-none font-bold tracking-[-0.035em]">g1t</span>
27 </span>
28 );
29}