feat(ui): add accent-color picker to first-run onboarding - #11910
Conversation
Onboarding previously left every new user stuck on the default brand orange — there was no accent picker anywhere (Appearance settings only exposed theme mode). This adds a small, skippable "make it yours" accent step to the in-chat first-run conductor at wrap-up, and mirrors the same control in Settings › Appearance so accent becomes a real, reusable, persisted preference. - New curated ACCENT_PRESETS (never blue, brand rule #8796) as the single source of truth shared by onboarding + Settings. - persistence: loadUiAccentId/saveUiAccentId + applyUiAccent, which overrides the --accent family inline (winning over base.css / any host brand theme) and derives rgb/hover/muted/subtle; the `default` preset clears the override, restoring the brand accent. - useDisplayPreferences: uiAccentId state + setUiAccent, applied live and persisted (same store/path Settings' theme mode uses); wired through AppContext + AppState/AppContextValue types. - Onboarding: an accent CHOICE is seeded alongside the tutorial prompt, so it never gates completion (a user who ignores it just taps a tutorial option). Picking a swatch calls the shared setUiAccent. - Settings › Appearance: a swatch grid driving the same preference. - Tests: applyUiAccent derivation + clear, store persist/restore/normalize, and the conductor seeding/handling the accent pick without gating finish. Closes #11892 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
|
Claude encountered an error —— View job I'll analyze this and get back to you. |
Supersedes #11893. Closes #11892.
Summary
Validation
Evidence
N/A: real-LLM trajectories (client-side UI preference only); audio (no voice change).