fix: automatic On Color recalculation in dark mode and add Copilot instructions #1244
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR addresses the issue where the "On Color" (text color) was not automatically recalculated when changing origin colors in the Theme Builder, requiring users to manually delete and recalculate the On Color value.
Problem
When users changed origin colors in either light or dark mode, the corresponding on-origin colors (text colors) were not automatically updated to maintain proper contrast ratios. This created accessibility issues and poor user experience.
Solution
Modified the
onColorChange
handlers incolor-picker.tsx
to automatically extract and apply the calculatedonOriginDarkDefault
andonOriginLightDefault
values from thegenerateColorsByOrigin
function whenever origin colors change.Visual Comparison
Before Fix (poor contrast with manual intervention required):

After Fix (excellent contrast with automatic recalculation):

Testing Results
Additional Improvements
Added comprehensive Copilot instructions (
.github/copilot-instructions.md
) covering:The fix ensures WCAG compliance and eliminates the need for manual on-color recalculation, providing a seamless user experience when customizing themes.
Fixes #1236.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.