import { type ComponentProps } from 'react'; import { cn } from '@/lib/utils'; import { BRAND, BRAND_GLYPHS, type BrandGlyphName } from '@/lib/brand'; import { useTheme } from '@/contexts/ThemeContext'; type ImgProps = Omit, 'src' | 'alt'>; export function BrandMark({ className, ...props }: ImgProps) { const { resolvedTheme } = useTheme(); const src = resolvedTheme === 'light' ? BRAND.assets.logoLight : BRAND.assets.logo; return {BRAND.name}; } export function BrandWordmark({ compact = false, className, }: { compact?: boolean; className?: string; }) { return ( {compact ? BRAND.compactName : BRAND.name} ); } export function BrandGlyph({ name, className }: { name: BrandGlyphName; className?: string }) { const glyph = BRAND_GLYPHS[name]; return ( {glyph.label} { e.currentTarget.style.display = 'none'; }} className={cn( 'inline-block h-10 w-10 shrink-0 select-none rounded-xl object-contain shadow-sm', className, )} /> ); }