Repository navigation
feat(web): add light mode with three-way theme toggle - #25
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ces, Diagnostics, Cron) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…errides Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The skill editor textarea had a hardcoded text-[#d0d0d0] that was missed in the migration sweep. Replaced with text-text-secondary. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
bg-[#1f1f2f] was an indigo-tinted dark background for selected items that rendered as near-black in light mode. Replaced with bg-[#6366f1]/10 (semi-transparent indigo) which works on both light and dark backgrounds. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Job name used hardcoded text-[#eee] (near-white), replaced with text-text - Run/Rotate buttons used text-text-dim (#999 in light mode, poor contrast), bumped to text-text-muted (#666, passes WCAG AA) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Several components had hardcoded dark hover/background colors (ClickHouse#111, #0c0c10, #141420, #1a1a22, #252530) that rendered as near-black in light mode. Replaced with semantic tokens (surface-hover, bg-sunken, etc). Affected: BashToolBlock, SidePanel, MemuPage, QuestionBlock Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Shifted colored badges from dark-mode-only palette (text-COLOR-400 on bg-COLOR-950/30) to universal mid-range palette (text-COLOR-600 on bg-COLOR-500/15). The -600 text shades have good contrast on both light and dark backgrounds, and -500/15 backgrounds create a visible tint on any surface. Affected: CronPage, SourcesPage, SkillDetailPage, DiagnosticsPage, GitHubRenderer Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Changed from bg-surface (white) to bg-bg (page background) so the sidebar blends with the page rather than standing out as bright white. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Line backgrounds: -950/25 → -500/15 (visible tint on both themes) - Text: -300/90 → -600 (readable on both light and dark backgrounds) - Gutters: -950/15 → -500/10, borders -900/30 → -500/20 - Hunk header: hardcoded dark indigo → semi-transparent #6366f1/10 Same fix applied to EditToolBlock inline diffs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
These are local planning artifacts, not intended for upstream. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.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.
Summary
@theme inline, replacing ~321 hardcoded hex values across 66 fileslocalStoragewith an inline<script>inindex.htmlto prevent flash of wrong theme on loadArchitecture
@theme inlinetokens inindex.csswith:rootdark defaults,[data-theme="light"]overrides, and@media (prefers-color-scheme: light)for system preferencethemeStore.tsmanages preference, setsdata-themeattribute on<html>ThemeToggle.tsxin NavRail — cycles Sun/Moon/Monitor iconsNew files
web/src/stores/themeStore.tsweb/src/components/Layout/ThemeToggle.tsxTest plan
npx tsc -b --noEmitpassesnpx vite buildpasses🤖 Generated with Claude Code