// 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 : (
MCPHub
)}
);
}