Refine the color system: violet base, deliberate lime signal moments - #79
Merged
Conversation
Full audit of every color pairing in the app (WCAG-verified), applying one doctrine: violet is the calm brand base — primaryColor for fills, borders, and interactive surfaces; accentColor as the only violet used for small text (primary tops out at ~4.1:1 and failed the 4.5:1 floor in 20+ places). The lime successColor is the loud signal that breaks the violet silence, reserved for genuine resume/ready moments and never used as ambiance or per-row state. Legibility fixes: - AppStatusPill gains an onImage variant (opaque dark backing) — the spotlight CONTINUE WATCHING pill was invisible over thumbnails; it is now Home's green moment. Discover's FOR YOU pill gets the same backing. Default pill ink is accentColor (the primary default failed AA on every surface). - Player: the controls scrim now dims the center of the frame (white play/skip controls had zero scrim over bright video); scrub-preview timestamp accent+bold instead of primary; hold-to-seek label white; 360p badge on black87; resume banner is the player's green moment (lime history icon + timestamp, accent Start over). - Theme-level violet-as-text: text buttons, snackbar actions, floating input labels -> accentColor; onSecondary dark ink; eyebrows and onboarding numerals -> accentColor. - Fallback avatar initials unified: primary 20% fill + accent letter (was primary-on-primary at 2.4-3.7:1 in five drifting recipes). - progressBackground merged into cardHoverColor so the violet fill clears the 3:1 component floor; delete-profile confirm uses the onError ink (white on errorColor was 2.6:1); unsubscribe border alpha raised; in-button busy spinners get a legible explicit color. Green re-homed as signal: - Watch-progress slivers on thumbnails + the spotlight resume bar use a new watchProgressColor (= successColor): green owns "how far you are" while the interactive player scrubber stays violet. - Watched checkmarks demoted from lime to muted metadata (dozens of green dots per list diluted the signal); channel membership pill demoted (state, not a moment) while a Resume button gets a lime play icon; settings shows one green per event; add-profile gains a PROFILE FOUND lime pill when a lookup succeeds. - The 6%-alpha lime ambient glow is repainted violet — green is never wallpaper. Both backdrop glows now derive from theme tokens. Token hygiene: infoColor + violetDeepColor tokens replace stranded hexes in the badge maps and fallback gradients (amber near-duplicate merged into warningColor); selectionFill shared by nav bar, rail, chips, and the desktop sidebar; dialogs and sheets standardize on cardColor at the theme with all ten per-call overrides removed. Test: the import happy-path test scrolls suggestions into view before tapping (the new pill shifts them below the test viewport). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
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.
Summary
A full color-scheme audit (8 auditors over every screen/widget + 3 design-critic passes with WCAG math verified) applying one doctrine:
primaryColor(7C4DFF) paints fills/borders/interactive surfaces;accentColor(B388FF) is the only violet used as small text — primary tops out at ~4.1:1 and failed the 4.5:1 AA floor in 20+ places (eyebrows, text buttons, snackbar actions, avatar initials, scrub timestamps).Highlights
AppStatusPillgains anonImagevariant with an opaque dark backing; the spotlight pill becomes Home's lime moment. Discover's FOR YOU pill had the same on-image bug and gets the same backing.watchProgressColor; interactive player scrubber stays violet. Watched checkmarks demoted to muted (dozens of lime dots per list diluted the signal); membership pill demoted; the 6%-alpha lime ambient glow repainted violet — green is never wallpaper.infoColor,violetDeepColor,selectionFilltokens replace stranded hexes; dialogs/sheets standardize oncardColorat the theme (ten per-call overrides deleted).Test plan
flutter analyze --fatal-infos --fatal-warnings— cleanflutter test— 227 passing (two consecutive clean full runs)catalog_cache_fallback_testflaked once during local runs (async, pre-existing, unrelated to this change)🤖 Generated with Claude Code