g1t/apps/web/app/components/logo.tsx
| 1 | /** |
| 2 | * g1t's mark: an isometric cube, the unit of work in its artwork. Three |
| 3 | * faces in three tones of the text colour, split by hairline gaps, so it |
| 4 | * holds at any size and on any background. |
| 5 | */ |
| 6 | export function Mark({ className }: { className?: string }) { |
| 7 | return ( |
| 8 | <svg viewBox="0 0 32 32" className={className} aria-hidden="true"> |
| 9 | {/* Top face */} |
| 10 | <path d="M16 2.5 28 9.4 16 16.3 4 9.4Z" fill="currentColor" /> |
| 11 | {/* Left face */} |
| 12 | <path d="M4 10.9 15.3 17.4V30.2L4 23.7Z" fill="currentColor" fillOpacity="0.55" /> |
| 13 | {/* Right face */} |
| 14 | <path d="M28 10.9 16.7 17.4V30.2L28 23.7Z" fill="currentColor" fillOpacity="0.25" /> |
| 15 | </svg> |
| 16 | ); |
| 17 | } |
| 18 | |
| 19 | export function Logo() { |
| 20 | return ( |
| 21 | <span className="inline-flex items-center gap-2 text-fg"> |
| 22 | <Mark className="size-6" /> |
| 23 | <span className="text-[1.15rem] leading-none font-bold tracking-[-0.035em]">g1t</span> |
| 24 | </span> |
| 25 | ); |
| 26 | } |