3,200+ hardcoded color values replaced with CSS variable-backed Tailwind classes (bg-card, text-foreground, border-border, etc.). Enables light mode via CSS variable swap. Only syntax highlighting colors and intentional one-offs remain hardcoded (~15 values). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
27 lines
481 B
TypeScript
27 lines
481 B
TypeScript
import { cn } from '@/lib/utils'
|
|
|
|
const SIZES = {
|
|
sm: 'h-4 w-4 border-2',
|
|
md: 'h-8 w-8 border-4',
|
|
lg: 'h-12 w-12 border-4',
|
|
} as const
|
|
|
|
interface SpinnerProps {
|
|
size?: keyof typeof SIZES
|
|
className?: string
|
|
}
|
|
|
|
export function Spinner({ size = 'md', className }: SpinnerProps) {
|
|
return (
|
|
<div
|
|
className={cn(
|
|
'animate-spin rounded-full border-border border-t-primary',
|
|
SIZES[size],
|
|
className
|
|
)}
|
|
/>
|
|
)
|
|
}
|
|
|
|
export default Spinner
|