Skip to content

feat(web-awesome): IDE color scheme picker in Footer#686

Open
todti wants to merge 15 commits into
mainfrom
labs/theme-colors
Open

feat(web-awesome): IDE color scheme picker in Footer#686
todti wants to merge 15 commits into
mainfrom
labs/theme-colors

Conversation

@todti
Copy link
Copy Markdown
Collaborator

@todti todti commented Jun 2, 2026

Summary

  • Adds a Color Scheme dropdown to the Footer (between the existing Language picker and Version badge)
  • 8 IDE-inspired dark color schemes: Tokyo Night, Monokai, Dracula, One Dark, Catppuccin Mocha, Nord, Solarized Dark, GitHub Dark
  • Selection is persisted in localStorage and survives page reloads
  • Each scheme sets data-color-scheme on <html> and overrides surface, text, border, control, navigation, link, intent and syntax CSS variables
  • Status/chart colors are inherited from the base dark theme — test result indicators stay readable in every scheme
  • A small color swatch is shown next to each scheme name in the dropdown

todti added 2 commits June 2, 2026 18:15
Adds a dropdown in the Footer (next to Language and Version) that lets
users switch between 8 popular IDE color schemes persisted in localStorage:

- Tokyo Night
- Monokai
- Dracula
- One Dark
- Catppuccin Mocha
- Nord
- Solarized Dark
- GitHub Dark

Each scheme sets data-color-scheme on <html> and overrides all surface,
text, border, control, nav, link, intent and syntax CSS variables.
Status/chart colors are inherited from the base dark theme so test result
indicators remain readable across schemes.
- stores/colorScheme/ → types.ts, constants.ts, store.ts, index.ts
- assets/scss/themes/ → one file per scheme + index.scss
- ColorSchemePicker/ → ColorSchemePicker.tsx, ColorSchemeItem.tsx, index.tsx
- Remove monolithic color-schemes.scss and colorScheme.ts
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 2, 2026

Allure Report Summary

Name Duration Stats New Flaky Retry Report
Allure 3 Report 28m 11s Passed tests 1530   Skipped tests 15 42 0 0 View
My Dashboard 28m 11s Passed tests 1530   Skipped tests 15 42 0 0 View
Allure 3 GitHub actions run (2026-06-03T18:43:14.614Z) 28m 11s Passed tests 1530   Skipped tests 15 42 0 0 View

todti and others added 12 commits June 2, 2026 19:07
Picker now shows 9 families (Allure, GitHub, One, Catppuccin, Solarized,
Tokyo Night, Monokai, Dracula, Nord) instead of 13 individual schemes.

The active light/dark variant is derived automatically from the existing
ThemeButton toggle — switching light<->dark updates data-color-scheme
without changing the selected family.
…it tests

- Solarized Light: bg-raised #fffef8, stronger bg-neutral/tag contrast
- One Light: darker bg-neutral
- Catppuccin Latte / GitHub Light: bg-raised #ffffff, stronger neutral
- Add test/stores/colorScheme.test.ts: 11 unit tests for store
- Add test/components/ColorSchemePicker.test.tsx: picker rendering
Three new theme families (work with ThemeButton light/dark toggle):
- Allure · Deuteranopia — for red-green blindness (~8% of men)
  orange (failed) · blue (passed) · purple (broken) · gray (skipped)
  based on Okabe-Ito colorblind-safe palette
- Allure · Tritanopia — for blue-yellow blindness
  red (failed) · teal (passed) · orange (broken) · gray (skipped)
- Allure · High Contrast — WCAG AAA (≥7:1) for low vision / achromatopsia
  each family has light and dark variants that auto-switch with ThemeButton
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant