Colours the light theme missed - #606
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Signed-off-by: WaylandYang <wayland0916@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Five things the light theme was still getting wrong, and the rule that should have
caught the first one.
A wordmark is not white. The top-bar wordmark, the login page's, and three selected
rows in the menus were
text-white. On dark ground that is the same pixel astext-ink,so nothing looked wrong until the ground flipped and the name went invisible on paper.
All five become
text-ink.The guard had a hole the size of
white.alpha-whiteonly matchedtext-white/10,the form with an alpha; bare
text-whitefell through, andwhitewas also listed amongthe legitimate
text-*utilities next totext-leftandtext-nowrap. The rule is nowraw-whiteand matches both forms across every colour prefix.whiteandblackstay inthe utilities list on purpose, so a bare one is reported once, by this rule, and not twice.
A bar is not a button. The 14-day chart in the review overview filled its bars with
--u-accent, which on paper is#262626. A chart of what got decided last week was theheaviest thing on the page. Bars get their own token,
--u-bar, at half ink in boththemes, and a width cap: the card is a thousand pixels wide and fourteen full-width bars
are slabs, not bars.
Fills on paper are heavier than the same fills on ink. Black at α over white reads
darker than white at the same α over near-black, so the light theme cannot simply reuse
dark's alphas. The resting panel drops from 0.03 to 0.015, hover from 0.05 to 0.03, and
the selected row from 0.09 to 0.055. The selected row's fill also becomes a token
(
--u-active) instead of a number written into.u-nav-active, which is what made ituntunable per theme. The ratio between hover and selected stays where it was in dark, so
"pointing at" and "chosen" remain a step apart.
mix()was quietly returning grey. It parsed both ends withhexToRgb, which onlyknows
#rrggbband falls back to128,128,128. Since 0038INKis read from a token andarrives as
rgb(23,23,23), so everymix(typeColour, INK, t)— the ring around a hoveredor a selected node, in both themes — mixed toward grey instead of toward the ink. It now
parses with
parseRgba, which takes both. Tests cover both ends.Two smaller ones in passing: the tick in the chat scope menu was an svg inside
children,which Row wraps in one truncating span, so preflight's
display:blockdropped it onto asecond line and made the row taller. It moves to the
trailingslot, where the knowledgebase switcher already had it. And a graph search hit whose name shares space with a
disambiguator was being truncated to two characters; the disambiguator now shrinks four
times faster, is capped at 40%, and is hidden when it only repeats the type already shown
at the right of the row.