37 lines
828 B
TypeScript
37 lines
828 B
TypeScript
import React from 'react';
|
|
|
|
interface GlassCardProps {
|
|
children: React.ReactNode;
|
|
variant?: 'default' | 'light' | 'heavy';
|
|
className?: string;
|
|
hover?: boolean;
|
|
onClick?: () => void;
|
|
}
|
|
|
|
export function GlassCard({
|
|
children,
|
|
variant = 'default',
|
|
className = '',
|
|
hover = false,
|
|
onClick
|
|
}: GlassCardProps) {
|
|
const variantClasses = {
|
|
default: 'liquid-glass',
|
|
light: 'liquid-glass-light',
|
|
heavy: 'liquid-glass-heavy'
|
|
};
|
|
|
|
return (
|
|
<div
|
|
onClick={onClick}
|
|
className={`
|
|
${variantClasses[variant]}
|
|
rounded-[var(--radius-lg)]
|
|
${hover ? 'glass-hover glass-press cursor-pointer' : ''}
|
|
${className}
|
|
`}
|
|
>
|
|
{children}
|
|
</div>
|
|
);
|
|
}
|