// Logo + wordmark — uses the original brand mark from core/templates/static/logo.svg. // Path data is inlined so we can drive fills with CSS variables (theme-aware). // `original=true` swaps to the source palette (#51b9f4 / #fec13d) for marketing. type LogoProps = { size?: number; className?: string; /** When true, use the original brand colors instead of the theme tokens. */ original?: boolean; }; export function Logo({ size = 28, className, original = false }: LogoProps) { const a = original ? "#51b9f4" : "var(--brand-500)"; const b = original ? "#fec13d" : "var(--accent-500)"; return ( ); } type WordmarkProps = { /** Logo mark size in px. The wordmark text auto-scales to feel proportional. */ size?: number; /** Hide the text — useful when the sidebar is collapsed. */ iconOnly?: boolean; className?: string; }; export function LogoWordmark({ size = 28, iconOnly = false, className }: WordmarkProps) { // The brand "MCP Hub" must always read left-to-right regardless of page // direction — flipping it to "Hub MCP" in RTL would mangle the proper noun. // `dir="ltr"` pins the inline flow, then `unicode-bidi: bidi-override` (set // via .logo-text in CSS) keeps the order stable even when the surrounding // paragraph is RTL. return ( {iconOnly ? null : ( MCP Hub )} ); }