import React from 'react' interface ButtonProps extends React.ButtonHTMLAttributes { isLoading?: boolean } const Button: React.FC = ({ children, className, isLoading = false, disabled, ...props }) => { const baseClasses = 'w-full flex justify-center py-2 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-white focus:outline-none focus:ring-2 focus:ring-offset-2' const activeClasses = 'bg-sky-600 hover:bg-sky-700 focus:ring-sky-500' const loadingClasses = 'bg-sky-400 cursor-not-allowed' const disabledClasses = 'bg-gray-400 cursor-not-allowed' const getButtonClasses = () => { if (isLoading) return `${baseClasses} ${loadingClasses} ${className || ''}` if (disabled) return `${baseClasses} ${disabledClasses} ${className || ''}` return `${baseClasses} ${activeClasses} ${className || ''}` } return ( ) } export default Button