SPB Git

Repository Public MIT

logo.tsx 1.7 KB 47 lines tsx

1import { cn } from "@/lib/utils";23interface LogoMarkProps {4  className?: string;5  /** taille en px du carré */6  size?: number;7}89/** Monogramme VQuant : « V » + trajectoire haussière sur tuile dégradée. */10export function LogoMark({ className, size = 32 }: LogoMarkProps) {11  return (12    <span13      aria-hidden14      className={cn("relative inline-grid place-items-center shrink-0 rounded-[28%] bg-brand text-white shadow-brand overflow-hidden", className)}15      style={{ width: size, height: size }}16    >17      <span className="pointer-events-none absolute inset-0 bg-gradient-to-br from-white/35 via-transparent to-black/10" />18      <svg viewBox="0 0 64 64" width={size} height={size} className="relative">19        <path d="M14 22 L26 44 L38 22" fill="none" stroke="currentColor" strokeWidth="6" strokeLinecap="round" strokeLinejoin="round" />20        <path d="M36 36 L44 27 L50 32 L54 18" fill="none" stroke="currentColor" strokeWidth="4" strokeLinecap="round" strokeLinejoin="round" opacity=".95" />21        <circle cx="54" cy="18" r="3.2" fill="currentColor" />22      </svg>23    </span>24  );25}2627interface LogoProps {28  className?: string;29  size?: number;30  withWordmark?: boolean;31  wordmarkClassName?: string;32}3334export function Logo({ className, size = 32, withWordmark = true, wordmarkClassName }: LogoProps) {35  return (36    <span className={cn("inline-flex items-center gap-2.5 select-none", className)}>37      <LogoMark size={size} />38      {withWordmark && (39        <span className={cn("font-display font-extrabold tracking-tight leading-none text-[1.05rem]", wordmarkClassName)}>40          <span className="text-foreground">V</span>41          <span className="text-brand">Quant</span>42        </span>43      )}44    </span>45  );46}47
Files main
Menu

Theme