Commit Graph

2 Commits

Author SHA1 Message Date
04d9487501 Implement global color system and optimize CSS architecture
- Create comprehensive global color system with semantic variables in src/styles/colors.css
- Replace all hardcoded colors across components with CSS custom properties
- Establish semantic color mappings for consistent theming (--text-primary, --bg-secondary, etc.)
- Add complete color scales for gray, slate, blue, red, green, yellow, purple, pink
- Include dark mode color overrides for automatic theme switching
- Update PresentationEditor.css to use global color variables throughout
- Consolidate SlideThumbnail.css styles and optimize using CSS cascades
- Move SlideThumbnail-specific styles from PresentationEditor.css to component file
- Update all UI button components (Button, ActionButton, BackButton) to use color variables
- Modernize Modal, AlertDialog, and ConfirmDialog components with global colors
- Optimize App.css, index.css, and PresentationsList.css color usage
- Reduce CSS bundle size through consolidation and elimination of duplicate styles

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-21 13:06:34 -05:00
b4b61ad761 Consolidate button components and eliminate barrel exports
## Button Component System
- Create dedicated components/ui/buttons directory with 6 specialized button components:
  - Button.tsx: Universal button with variants (primary, secondary, danger, link) and sizes
  - ActionButton.tsx: Action buttons matching existing patterns
  - BackButton.tsx: Navigation back buttons
  - CancelLink.tsx: Cancel/link style buttons
  - CloseButton.tsx: Modal/preview close buttons with variants
  - NavigationButton.tsx: Presentation navigation buttons
- Update key components to use new button system (SlideEditor, ContentEditor, Modal, AlertDialog, ConfirmDialog)
- Replace inline styled-jsx with proper CSS files for AlertDialog and ConfirmDialog

## Barrel Export Elimination
- Remove all barrel export files violating IMPORT_STANDARDS.md:
  - src/themes/index.ts
  - src/components/themes/index.ts
  - src/components/presentations/index.ts
  - src/components/slide-editor/index.ts
- Update 15+ files to use direct imports from themeLoader.ts instead of barrel exports
- Fix function naming conflict in ThemeDetailPage.tsx (loadTheme shadowing)
- Follow project standards: direct imports with .tsx extensions for better Vite performance

## Benefits
- Improved Vite tree shaking and module resolution performance
- Consistent, reusable button system across application
- Adherence to project coding standards and import conventions
- Reduced bundle size through elimination of barrel export overhead

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-21 11:42:42 -05:00