"use client";
import * as React from "react";
import { cn } from "../utils/cn";
export const BackgroundGrid: React.FC = () => (
);
interface CardProps {
children: React.ReactNode;
className?: string;
variant?: "white" | "dark" | "gray" | "glass";
hover?: boolean;
padding?: "none" | "small" | "normal" | "large";
techBorder?: boolean;
}
export const Card: React.FC = ({
children,
className = "",
variant = "white",
hover = true,
padding = "normal",
techBorder = false,
}) => {
const variants = {
white: "bg-white border-slate-100 text-slate-900 shadow-sm",
dark: "bg-slate-900 border-white/5 text-white shadow-xl",
gray: "bg-slate-50/50 border-slate-100 text-slate-900",
glass: "glass text-slate-900",
};
const paddings = {
none: "p-0",
small: "p-4 md:p-8",
normal: "p-5 md:p-10",
large: "p-6 md:p-12",
};
const [hexId, setHexId] = React.useState("0x0000");
React.useEffect(() => {
setHexId(
`0x${Math.floor(Math.random() * 0xffff)
.toString(16)
.padStart(4, "0")
.toUpperCase()}`,
);
}, []);
return (
{/* Binary corner accent on hover */}
{hover && (
{hexId}
)}
{children}
);
};
export const Container: React.FC<{
children: React.ReactNode;
className?: string;
variant?: "narrow" | "normal" | "wide";
}> = ({ children, className = "", variant = "normal" }) => {
const variants = {
narrow: "max-w-4xl",
normal: "max-w-6xl",
wide: "max-w-7xl",
};
return (
{children}
);
};