fix(interfaces): pin deployed chat + resume to light mode, emcn-only components#5336
fix(interfaces): pin deployed chat + resume to light mode, emcn-only components#5336TheodoreSpeaks wants to merge 3 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryLow Risk Overview Across chat UI, raw The resume execution page drops the extra landing Reviewed by Cursor Bugbot for commit 862cb8c. Bugbot is set up for automated code reviews on this repo. Configure here. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit a66f4f2. Configure here.
Greptile SummaryThis PR fixes a bug where the deployed chat overlay and resume page rendered in dark mode for all visitors, because the root containers were hard-coded with
Confidence Score: 5/5Safe to merge — the change is a targeted token/class migration with no logic mutations; the theme fix is verified by the tailwind.config.ts light-island mechanism and next-themes forced-light on these routes. All changes are mechanical token and component-library substitutions. The dark → light class swap is correct: tailwind.config.ts excludes dark: variants inside .light islands, and next-themes already forces light on html for these routes, so platform tokens resolve to their light-mode values throughout the overlay. No data flow, API contracts, or business logic were touched. No files require special attention; resume-page-client.tsx has the largest surface area but the changes are purely presentational. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
TP["ThemeProvider\n(next-themes)\nforcedTheme='light'\non /chat + /resume"]
HTML["html class='light'\n(no .dark on these paths)"]
TP --> HTML
subgraph chat["Chat Overlay (fixed inset-0 z-100)"]
OLD["OLD: class='dark'\n--landing-bg / --landing-text\n(static dark colours)"]
NEW["NEW: class='light'\n--bg / --text-primary\n(platform light tokens)"]
end
subgraph tw["tailwind.config.ts darkMode"]
ISLAND["dark: variants apply inside .dark\nexcluding .light islands"]
end
HTML --> chat
NEW --> tw
tw --> TOKENS["emcn dark: variants\nsafely excluded inside .light island"]
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
TP["ThemeProvider\n(next-themes)\nforcedTheme='light'\non /chat + /resume"]
HTML["html class='light'\n(no .dark on these paths)"]
TP --> HTML
subgraph chat["Chat Overlay (fixed inset-0 z-100)"]
OLD["OLD: class='dark'\n--landing-bg / --landing-text\n(static dark colours)"]
NEW["NEW: class='light'\n--bg / --text-primary\n(platform light tokens)"]
end
subgraph tw["tailwind.config.ts darkMode"]
ISLAND["dark: variants apply inside .dark\nexcluding .light islands"]
end
HTML --> chat
NEW --> tw
tw --> TOKENS["emcn dark: variants\nsafely excluded inside .light island"]
Reviews (2): Last reviewed commit: "fix(interfaces): review feedback — formE..." | Re-trigger Greptile |
…keep overlay tint on attachment remove
|
@greptile review |
…stead of the svg asset
|
@greptile review |

Summary
darkclass and styled itself with the retired static-dark--landing-*tokens, overriding the ThemeProvider's forced-light on/chat+/resume. Overlay now pinslightand uses platform tokens — never follows the visitor themesim-landing.svgwordmark forwordmark-dark.svgin the chat header to match the light surface@/components/uiButton/Select, hand-rolled buttons in the composer/error state → emcnButton,ChipSelect,ChipInput,ChipTextareaNavbar(the interfaces shell already provides the light logo chrome), converted all inlinestyle={{}}to Tailwind + platform tokensType of Change
Testing
Tested manually.
bun run lint:check,bun run type-check,bun run check:api-validation:strict, and interfaces vitest suite all pass; no--landing-*tokens ordark:variants remain underapp/(interfaces).Checklist