import { Button } from '@chakra-ui/react' interface CustomButtonProps { children: React.ReactNode onClick?: () => void variant?: 'primary' | 'secondary' size?: 'sm' | 'md' | 'lg' } export const CustomButton = ({ children, onClick, variant = 'primary', size = 'md' }: CustomButtonProps) => { // Primary button - Green/Teal with shadow const primaryStyles = { bg: 'linear-gradient(135deg, #4ade80 0%, #22c55e 100%)', color: 'white', fontWeight: 'bold', fontSize: size === 'sm' ? '14px' : size === 'md' ? '16px' : '18px', px: size === 'sm' ? 6 : size === 'md' ? 8 : 10, py: size === 'sm' ? 5 : size === 'md' ? 6 : 7, rounded: 'full', boxShadow: '0 10px 30px rgba(34, 197, 94, 0.4), 0 4px 15px rgba(34, 197, 94, 0.3)', _hover: { bg: 'linear-gradient(135deg, #22c55e 0%, #16a34a 100%)', boxShadow: '0 12px 35px rgba(34, 197, 94, 0.5), 0 6px 20px rgba(34, 197, 94, 0.4)', transform: 'translateY(-2px)', }, _active: { transform: 'translateY(0)', boxShadow: '0 8px 25px rgba(34, 197, 94, 0.3), 0 3px 12px rgba(34, 197, 94, 0.2)', }, transition: 'all 0.3s ease', } // Secondary button - Blue with shadow const secondaryStyles = { bg: 'linear-gradient(135deg, #60a5fa 0%, #3b82f6 100%)', color: 'white', fontWeight: 'bold', fontSize: size === 'sm' ? '14px' : size === 'md' ? '16px' : '18px', px: size === 'sm' ? 6 : size === 'md' ? 8 : 10, py: size === 'sm' ? 5 : size === 'md' ? 6 : 7, rounded: 'full', boxShadow: '0 10px 30px rgba(59, 130, 246, 0.4), 0 4px 15px rgba(59, 130, 246, 0.3)', _hover: { bg: 'linear-gradient(135deg, #3b82f6 0%, #2563eb 100%)', boxShadow: '0 12px 35px rgba(59, 130, 246, 0.5), 0 6px 20px rgba(59, 130, 246, 0.4)', transform: 'translateY(-2px)', }, _active: { transform: 'translateY(0)', boxShadow: '0 8px 25px rgba(59, 130, 246, 0.3), 0 3px 12px rgba(59, 130, 246, 0.2)', }, transition: 'all 0.3s ease', } const buttonStyles = variant === 'primary' ? primaryStyles : secondaryStyles return ( ) } // Example usage component export const CustomButtonDemo = () => { return (