'use client'; import { Box, VStack, Text, Icon, useColorMode, HStack, } from '@chakra-ui/react'; import { IconType } from 'react-icons'; import { LuMousePointerClick } from 'react-icons/lu'; interface FeatureCardProps { title: string; description: React.ReactNode; icon: IconType; highlight?: boolean; content: () => void; disabled?: boolean; showHint?: boolean; } export function FeatureCard({ title, description, icon, highlight, content, disabled = false, showHint = false, }: FeatureCardProps) { const { colorMode } = useColorMode(); return ( { if (disabled) { e.preventDefault(); return; } content(); }} p={4} borderRadius="md" borderWidth="1px" borderColor={highlight ? 'blue.500' : 'transparent'} bg={colorMode === 'light' ? 'gray.50' : 'whiteAlpha.50'} _hover={{ transform: disabled ? 'translateY(0)' : 'translateY(-2px)', transition: 'transform 0.2s', bg: colorMode === 'light' ? 'gray.100' : 'whiteAlpha.100', }} cursor={disabled ? 'not-allowed' : 'pointer'} height="full" > {showHint && ( Click me! )} {title} {description} {disabled && ( Only available for social login users. )} ); }