Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | 4x 4x 4x | import React from 'react'; import { ButtonHTMLAttributes } from 'react'; interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> { variant?: 'primary' | 'secondary' | 'danger' | 'outline'; } export function Button({ variant = 'primary', className = '', ...props }: ButtonProps) { const baseStyle = 'px-4 py-2 rounded font-semibold transition-colors text-sm'; const variants = { primary: 'bg-[#00deb6] hover:bg-[#00c5a0] text-white', secondary: 'bg-[#262637] hover:bg-[#1a1a2b] text-white', danger: 'bg-[#e60000] hover:bg-[#cc0000] text-white', outline: 'bg-white border-2 border-[#00deb6] text-[#00deb6] hover:bg-[#f7f7f7]' }; return ( <button className={`${baseStyle} ${variants[variant]} ${className}`} {...props} /> ); } |