wrolpi/app/src/themes
Roland 5873e65e8c
review: the color-scheme half of this was already there
Acting on review of #644.

The largest finding came out of a suggestion rather than being in it.  The
reviewer asked for coverage of the `color-scheme: dark` rule, on the grounds
that dropping it would leave night's track wrong with no failing test.  Written
and passing -- then mutated, by pointing the selector at a type that does not
exist, and the tests stayed green.

Mantine's own stylesheet puts `color-scheme: var(--mantine-color-scheme)` on
`:root`, and ThemeProvider drives it with `forceColorScheme`.  The property is
inherited, so a range slider on a dark theme has had a dark track all along and
the rule added here changed no pixel.  It is deleted, and the claim about "the
UA's pale slab" is out of the comments and the gallery copy with it.

The tests stay, re-aimed at what actually supplies it: breaking
`forceColorScheme` fails all three, which is worth guarding because it lives in
another module and every accent assertion passes without it.

The other suggestions:

- The gallery slider misrepresented the control it stands for -- it invented an
  "Error" step, dropped Trace and ran 0..4, where Settings maps 1..5 onto
  Critical / Warning / Info / Debug / Trace.  A gallery whose purpose is showing
  the real control is worse than useless when it shows a different one.  Keyed
  to match `levelNameMap` exactly, and it starts at Info so both halves of the
  track are visible.

- The "never leaves it at the UA default" test restated the four above it:
  `toRgb` throws on anything unresolved, and the computed value of
  `accent-color: auto` is the keyword, so those already fail on an unstyled
  slider.  Replaced with a constraint they do not cover -- `accent-color` is
  inherited, so a text field beside the slider must still read `auto`, which is
  what says the accent comes from this rule and not from a tinted document.

- The comment implied native checkboxes and radios are on screen the way
  sliders are.  They are not: those are Mantine's and Progress is a div, so
  three of the four selectors are a guard rather than a fix.  Said so.

Nits: four product sliders, not five -- the fifth is the sample itself.  And
the progressive-enhancement limit is now stated where the rule is, including
what a complete fix would take.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-08 18:05:54 -06:00
..
contrast.ts style: spell it "color" everywhere 2026-08-08 18:05:50 -06:00
fonts.css ui: theme tokens and a four-theme runtime 2026-08-08 18:03:00 -06:00
mantine.ts ui: the last of Semantic UI, in name and in dead CSS 2026-08-08 18:05:54 -06:00
map-flavor.test.js style: spell it "color" everywhere 2026-08-08 18:05:50 -06:00
MediaFilterDefs.tsx ui: media filtering is a per-theme setting, not a night-mode hardcode 2026-08-08 18:04:00 -06:00
names.ts ui: the last of Semantic UI, in name and in dead CSS 2026-08-08 18:05:54 -06:00
navColors.test.js ui: the last of Semantic UI, in name and in dead CSS 2026-08-08 18:05:54 -06:00
navColors.ts ui: the last of Semantic UI, in name and in dead CSS 2026-08-08 18:05:54 -06:00
tokens.css review: the color-scheme half of this was already there 2026-08-08 18:05:54 -06:00
tokens.test.js ui: a browser layer for the library, and the .media reset that never applied 2026-08-08 18:04:04 -06:00
ui-scale.test.js ui: the last of Semantic UI, in name and in dead CSS 2026-08-08 18:05:54 -06:00