This commit introduces shadcn/ui as the base component framework for the application, providing a modern design system with built-in dark mode support. ## Core Infrastructure - Add cn() utility function for className merging - Add useThemeStore for theme state management (light/dark/system) - Add ThemeProvider component for app-wide theme context - Add ThemeSwitcher component for user theme selection - Add shadcn CSS variables for theming in main.css ## shadcn Components Added - button, dialog, toast, dropdown-menu, select, tabs - label, separator, alert-dialog, input, card - table, scroll-area, tooltip, progress, slot ## Existing Components Updated (API Compatible) - Button: now uses shadcn button internally - Modal: now uses shadcn dialog internally - Toast: enhanced with dark mode support ## Dependencies Added - @radix-ui/*: UI primitives for accessibility - class-variance-authority: variant management - framer-motion: animations - clsx, tailwind-merge: className utilities All existing component APIs are maintained for backward compatibility. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
4.3 KiB
4.3 KiB