Skip to content

Add Light, Dark, and System theme choices to the console - #676

Merged
cursor[bot] merged 1 commit into
stagefrom
cursor/proxy-ui-add-theme-support-to-the-proxy-ui-with-three-options-light-a3ac
Oct 31, 2026
Merged

cursor[bot] merged 1 commit into
stagefrom
cursor/proxy-ui-add-theme-support-to-the-proxy-ui-with-three-options-light-a3ac

Conversation

@harshhsahu

Copy link
Copy Markdown
Collaborator

Summary

The console can now be Light, Dark, or System. System follows the OS color scheme and updates if that scheme changes. The choice is saved in the existing ui-settings record for 30 days, and older records that only stored light-theme or dark-theme still load.

Light, Dark, and System buttons are in the workspace top bar, the account menu, and the widget-preview sidebar. They all use the same control and the same saved preference. The page still paints with body.light-theme or body.dark-theme, so charts, Material, and Tailwind dark styles keep working. A small script in index.html applies the saved choice before Angular boots.

Left as they were

  • The public marketing site keeps its own light palette, even when the console preference is dark.
  • The widget preview toolbar still sets the embed's theme (config.theme). That is separate from the console theme.
  • The default for someone with no saved preference is still light.
  • The chatbot still receives the resolved light or dark value, not the word system.

Verification

  • node --test tools/tests/*.test.cjs (35 passing, including theme preference, legacy records, expiry, and the boot script)
  • git diff --check
  • nx build 36-blocks --configuration=development
  • nx build 36-blocks --configuration=review
  • In the review app at /app/dashboard: Light, Dark, and System are visible without opening a menu. Dark sets dark-theme and saves themePreference: "dark". Light sets light-theme. System follows prefers-color-scheme (light in the default browser, dark when that media query is emulated) and the choice survives reload. The same three buttons still work at a 390px width.
  • A saved theme: "dark-theme" record with no preference still selects Dark and keeps sideNavOpen.
  • With both dark-theme and website-active on body, the marketing shell and page background stay light (#f8f9f3) and color-scheme stays light.
  • /widget-preview/demo shows a Console theme control separate from the widget preview theme buttons. Console Dark sets dark-theme on body.
Open in Web Open in Cursor 

The workspace keeps one saved preference and still paints with the existing light or dark body class, including when System follows the OS scheme.

Co-authored-by: harsh <harshhsahu@users.noreply.github.com>
@harshhsahu

Copy link
Copy Markdown
Collaborator Author

Requested by Natwar Rathor · req_a49bbdac
Add theme support to proxy UI

i want to build the feature that is give a support of theme on the proxy ui means i want to three theme button one is light dark and system on the ui

Added automatically by the AI middleware.

@cursor
cursor Bot merged commit 83d8a27 into stage Oct 31, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants