- Add variant selector dropdown inside IconCustomizerInline component
- Implement getAvailableSvgVariants() to detect all available SVG variants (base, light, dark, wordmark-light, wordmark-dark)
- Update getSvgUrl() to support variant selection for both community and collection icons
- Add variant state management with automatic fallback to first available variant
- Enable users to switch between icon variants while customizing colors
- Support both community icons (with assetUrls) and collection icons (with metadata)
The variant selector appears within the customizer component when multiple variants are available, allowing users to customize any SVG variant of an icon.
- Added rainbow animation to global styles.
- Introduced new color variables for consistent theming.
- Updated AddToSearchBarButton to use the new RainbowButton component.
- Adjusted dialog content size for better layout.
- Removed deprecated RainbowButton component from magicui registry.
Updated triggerAddIconWorkflow to accept comma-separated submission IDs.
Simplified triggerBulkAddIconWorkflow to join IDs and dispatch once
instead of triggering multiple separate workflows.
This works in tandem with the updated add-icon.yml workflow to process
all submissions sequentially in a single run.
Add React Query mutation hook for bulk workflow triggering:
- Shows success toast with count of triggered workflows
- Shows warning toast if some workflows failed
- Includes link to view workflows on GitHub
Add triggerBulkAddIconWorkflow function that:
- Accepts an array of submission IDs
- Triggers workflows sequentially with 500ms delay
- Returns individual results for each submission
- Handles errors gracefully per-submission
Remove ExperimentalWarning component and all its usages across the
application. Update submission form text to remove experimental language
and remove the "Request this icon" button from icon search.
Move gradient detection to parent component (icon-details) so the
customize button is hidden entirely rather than showing an error
message after the customizer opens.
Update ensureSvgAttributes to create viewBox from existing width/height
dimensions if missing, and always set width/height to 100% for proper
scaling within container elements.
Detect linearGradient and radialGradient elements in SVGs and hide
the "Customize Icon" button when found, as color customization is
not supported for gradient-based icons.
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Signed-off-by: Thomas Camlong <thomas@ajnart.dev>
- Add id="close-customizer" to close button for reliable test selection
- Add id="customized-svg-preview" to preview container for testing
- Update test to use reliable selectors instead of fragile locators
- Replace 'react' test icon with 'sonarr' for better test coverage
- Add test to verify SVG preview updates when colors change
- Remove redundant tests for color changes and action buttons
- Format playwright.config.ts with double quotes and tabs
- Change dev server command from npm to pnpm
- Add @playwright/test dependency to pnpm-lock.yaml