fix(theme): WCAG-aware btn-primary-text token across all themes
Frontend (62 components, ~64 rules): - Replace hardcoded `color: white` / `#fff` with `var(--btn-primary-text)` in every rule that paints text on `var(--accent-primary)`. Covers in-rule cases (BulkActionBar, GenreFilterButton, KeybindingsSettings, settings views, login, modal primary buttons, wizard steps, etc.) plus descendant selectors (`.parent.selected .child`). - Semi-transparent rgba(255,255,255,X) over selected accent rows now use `color-mix(in srgb, var(--btn-primary-text) X%, transparent)` so the mute level inherits the per-theme token color. Theme tokens in app.css (--btn-primary-text fixes): - rose-pine-dawn: #faf4ed → #575279 (was the bg color, ratio 2.60 FAIL; now 5.71 AA against coral accent) - kurosaki: #fbf9f2 → #262424 (was the bg color, ratio 1.76 FAIL; now 8.33 AA against gold accent) - snow-storm: #eceff4 → #2e3440 (was the bg color, ratio 3.50 AA-Large; now 6.13 AA against blue accent) - stratego: #0a0a0a → #ffffff (visual choice; 4.14 AA-Large is acceptable for button labels and matches palette intent) Auto-theme generator (src-tauri/src/auto_theme/generator.rs): - pick_btn_text_for_accent_set(): WCAG-aware FG selection that holds across accent / hover / active states. Replaces the broken `luminance < 0.5` threshold which produced 2.0:1 ratios on mid-luminance accents (Catppuccin lavender, Dracula purple, rose-pine coral). - ensure_text_contrast_target(text, bg, is_dark, target): generalize the iterative contrast helper to accept a target ratio. Apply to text_secondary (4.5) and text_muted (3.0). - Add --btn-danger-text and --btn-warning-text tokens via pick_btn_text_for_bg for future status-button consumers. Misc fixes: - SettingsView.svelte: extract initialTitlebarMode to const, avoids the Svelte 5 state_referenced_locally warning. - QueuePanel.svelte: wrap .stop-after-marker in :global() (the class is forwarded to a Svelte component child, not a native element) and fix var(--accent) typo to the correct var(--accent-primary). Tests: 13 generator tests pass (8 prior + 5 new). svelte-check 0 errors, 31 warnings (down from 33). cc
This commit is contained in:
41 files changed
+341
-139
No files matched your search
@@ -7303,7 +7303,7 @@
|
||||
.create-modal .primary-btn {
|
||||
padding: 10px 20px;
|
||||
background: var(--accent-primary);
|
||||
color: #ffffff;
|
||||
color: var(--btn-primary-text);
|
||||
border: none;
|
||||
border-radius: 8px;
|
||||
font-size: 14px;
|
||||
|
||||
Reference in new issue
Block a user