fix(header): preserve version dropdown hover contrast#2047
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
This plugin has been deployed to Cloudflare R2 and is available for testing. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## feat/consolidated-header #2047 +/- ##
============================================================
- Coverage 52.90% 52.88% -0.02%
============================================================
Files 1041 1041
Lines 72266 72266
Branches 8328 8330 +2
============================================================
- Hits 38231 38217 -14
- Misses 33909 33923 +14
Partials 126 126 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
## Summary Version dropdown rows now apply matching semantic foreground and background colors on hover and keyboard focus, preserving readable contrast in White and Azure themes. ## Why This Exists The version dropdown used theme-specific hover backgrounds without explicitly setting the corresponding foreground color. In light themes, that could leave hovered text unreadable. ## Resolution Use the shared accent and accent-foreground semantic tokens for both hovered and focused version rows. This keeps the interaction state aligned with the active theme rather than relying on gray color utilities. ## Reviewer Considerations - The change is deliberately scoped to the two copyable version rows; it does not alter the shared dropdown primitive or unrelated menus. - Hover and keyboard-focus states receive the same token pair for consistent pointer and keyboard contrast. ## Behavior Changes - Hovered or focused Unraid OS and API version rows remain legible in White and Azure themes. ## Implementation Summary - Replace fixed gray hover backgrounds with semantic accent background and foreground utility classes in the header version dropdown. ## Verification - `pnpm --dir web run pretest` (passed; UI build completed with pre-existing TypeScript diagnostics in `Accordion.vue`) - `pnpm --dir web exec vitest run __test__/components/HeaderOsVersion.test.ts` (3 passed) - `pnpm --dir web exec eslint src/components/Header/HeaderVersion.vue` (passed) - `pnpm --dir web exec prettier --check src/components/Header/HeaderVersion.vue` (passed) - `git diff --check` (passed) ## Risk Low; the change only applies established semantic colors to existing interaction states.
Summary
Version dropdown rows now apply matching semantic foreground and background colors on hover and keyboard focus, preserving readable contrast in White and Azure themes.
Why This Exists
The version dropdown used theme-specific hover backgrounds without explicitly setting the corresponding foreground color. In light themes, that could leave hovered text unreadable.
Resolution
Use the shared accent and accent-foreground semantic tokens for both hovered and focused version rows. This keeps the interaction state aligned with the active theme rather than relying on gray color utilities.
Reviewer Considerations
Behavior Changes
Implementation Summary
Verification
pnpm --dir web run pretest(passed; UI build completed with pre-existing TypeScript diagnostics inAccordion.vue)pnpm --dir web exec vitest run __test__/components/HeaderOsVersion.test.ts(3 passed)pnpm --dir web exec eslint src/components/Header/HeaderVersion.vue(passed)pnpm --dir web exec prettier --check src/components/Header/HeaderVersion.vue(passed)git diff --check(passed)Risk
Low; the change only applies established semantic colors to existing interaction states.