import { ButtonHTMLAttributes, AnchorHTMLAttributes, forwardRef } from 'react'; interface BaseButtonProps { variant?: 'default' | 'secondary'; children: React.ReactNode; className?: string; } type ButtonProps = BaseButtonProps & ButtonHTMLAttributes; type LinkProps = BaseButtonProps & AnchorHTMLAttributes & { href: string }; const getVariantClasses = (variant: 'default' | 'secondary' = 'default'): string => { const baseClass = 'transition duration-100 ease-in font-medium w-full h-full px-2 py-1 text-white'; if (variant === 'secondary') { return `${baseClass} bg-black shadow-md hover:text-black hover:bg-white`; } return `${baseClass} bg-gray-500 dark:text-gray-800 hover:bg-gray-800 dark:hover:bg-gray-100`; }; export const Button = forwardRef( ({ variant = 'default', children, className = '', ...props }, ref) => { return ( ); } ); Button.displayName = 'Button'; export const ButtonLink = forwardRef( ({ variant = 'default', children, className = '', ...props }, ref) => { return ( {children} ); } ); ButtonLink.displayName = 'ButtonLink';