diff --git a/client/components/AeThexOSLogo.tsx b/client/components/AeThexOSLogo.tsx new file mode 100644 index 00000000..6bda098b --- /dev/null +++ b/client/components/AeThexOSLogo.tsx @@ -0,0 +1,139 @@ +import { cn } from "@/lib/utils"; + +interface AeThexOSLogoProps { + size?: "sm" | "md" | "lg" | "xl"; + animate?: boolean; + className?: string; + variant?: "default" | "light" | "header" | "footer"; +} + +const GRADIENTS = { + default: { id: "osGradient", stops: [{ offset: "0%", color: "#a78bfa" }, { offset: "100%", color: "#60a5fa" }] }, + light: { id: "osGradientLight", stops: [{ offset: "0%", color: "#e9d5ff" }, { offset: "100%", color: "#bfdbfe" }] }, + header: { id: "osGradientHeader", stops: [{ offset: "0%", color: "#a78bfa" }, { offset: "100%", color: "#60a5fa" }] }, + footer: { id: "osGradientFooter", stops: [{ offset: "0%", color: "#818cf8" }, { offset: "100%", color: "#a78bfa" }] }, +}; + +const SIZES = { + sm: "h-6 w-6", + md: "h-10 w-10", + lg: "h-16 w-16", + xl: "h-24 w-24", +}; + +export default function AeThexOSLogo({ + size = "md", + animate = false, + className, + variant = "default", +}: AeThexOSLogoProps) { + const gradient = GRADIENTS[variant]; + + return ( + + + + {gradient.stops.map((stop, idx) => ( + + ))} + + + + + + + + + + + {/* OS Window Frame */} + + + {/* Title Bar */} + + + + {/* System Dots */} + + + + + {/* Central OS Symbol */} + + + + + + + + + ); +}