Commit Graph

1 Commits

  • feat(ui): add icon picker, color picker and provider icon components
    Implement comprehensive icon selection system for provider customization:
    
    ## New Components
    
    ### ProviderIcon (src/components/ProviderIcon.tsx)
    - Render SVG icons by name with automatic fallback
    - Display provider initials when icon not found
    - Support custom sizing via size prop
    - Use dangerouslySetInnerHTML for inline SVG rendering
    
    ### IconPicker (src/components/IconPicker.tsx)
    - Grid-based icon selection with visual preview
    - Real-time search filtering by name and keywords
    - Integration with icon metadata for display names
    - Responsive grid layout (6-10 columns based on screen)
    
    ### ColorPicker (src/components/ColorPicker.tsx)
    - 12 preset colors for quick selection
    - Native color input for custom color picking
    - Hex input field for precise color entry
    - Visual feedback for selected color state
    
    ## Icon Assets (src/icons/extracted/)
    - 38 high-quality SVG icons for AI providers and platforms
    - Includes: OpenAI, Claude, DeepSeek, Qwen, Kimi, Gemini, etc.
    - Cloud platforms: AWS, Azure, Google Cloud, Cloudflare
    - Auto-generated index.ts with getIcon/hasIcon helpers
    - Metadata system with searchable keywords per icon
    
    ## Build Scripts
    - scripts/extract-icons.js: Extract icons from simple-icons
    - scripts/generate-icon-index.js: Generate TypeScript index file