415 Commits

Author SHA1 Message Date
Thomas Camlong
d864942aa3 fix(magic-card): update theme handling 2026-01-09 18:30:32 +01:00
Thomas Camlong
31fb0022e1 feat(icons): add variant selection to icon customizer
- 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.
2026-01-09 18:28:54 +01:00
Thomas Camlong
2aefb5cde0 chore: fix typo for wordmark in submission form 2026-01-09 13:40:09 +01:00
ajnart
71cfd22bb8 Merge pull request #2791 from homarr-labs/copilot/modify-existing-icons-functionality 2026-01-09 01:01:55 +01:00
ajnart
eeefb04f99 Merge pull request #2793 from homarr-labs/copilot/show-description-on-approval-page 2026-01-09 01:00:21 +01:00
Thomas Camlong
76b7af5fae refactor(community): rename and export fetchCommunitySubmissions function for improved data fetching 2026-01-09 00:57:40 +01:00
copilot-swe-agent[bot]
7357a1f2c2 Allow editing existing icons
Co-authored-by: ajnart <49837342+ajnart@users.noreply.github.com>
2026-01-08 23:25:59 +00:00
copilot-swe-agent[bot]
4ddf309a87 Add description field to submission details component
Co-authored-by: ajnart <49837342+ajnart@users.noreply.github.com>
2026-01-08 23:22:11 +00:00
Thomas Camlong
462ad43899 update favicon and logo 2026-01-08 14:37:37 +01:00
ajnart
56c27a690f Merge pull request #2788 from homarr-labs/copilot/add-github-oauth-login 2026-01-08 13:55:52 +01:00
Thomas Camlong
f38d6ef7fa fix(api): handle numeric-string GitHub author ids 2026-01-08 13:44:32 +01:00
Thomas Camlong
8b4f0eef67 fix(web): resolve community author as GitHub profile when possible 2026-01-08 13:44:25 +01:00
Thomas Camlong
46369283d2 fix(web): redirect to community preview after submission 2026-01-08 13:44:16 +01:00
Thomas Camlong
c9606f7e0a feat: add optional github_id field to pb User 2026-01-08 13:00:27 +01:00
ajnart
ae6bdfad47 Merge pull request #2787 from homarr-labs/copilot/add-browser-search-bar-popup 2026-01-08 12:27:17 +01:00
Thomas Camlong
a69eedc638 feat: enhance styling and animations for search
- 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.
2026-01-08 11:29:56 +01:00
copilot-swe-agent[bot]
9ec2047967 chore: update search button copy and safari steps
Co-authored-by: ajnart <49837342+ajnart@users.noreply.github.com>
2026-01-08 10:08:34 +00:00
copilot-swe-agent[bot]
d45a26bea5 feat: add browser search rainbow button and dialog
Co-authored-by: ajnart <49837342+ajnart@users.noreply.github.com>
2026-01-08 10:05:55 +00:00
copilot-swe-agent[bot]
9dbf3a9dae Improve OAuth error handling and UX based on code review
Co-authored-by: ajnart <49837342+ajnart@users.noreply.github.com>
2026-01-08 09:54:28 +00:00
copilot-swe-agent[bot]
2bfb024eb4 Add GitHub OAuth setup documentation to README
Co-authored-by: ajnart <49837342+ajnart@users.noreply.github.com>
2026-01-08 09:51:30 +00:00
copilot-swe-agent[bot]
2d521a814b Enable GitHub OAuth login in login modal
Co-authored-by: ajnart <49837342+ajnart@users.noreply.github.com>
2026-01-08 09:50:09 +00:00
Thomas Camlong
69fe41b069 feat: add admin comment on approval 2026-01-06 04:43:37 +01:00
Thomas Camlong
f2d3d92063 feat: add admin comments to success emails 2026-01-06 04:41:38 +01:00
Thomas Camlong
7567336aa4 chore: fix compose 2025-12-31 12:21:14 +01:00
Thomas Camlong
bad5443fb4 (chore): update docker compose 2025-12-31 12:14:09 +01:00
Thomas Camlong
e059b0f3ea refactor(web): batch submissions into single workflow dispatch
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.
2025-12-29 11:26:50 +01:00
Thomas Camlong
bfbc1245d5 feat(dashboard): add bulk trigger UI for approved submissions
- Add checkbox column for selecting approved submissions (admin only)
- Add bulk actions toolbar with "Trigger All" button
- Integrate useBulkTriggerWorkflow hook in dashboard page
- Column is conditionally rendered only for admin users
2025-12-29 11:08:10 +01:00
Thomas Camlong
f2fb70025f feat(hooks): add useBulkTriggerWorkflow hook
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
2025-12-29 11:08:01 +01:00
Thomas Camlong
91890837e7 feat(api): add bulk trigger workflow server action
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
2025-12-29 11:07:52 +01:00
Thomas Camlong
d713f13d3a refactor: remove experimental warning components and update submission UI
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.
2025-12-26 21:26:04 +01:00
Thomas Camlong
42a1351c56 chore(deps): update next from 16.0.9 to 16.1.1 2025-12-26 21:26:00 +01:00
Thomas Camlong
26e3998ae3 Revert "Update web/src/components/icon-details.tsx"
This reverts commit 4dd98a3807.
2025-12-26 20:24:57 +01:00
Thomas Camlong
53acbc791e Update web/src/components/icon-details.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Thomas Camlong <thomas@ajnart.dev>
2025-12-26 20:24:08 +01:00
Thomas Camlong
4dd98a3807 Update web/src/components/icon-details.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Thomas Camlong <thomas@ajnart.dev>
2025-12-26 20:19:19 +01:00
Thomas Camlong
7f18cbcbb2 style(community-icon-search): code formatting 2025-12-26 20:00:04 +01:00
Thomas Camlong
92a5101613 refactor(icon-customizer-inline): remove gradient detection
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.
2025-12-26 19:59:56 +01:00
Thomas Camlong
a178037791 fix(svg-color-utils): ensure SVGs scale properly within containers
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.
2025-12-26 19:59:47 +01:00
Thomas Camlong
c91e05829e feat(icon-details): hide customize button for SVGs with gradients
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.
2025-12-26 19:59:37 +01:00
Thomas Camlong
d1c67c4c77 Merge pull request #2755 from homarr-labs/feat/improve-categories 2025-12-26 18:32:46 +01:00
Thomas Camlong
093eb9909c Potential fix for pull request finding 'Unmatchable dollar in regular expression'
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>
2025-12-26 18:29:23 +01:00
Thomas Camlong
b7e157c9bd chore: remove unused screenshot script
- Delete the take-screenshots.mjs file as it is no longer needed
- This cleanup helps maintain a leaner codebase
2025-12-26 18:25:57 +01:00
Thomas Camlong
3239f82d88 fix: add transition duration to customizer button animation
- Add transition duration of 0.2s to motion.div for smoother animation
- Improves visual consistency when opening/closing icon customizer
2025-12-26 18:01:33 +01:00
Thomas Camlong
edf0e048b9 test: add test IDs and improve icon customizer tests
- 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
2025-12-26 18:01:32 +01:00
Thomas Camlong
b363967344 chore: update playwright config formatting and use pnpm
- 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
2025-12-26 18:01:31 +01:00
copilot-swe-agent[bot]
9d510a1865 docs: Add comprehensive Playwright setup documentation
Co-authored-by: ajnart <49837342+ajnart@users.noreply.github.com>
2025-12-26 15:21:49 +00:00
copilot-swe-agent[bot]
de39acfa55 feat(tests): Add screenshot script and test documentation
Co-authored-by: ajnart <49837342+ajnart@users.noreply.github.com>
2025-12-26 15:17:38 +00:00
copilot-swe-agent[bot]
2a86e79c32 feat(tests): Setup Playwright e2e tests for SVG customizer
Co-authored-by: ajnart <49837342+ajnart@users.noreply.github.com>
2025-12-26 15:11:03 +00:00
Thomas Camlong
cf9dc96f55 refactor(color-picker): remove unused export 2025-12-26 16:01:10 +01:00
Thomas Camlong
16ac249bf8 style: apply code formatting to actions, hooks, and api files
Apply consistent code formatting across multiple files:
- Remove semicolons for consistency with project style
- Improve code readability
- Files: github actions, submission hooks, and api utilities
2025-12-26 15:58:20 +01:00
Thomas Camlong
67f0bc5637 style(icons): apply code formatting to icon-details component
Apply consistent code formatting to icon-details component:
- Remove semicolons for consistency with project style
- Improve code readability
2025-12-26 15:58:17 +01:00