/** * Button Variants Demo * Shows all visual variants of the button component */ import React, { useState } from 'react' export default function ButtonVariantsDemo() { const [variant, setVariant] = useState('default') const variants = ['default', 'destructive', 'outline', 'secondary', 'ghost', 'link', 'gradient'] const getButtonClass = (v: string) => { const base = 'px-4 py-2 rounded-md text-sm transition-colors' switch (v) { case 'default': return `${base} bg-primary text-primary-foreground hover:opacity-90` case 'destructive': return `${base} bg-destructive text-destructive-foreground hover:opacity-90` case 'outline': return `${base} border bg-background hover:bg-accent` case 'secondary': return `${base} bg-secondary text-secondary-foreground hover:opacity-80` case 'ghost': return `${base} hover:bg-accent` case 'link': return `${base} text-primary underline-offset-4 hover:underline` case 'gradient': return `${base} bg-gradient-to-r from-blue-500 to-purple-500 text-white hover:opacity-90` default: return base } } return (