g1t/apps/sudo/app/components/logo.tsx
| 1 | /** |
| 2 | * g1t's mark, "the fleet", copied from apps/web/app/components/logo.tsx: |
| 3 | * three 1s stepping back in depth. Keep the two in step. |
| 4 | */ |
| 5 | export function Mark({ className, tight = false }: { className?: string; tight?: boolean }) { |
| 6 | return ( |
| 7 | <svg viewBox={tight ? "6.9 5 18.2 22" : "0 0 32 32"} className={className} aria-hidden="true"> |
| 8 | <g transform="translate(0.7 0.5)"> |
| 9 | <rect x="6.2" y="9.5" width="4.4" height="17" rx="2.2" fill="var(--g1t-merged)" fillOpacity="0.35" /> |
| 10 | <rect x="12.4" y="7" width="4.8" height="19.5" rx="2.4" fill="var(--g1t-merged)" fillOpacity="0.65" /> |
| 11 | <rect x="19" y="4.5" width="5.4" height="22" rx="2.7" fill="currentColor" /> |
| 12 | <path d="M21.7 7.2 17.6 10.9" fill="none" stroke="currentColor" strokeWidth="4.6" strokeLinecap="round" /> |
| 13 | </g> |
| 14 | </svg> |
| 15 | ); |
| 16 | } |
| 17 | |
| 18 | /** The lockup, with sudo's badge beside it. */ |
| 19 | export function Logo({ className = "text-[1.3rem]" }: { className?: string }) { |
| 20 | return ( |
| 21 | <span className="inline-flex items-center gap-2"> |
| 22 | <span className={`inline-flex items-baseline gap-[0.3em] leading-none font-bold text-fg ${className}`}> |
| 23 | <Mark tight className="h-[0.74em] w-auto shrink-0 self-baseline" /> |
| 24 | <span className="tracking-[-0.045em]">g1t</span> |
| 25 | </span> |
| 26 | <span className="rounded-full bg-merged/12 px-2 py-0.5 font-mono text-[0.7rem] font-semibold tracking-wide text-merged ring-1 ring-merged/35 ring-inset"> |
| 27 | sudo |
| 28 | </span> |
| 29 | </span> |
| 30 | ); |
| 31 | } |