39 lines
862 B
TypeScript
39 lines
862 B
TypeScript
import Image from "next/image";
|
|
import { cn } from "@/lib/utils";
|
|
|
|
interface LogoProps {
|
|
size?: "sm" | "md" | "lg";
|
|
showText?: boolean;
|
|
className?: string;
|
|
}
|
|
|
|
const SIZES = { sm: 28, md: 36, lg: 48 };
|
|
|
|
export function Logo({ size = "md", showText = true, className }: LogoProps) {
|
|
const px = SIZES[size];
|
|
|
|
return (
|
|
<span className={cn("inline-flex items-center gap-2", className)}>
|
|
<Image
|
|
src="/logo.svg"
|
|
alt="ExposedGays"
|
|
width={px}
|
|
height={px}
|
|
className="shrink-0"
|
|
priority
|
|
/>
|
|
{showText && (
|
|
<span
|
|
className={cn(
|
|
"font-bold gradient-text",
|
|
size === "sm" && "text-base",
|
|
size === "md" && "text-xl",
|
|
size === "lg" && "text-2xl"
|
|
)}
|
|
>
|
|
ExposedGays
|
|
</span>
|
|
)}
|
|
</span>
|
|
);
|
|
} |